Average Error: 0.0 → 0.0
Time: 6.3s
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 r2146796 = 2.30753;
        double r2146797 = x;
        double r2146798 = 0.27061;
        double r2146799 = r2146797 * r2146798;
        double r2146800 = r2146796 + r2146799;
        double r2146801 = 1.0;
        double r2146802 = 0.99229;
        double r2146803 = 0.04481;
        double r2146804 = r2146797 * r2146803;
        double r2146805 = r2146802 + r2146804;
        double r2146806 = r2146797 * r2146805;
        double r2146807 = r2146801 + r2146806;
        double r2146808 = r2146800 / r2146807;
        double r2146809 = r2146808 - r2146797;
        return r2146809;
}

double f(double x) {
        double r2146810 = x;
        double r2146811 = 0.27061;
        double r2146812 = 2.30753;
        double r2146813 = fma(r2146810, r2146811, r2146812);
        double r2146814 = 0.04481;
        double r2146815 = 0.99229;
        double r2146816 = fma(r2146810, r2146814, r2146815);
        double r2146817 = 1.0;
        double r2146818 = fma(r2146816, r2146810, r2146817);
        double r2146819 = r2146813 / r2146818;
        double r2146820 = r2146819 - r2146810;
        return r2146820;
}

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 2019168 +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))