Average Error: 0.0 → 0.0
Time: 4.5s
Precision: 64
\[\frac{2.30753 + x \cdot 0.27061000000000002}{1 + x \cdot \left(0.992290000000000005 + x \cdot 0.044810000000000003\right)} - x\]
\[\frac{\mathsf{fma}\left(x, 0.27061000000000002, 2.30753\right)}{\mathsf{fma}\left(x, \mathsf{fma}\left(0.044810000000000003, x, 0.992290000000000005\right), 1\right)} - x\]
\frac{2.30753 + x \cdot 0.27061000000000002}{1 + x \cdot \left(0.992290000000000005 + x \cdot 0.044810000000000003\right)} - x
\frac{\mathsf{fma}\left(x, 0.27061000000000002, 2.30753\right)}{\mathsf{fma}\left(x, \mathsf{fma}\left(0.044810000000000003, x, 0.992290000000000005\right), 1\right)} - x
double f(double x) {
        double r55867 = 2.30753;
        double r55868 = x;
        double r55869 = 0.27061;
        double r55870 = r55868 * r55869;
        double r55871 = r55867 + r55870;
        double r55872 = 1.0;
        double r55873 = 0.99229;
        double r55874 = 0.04481;
        double r55875 = r55868 * r55874;
        double r55876 = r55873 + r55875;
        double r55877 = r55868 * r55876;
        double r55878 = r55872 + r55877;
        double r55879 = r55871 / r55878;
        double r55880 = r55879 - r55868;
        return r55880;
}

double f(double x) {
        double r55881 = x;
        double r55882 = 0.27061;
        double r55883 = 2.30753;
        double r55884 = fma(r55881, r55882, r55883);
        double r55885 = 0.04481;
        double r55886 = 0.99229;
        double r55887 = fma(r55885, r55881, r55886);
        double r55888 = 1.0;
        double r55889 = fma(r55881, r55887, r55888);
        double r55890 = r55884 / r55889;
        double r55891 = r55890 - r55881;
        return r55891;
}

Error

Bits error versus x

Derivation

  1. Initial program 0.0

    \[\frac{2.30753 + x \cdot 0.27061000000000002}{1 + x \cdot \left(0.992290000000000005 + x \cdot 0.044810000000000003\right)} - x\]
  2. Simplified0.0

    \[\leadsto \color{blue}{\frac{\mathsf{fma}\left(x, 0.27061000000000002, 2.30753\right)}{\mathsf{fma}\left(x, \mathsf{fma}\left(0.044810000000000003, x, 0.992290000000000005\right), 1\right)} - x}\]
  3. Final simplification0.0

    \[\leadsto \frac{\mathsf{fma}\left(x, 0.27061000000000002, 2.30753\right)}{\mathsf{fma}\left(x, \mathsf{fma}\left(0.044810000000000003, x, 0.992290000000000005\right), 1\right)} - x\]

Reproduce

herbie shell --seed 2019199 +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))