Average Error: 0.4 → 0.5
Time: 17.4s
Precision: 64
\[\left(3 \cdot \sqrt{x}\right) \cdot \left(\left(y + \frac{1}{x \cdot 9}\right) - 1\right)\]
\[\sqrt{x} \cdot \left(\left(\left(y + \frac{1}{x \cdot 9}\right) - 1\right) \cdot 3\right) + \left(3 \cdot \sqrt{x}\right) \cdot \left(1 \cdot 0\right)\]
\left(3 \cdot \sqrt{x}\right) \cdot \left(\left(y + \frac{1}{x \cdot 9}\right) - 1\right)
\sqrt{x} \cdot \left(\left(\left(y + \frac{1}{x \cdot 9}\right) - 1\right) \cdot 3\right) + \left(3 \cdot \sqrt{x}\right) \cdot \left(1 \cdot 0\right)
double f(double x, double y) {
        double r397581 = 3.0;
        double r397582 = x;
        double r397583 = sqrt(r397582);
        double r397584 = r397581 * r397583;
        double r397585 = y;
        double r397586 = 1.0;
        double r397587 = 9.0;
        double r397588 = r397582 * r397587;
        double r397589 = r397586 / r397588;
        double r397590 = r397585 + r397589;
        double r397591 = r397590 - r397586;
        double r397592 = r397584 * r397591;
        return r397592;
}

double f(double x, double y) {
        double r397593 = x;
        double r397594 = sqrt(r397593);
        double r397595 = y;
        double r397596 = 1.0;
        double r397597 = 9.0;
        double r397598 = r397593 * r397597;
        double r397599 = r397596 / r397598;
        double r397600 = r397595 + r397599;
        double r397601 = r397600 - r397596;
        double r397602 = 3.0;
        double r397603 = r397601 * r397602;
        double r397604 = r397594 * r397603;
        double r397605 = r397602 * r397594;
        double r397606 = 0.0;
        double r397607 = r397596 * r397606;
        double r397608 = r397605 * r397607;
        double r397609 = r397604 + r397608;
        return r397609;
}

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 add-cube-cbrt0.4

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

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

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

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

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

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

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

Reproduce

herbie shell --seed 2020046 +o rules:numerics
(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)))