Average Error: 0.1 → 0.1
Time: 3.5s
Precision: 64
\[1 - x \cdot \left(0.253 + x \cdot 0.12\right)\]
\[1 - x \cdot {\left(0.253 + x \cdot 0.12\right)}^{1}\]
1 - x \cdot \left(0.253 + x \cdot 0.12\right)
1 - x \cdot {\left(0.253 + x \cdot 0.12\right)}^{1}
double f(double x) {
        double r59411 = 1.0;
        double r59412 = x;
        double r59413 = 0.253;
        double r59414 = 0.12;
        double r59415 = r59412 * r59414;
        double r59416 = r59413 + r59415;
        double r59417 = r59412 * r59416;
        double r59418 = r59411 - r59417;
        return r59418;
}

double f(double x) {
        double r59419 = 1.0;
        double r59420 = x;
        double r59421 = 0.253;
        double r59422 = 0.12;
        double r59423 = r59420 * r59422;
        double r59424 = r59421 + r59423;
        double r59425 = 1.0;
        double r59426 = pow(r59424, r59425);
        double r59427 = r59420 * r59426;
        double r59428 = r59419 - r59427;
        return r59428;
}

Error

Bits error versus x

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 0.1

    \[1 - x \cdot \left(0.253 + x \cdot 0.12\right)\]
  2. Using strategy rm
  3. Applied pow10.1

    \[\leadsto 1 - x \cdot \color{blue}{{\left(0.253 + x \cdot 0.12\right)}^{1}}\]
  4. Final simplification0.1

    \[\leadsto 1 - x \cdot {\left(0.253 + x \cdot 0.12\right)}^{1}\]

Reproduce

herbie shell --seed 2020047 +o rules:numerics
(FPCore (x)
  :name "Numeric.SpecFunctions:invIncompleteGamma from math-functions-0.1.5.2, A"
  :precision binary64
  (- 1 (* x (+ 0.253 (* x 0.12)))))