Average Error: 0.4 → 0.5
Time: 22.7s
Precision: 64
\[\left(3.0 \cdot \sqrt{x}\right) \cdot \left(\left(y + \frac{1.0}{x \cdot 9.0}\right) - 1.0\right)\]
\[\sqrt{x} \cdot \left(3.0 \cdot y\right) + \left(\sqrt{x} \cdot \left(\frac{\frac{1.0}{x}}{9.0} - 1.0\right)\right) \cdot 3.0\]
\left(3.0 \cdot \sqrt{x}\right) \cdot \left(\left(y + \frac{1.0}{x \cdot 9.0}\right) - 1.0\right)
\sqrt{x} \cdot \left(3.0 \cdot y\right) + \left(\sqrt{x} \cdot \left(\frac{\frac{1.0}{x}}{9.0} - 1.0\right)\right) \cdot 3.0
double f(double x, double y) {
        double r24385740 = 3.0;
        double r24385741 = x;
        double r24385742 = sqrt(r24385741);
        double r24385743 = r24385740 * r24385742;
        double r24385744 = y;
        double r24385745 = 1.0;
        double r24385746 = 9.0;
        double r24385747 = r24385741 * r24385746;
        double r24385748 = r24385745 / r24385747;
        double r24385749 = r24385744 + r24385748;
        double r24385750 = r24385749 - r24385745;
        double r24385751 = r24385743 * r24385750;
        return r24385751;
}

double f(double x, double y) {
        double r24385752 = x;
        double r24385753 = sqrt(r24385752);
        double r24385754 = 3.0;
        double r24385755 = y;
        double r24385756 = r24385754 * r24385755;
        double r24385757 = r24385753 * r24385756;
        double r24385758 = 1.0;
        double r24385759 = r24385758 / r24385752;
        double r24385760 = 9.0;
        double r24385761 = r24385759 / r24385760;
        double r24385762 = r24385761 - r24385758;
        double r24385763 = r24385753 * r24385762;
        double r24385764 = r24385763 * r24385754;
        double r24385765 = r24385757 + r24385764;
        return r24385765;
}

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.0 \cdot \left(y \cdot \sqrt{x} + \left(\frac{1.0}{x \cdot 9.0} - 1.0\right) \cdot \sqrt{x}\right)\]

Derivation

  1. Initial program 0.4

    \[\left(3.0 \cdot \sqrt{x}\right) \cdot \left(\left(y + \frac{1.0}{x \cdot 9.0}\right) - 1.0\right)\]
  2. Using strategy rm
  3. Applied associate-*l*0.4

    \[\leadsto \color{blue}{3.0 \cdot \left(\sqrt{x} \cdot \left(\left(y + \frac{1.0}{x \cdot 9.0}\right) - 1.0\right)\right)}\]
  4. Using strategy rm
  5. Applied add-cube-cbrt0.4

    \[\leadsto \color{blue}{\left(\left(\sqrt[3]{3.0} \cdot \sqrt[3]{3.0}\right) \cdot \sqrt[3]{3.0}\right)} \cdot \left(\sqrt{x} \cdot \left(\left(y + \frac{1.0}{x \cdot 9.0}\right) - 1.0\right)\right)\]
  6. Applied associate-*l*0.6

    \[\leadsto \color{blue}{\left(\sqrt[3]{3.0} \cdot \sqrt[3]{3.0}\right) \cdot \left(\sqrt[3]{3.0} \cdot \left(\sqrt{x} \cdot \left(\left(y + \frac{1.0}{x \cdot 9.0}\right) - 1.0\right)\right)\right)}\]
  7. Using strategy rm
  8. Applied associate--l+0.6

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

    \[\leadsto \left(\sqrt[3]{3.0} \cdot \sqrt[3]{3.0}\right) \cdot \left(\sqrt[3]{3.0} \cdot \color{blue}{\left(\sqrt{x} \cdot y + \sqrt{x} \cdot \left(\frac{1.0}{x \cdot 9.0} - 1.0\right)\right)}\right)\]
  10. Applied distribute-lft-in0.6

    \[\leadsto \left(\sqrt[3]{3.0} \cdot \sqrt[3]{3.0}\right) \cdot \color{blue}{\left(\sqrt[3]{3.0} \cdot \left(\sqrt{x} \cdot y\right) + \sqrt[3]{3.0} \cdot \left(\sqrt{x} \cdot \left(\frac{1.0}{x \cdot 9.0} - 1.0\right)\right)\right)}\]
  11. Applied distribute-lft-in0.6

    \[\leadsto \color{blue}{\left(\sqrt[3]{3.0} \cdot \sqrt[3]{3.0}\right) \cdot \left(\sqrt[3]{3.0} \cdot \left(\sqrt{x} \cdot y\right)\right) + \left(\sqrt[3]{3.0} \cdot \sqrt[3]{3.0}\right) \cdot \left(\sqrt[3]{3.0} \cdot \left(\sqrt{x} \cdot \left(\frac{1.0}{x \cdot 9.0} - 1.0\right)\right)\right)}\]
  12. Simplified0.5

    \[\leadsto \color{blue}{\left(3.0 \cdot y\right) \cdot \sqrt{x}} + \left(\sqrt[3]{3.0} \cdot \sqrt[3]{3.0}\right) \cdot \left(\sqrt[3]{3.0} \cdot \left(\sqrt{x} \cdot \left(\frac{1.0}{x \cdot 9.0} - 1.0\right)\right)\right)\]
  13. Simplified0.5

    \[\leadsto \left(3.0 \cdot y\right) \cdot \sqrt{x} + \color{blue}{3.0 \cdot \left(\left(\frac{\frac{1.0}{x}}{9.0} - 1.0\right) \cdot \sqrt{x}\right)}\]
  14. Final simplification0.5

    \[\leadsto \sqrt{x} \cdot \left(3.0 \cdot y\right) + \left(\sqrt{x} \cdot \left(\frac{\frac{1.0}{x}}{9.0} - 1.0\right)\right) \cdot 3.0\]

Reproduce

herbie shell --seed 2019163 +o rules:numerics
(FPCore (x y)
  :name "Numeric.SpecFunctions:incompleteGamma from math-functions-0.1.5.2, B"

  :herbie-target
  (* 3.0 (+ (* y (sqrt x)) (* (- (/ 1.0 (* x 9.0)) 1.0) (sqrt x))))

  (* (* 3.0 (sqrt x)) (- (+ y (/ 1.0 (* x 9.0))) 1.0)))