Average Error: 0.4 → 0.4
Time: 1.2m
Precision: 64
\[\left(3.0 \cdot \sqrt{x}\right) \cdot \left(\left(y + \frac{1.0}{x \cdot 9.0}\right) - 1.0\right)\]
\[\left(3.0 \cdot \left(\left(y + \frac{1.0}{9.0 \cdot x}\right) - 1.0\right)\right) \cdot \sqrt{x}\]
\left(3.0 \cdot \sqrt{x}\right) \cdot \left(\left(y + \frac{1.0}{x \cdot 9.0}\right) - 1.0\right)
\left(3.0 \cdot \left(\left(y + \frac{1.0}{9.0 \cdot x}\right) - 1.0\right)\right) \cdot \sqrt{x}
double f(double x, double y) {
        double r11744415 = 3.0;
        double r11744416 = x;
        double r11744417 = sqrt(r11744416);
        double r11744418 = r11744415 * r11744417;
        double r11744419 = y;
        double r11744420 = 1.0;
        double r11744421 = 9.0;
        double r11744422 = r11744416 * r11744421;
        double r11744423 = r11744420 / r11744422;
        double r11744424 = r11744419 + r11744423;
        double r11744425 = r11744424 - r11744420;
        double r11744426 = r11744418 * r11744425;
        return r11744426;
}

double f(double x, double y) {
        double r11744427 = 3.0;
        double r11744428 = y;
        double r11744429 = 1.0;
        double r11744430 = 9.0;
        double r11744431 = x;
        double r11744432 = r11744430 * r11744431;
        double r11744433 = r11744429 / r11744432;
        double r11744434 = r11744428 + r11744433;
        double r11744435 = r11744434 - r11744429;
        double r11744436 = r11744427 * r11744435;
        double r11744437 = sqrt(r11744431);
        double r11744438 = r11744436 * r11744437;
        return r11744438;
}

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.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 *-commutative0.4

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

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

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

Reproduce

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