Average Error: 0.0 → 0.0
Time: 8.2s
Precision: 64
\[\frac{2.30753 + x \cdot 0.27061}{1.0 + x \cdot \left(0.99229 + x \cdot 0.04481\right)} - x\]
\[\frac{\mathsf{fma}\left(x, 0.27061, 2.30753\right)}{\mathsf{fma}\left(\mathsf{fma}\left(x, 0.04481, 0.99229\right), x, 1.0\right)} - x\]
\frac{2.30753 + x \cdot 0.27061}{1.0 + x \cdot \left(0.99229 + x \cdot 0.04481\right)} - x
\frac{\mathsf{fma}\left(x, 0.27061, 2.30753\right)}{\mathsf{fma}\left(\mathsf{fma}\left(x, 0.04481, 0.99229\right), x, 1.0\right)} - x
double f(double x) {
        double r2547759 = 2.30753;
        double r2547760 = x;
        double r2547761 = 0.27061;
        double r2547762 = r2547760 * r2547761;
        double r2547763 = r2547759 + r2547762;
        double r2547764 = 1.0;
        double r2547765 = 0.99229;
        double r2547766 = 0.04481;
        double r2547767 = r2547760 * r2547766;
        double r2547768 = r2547765 + r2547767;
        double r2547769 = r2547760 * r2547768;
        double r2547770 = r2547764 + r2547769;
        double r2547771 = r2547763 / r2547770;
        double r2547772 = r2547771 - r2547760;
        return r2547772;
}

double f(double x) {
        double r2547773 = x;
        double r2547774 = 0.27061;
        double r2547775 = 2.30753;
        double r2547776 = fma(r2547773, r2547774, r2547775);
        double r2547777 = 0.04481;
        double r2547778 = 0.99229;
        double r2547779 = fma(r2547773, r2547777, r2547778);
        double r2547780 = 1.0;
        double r2547781 = fma(r2547779, r2547773, r2547780);
        double r2547782 = r2547776 / r2547781;
        double r2547783 = r2547782 - r2547773;
        return r2547783;
}

Error

Bits error versus x

Derivation

  1. Initial program 0.0

    \[\frac{2.30753 + x \cdot 0.27061}{1.0 + x \cdot \left(0.99229 + x \cdot 0.04481\right)} - x\]
  2. Simplified0.0

    \[\leadsto \color{blue}{\frac{\mathsf{fma}\left(x, 0.27061, 2.30753\right)}{\mathsf{fma}\left(\mathsf{fma}\left(x, 0.04481, 0.99229\right), x, 1.0\right)} - x}\]
  3. Final simplification0.0

    \[\leadsto \frac{\mathsf{fma}\left(x, 0.27061, 2.30753\right)}{\mathsf{fma}\left(\mathsf{fma}\left(x, 0.04481, 0.99229\right), x, 1.0\right)} - x\]

Reproduce

herbie shell --seed 2019158 +o rules:numerics
(FPCore (x)
  :name "Numeric.SpecFunctions:invIncompleteGamma from math-functions-0.1.5.2, C"
  (- (/ (+ 2.30753 (* x 0.27061)) (+ 1.0 (* x (+ 0.99229 (* x 0.04481))))) x))