Average Error: 0.4 → 0.4
Time: 20.7s
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 y + \sqrt{x} \cdot \left(\frac{1}{x \cdot 9} - 1\right)\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 y + \sqrt{x} \cdot \left(\frac{1}{x \cdot 9} - 1\right)\right)
double f(double x, double y) {
        double r89442825 = 3.0;
        double r89442826 = x;
        double r89442827 = sqrt(r89442826);
        double r89442828 = r89442825 * r89442827;
        double r89442829 = y;
        double r89442830 = 1.0;
        double r89442831 = 9.0;
        double r89442832 = r89442826 * r89442831;
        double r89442833 = r89442830 / r89442832;
        double r89442834 = r89442829 + r89442833;
        double r89442835 = r89442834 - r89442830;
        double r89442836 = r89442828 * r89442835;
        return r89442836;
}

double f(double x, double y) {
        double r89442837 = 3.0;
        double r89442838 = x;
        double r89442839 = sqrt(r89442838);
        double r89442840 = y;
        double r89442841 = r89442839 * r89442840;
        double r89442842 = 1.0;
        double r89442843 = 9.0;
        double r89442844 = r89442838 * r89442843;
        double r89442845 = r89442842 / r89442844;
        double r89442846 = r89442845 - r89442842;
        double r89442847 = r89442839 * r89442846;
        double r89442848 = r89442841 + r89442847;
        double r89442849 = r89442837 * r89442848;
        return r89442849;
}

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 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. Final simplification0.4

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

Reproduce

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