Average Error: 0.4 → 0.4
Time: 18.9s
Precision: 64
\[\left(3 \cdot \sqrt{x}\right) \cdot \left(\left(y + \frac{1}{x \cdot 9}\right) - 1\right)\]
\[\left(3 \cdot \sqrt{x}\right) \cdot \left(\left(-1\right) + 1\right) + \left(1 \cdot \left(-3 \cdot \sqrt{x}\right) + \left(3 \cdot \sqrt{x}\right) \cdot \left(y + \frac{1}{9 \cdot x}\right)\right)\]
\left(3 \cdot \sqrt{x}\right) \cdot \left(\left(y + \frac{1}{x \cdot 9}\right) - 1\right)
\left(3 \cdot \sqrt{x}\right) \cdot \left(\left(-1\right) + 1\right) + \left(1 \cdot \left(-3 \cdot \sqrt{x}\right) + \left(3 \cdot \sqrt{x}\right) \cdot \left(y + \frac{1}{9 \cdot x}\right)\right)
double f(double x, double y) {
        double r302958 = 3.0;
        double r302959 = x;
        double r302960 = sqrt(r302959);
        double r302961 = r302958 * r302960;
        double r302962 = y;
        double r302963 = 1.0;
        double r302964 = 9.0;
        double r302965 = r302959 * r302964;
        double r302966 = r302963 / r302965;
        double r302967 = r302962 + r302966;
        double r302968 = r302967 - r302963;
        double r302969 = r302961 * r302968;
        return r302969;
}

double f(double x, double y) {
        double r302970 = 3.0;
        double r302971 = x;
        double r302972 = sqrt(r302971);
        double r302973 = r302970 * r302972;
        double r302974 = 1.0;
        double r302975 = -r302974;
        double r302976 = r302975 + r302974;
        double r302977 = r302973 * r302976;
        double r302978 = -r302973;
        double r302979 = r302974 * r302978;
        double r302980 = y;
        double r302981 = 9.0;
        double r302982 = r302981 * r302971;
        double r302983 = r302974 / r302982;
        double r302984 = r302980 + r302983;
        double r302985 = r302973 * r302984;
        double r302986 = r302979 + r302985;
        double r302987 = r302977 + r302986;
        return r302987;
}

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.4
\[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-sqr-sqrt0.4

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

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

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

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

    \[\leadsto \left(3 \cdot \sqrt{x}\right) \cdot \color{blue}{\left(\mathsf{fma}\left(\sqrt{y + \frac{\sqrt{1}}{x} \cdot \frac{\sqrt{1}}{9}}, \sqrt{y + \frac{\sqrt{1}}{x} \cdot \frac{\sqrt{1}}{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)}\]
  9. Applied distribute-lft-in15.7

    \[\leadsto \color{blue}{\left(3 \cdot \sqrt{x}\right) \cdot \mathsf{fma}\left(\sqrt{y + \frac{\sqrt{1}}{x} \cdot \frac{\sqrt{1}}{9}}, \sqrt{y + \frac{\sqrt{1}}{x} \cdot \frac{\sqrt{1}}{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)}\]
  10. Simplified0.4

    \[\leadsto \color{blue}{\sqrt{x} \cdot \left(3 \cdot \left(\left(y + \frac{\frac{1}{9}}{x}\right) + \left(-1\right)\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)\]
  11. Simplified0.4

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

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

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

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

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

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

Reproduce

herbie shell --seed 2019196 +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)))