Average Error: 0.2 → 0.2
Time: 12.3s
Precision: 64
\[\left(1 - \frac{1}{x \cdot 9}\right) - \frac{y}{3 \cdot \sqrt{x}}\]
\[\mathsf{fma}\left(1, 1 - \frac{1}{x \cdot 9}, \frac{-\frac{y}{\sqrt{x}}}{3}\right)\]
\left(1 - \frac{1}{x \cdot 9}\right) - \frac{y}{3 \cdot \sqrt{x}}
\mathsf{fma}\left(1, 1 - \frac{1}{x \cdot 9}, \frac{-\frac{y}{\sqrt{x}}}{3}\right)
double f(double x, double y) {
        double r540219 = 1.0;
        double r540220 = x;
        double r540221 = 9.0;
        double r540222 = r540220 * r540221;
        double r540223 = r540219 / r540222;
        double r540224 = r540219 - r540223;
        double r540225 = y;
        double r540226 = 3.0;
        double r540227 = sqrt(r540220);
        double r540228 = r540226 * r540227;
        double r540229 = r540225 / r540228;
        double r540230 = r540224 - r540229;
        return r540230;
}

double f(double x, double y) {
        double r540231 = 1.0;
        double r540232 = 1.0;
        double r540233 = x;
        double r540234 = 9.0;
        double r540235 = r540233 * r540234;
        double r540236 = r540232 / r540235;
        double r540237 = r540232 - r540236;
        double r540238 = y;
        double r540239 = sqrt(r540233);
        double r540240 = r540238 / r540239;
        double r540241 = -r540240;
        double r540242 = 3.0;
        double r540243 = r540241 / r540242;
        double r540244 = fma(r540231, r540237, r540243);
        return r540244;
}

Error

Bits error versus x

Bits error versus y

Target

Original0.2
Target0.2
Herbie0.2
\[\left(1 - \frac{\frac{1}{x}}{9}\right) - \frac{y}{3 \cdot \sqrt{x}}\]

Derivation

  1. Initial program 0.2

    \[\left(1 - \frac{1}{x \cdot 9}\right) - \frac{y}{3 \cdot \sqrt{x}}\]
  2. Using strategy rm
  3. Applied *-un-lft-identity0.2

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

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

    \[\leadsto \mathsf{fma}\left(1, 1 - \frac{1}{x \cdot 9}, \color{blue}{\frac{-\frac{y}{\sqrt{x}}}{3}}\right)\]
  6. Final simplification0.2

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

Reproduce

herbie shell --seed 2020042 +o rules:numerics
(FPCore (x y)
  :name "Numeric.SpecFunctions:invIncompleteGamma from math-functions-0.1.5.2, D"
  :precision binary64

  :herbie-target
  (- (- 1 (/ (/ 1 x) 9)) (/ y (* 3 (sqrt x))))

  (- (- 1 (/ 1 (* x 9))) (/ y (* 3 (sqrt x)))))