Average Error: 0.0 → 0.0
Time: 10.8s
Precision: 64
\[\frac{2.307529999999999859028321225196123123169 + x \cdot 0.2706100000000000171951342053944244980812}{1 + x \cdot \left(0.992290000000000005364597654988756403327 + x \cdot 0.04481000000000000260680366181986755691469\right)} - x\]
\[\left(2.307529999999999859028321225196123123169 + x \cdot 0.2706100000000000171951342053944244980812\right) \cdot \frac{1}{1 + x \cdot \left(0.992290000000000005364597654988756403327 + x \cdot 0.04481000000000000260680366181986755691469\right)} - x\]
\frac{2.307529999999999859028321225196123123169 + x \cdot 0.2706100000000000171951342053944244980812}{1 + x \cdot \left(0.992290000000000005364597654988756403327 + x \cdot 0.04481000000000000260680366181986755691469\right)} - x
\left(2.307529999999999859028321225196123123169 + x \cdot 0.2706100000000000171951342053944244980812\right) \cdot \frac{1}{1 + x \cdot \left(0.992290000000000005364597654988756403327 + x \cdot 0.04481000000000000260680366181986755691469\right)} - x
double f(double x) {
        double r66999 = 2.30753;
        double r67000 = x;
        double r67001 = 0.27061;
        double r67002 = r67000 * r67001;
        double r67003 = r66999 + r67002;
        double r67004 = 1.0;
        double r67005 = 0.99229;
        double r67006 = 0.04481;
        double r67007 = r67000 * r67006;
        double r67008 = r67005 + r67007;
        double r67009 = r67000 * r67008;
        double r67010 = r67004 + r67009;
        double r67011 = r67003 / r67010;
        double r67012 = r67011 - r67000;
        return r67012;
}

double f(double x) {
        double r67013 = 2.30753;
        double r67014 = x;
        double r67015 = 0.27061;
        double r67016 = r67014 * r67015;
        double r67017 = r67013 + r67016;
        double r67018 = 1.0;
        double r67019 = 1.0;
        double r67020 = 0.99229;
        double r67021 = 0.04481;
        double r67022 = r67014 * r67021;
        double r67023 = r67020 + r67022;
        double r67024 = r67014 * r67023;
        double r67025 = r67019 + r67024;
        double r67026 = r67018 / r67025;
        double r67027 = r67017 * r67026;
        double r67028 = r67027 - r67014;
        return r67028;
}

Error

Bits error versus x

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 0.0

    \[\frac{2.307529999999999859028321225196123123169 + x \cdot 0.2706100000000000171951342053944244980812}{1 + x \cdot \left(0.992290000000000005364597654988756403327 + x \cdot 0.04481000000000000260680366181986755691469\right)} - x\]
  2. Using strategy rm
  3. Applied div-inv0.0

    \[\leadsto \color{blue}{\left(2.307529999999999859028321225196123123169 + x \cdot 0.2706100000000000171951342053944244980812\right) \cdot \frac{1}{1 + x \cdot \left(0.992290000000000005364597654988756403327 + x \cdot 0.04481000000000000260680366181986755691469\right)}} - x\]
  4. Final simplification0.0

    \[\leadsto \left(2.307529999999999859028321225196123123169 + x \cdot 0.2706100000000000171951342053944244980812\right) \cdot \frac{1}{1 + x \cdot \left(0.992290000000000005364597654988756403327 + x \cdot 0.04481000000000000260680366181986755691469\right)} - x\]

Reproduce

herbie shell --seed 2019305 
(FPCore (x)
  :name "Numeric.SpecFunctions:invIncompleteGamma from math-functions-0.1.5.2, C"
  :precision binary64
  (- (/ (+ 2.30753 (* x 0.27061000000000002)) (+ 1 (* x (+ 0.992290000000000005 (* x 0.044810000000000003))))) x))