Average Error: 0.0 → 0.0
Time: 21.6s
Precision: 64
\[0.707110000000000016 \cdot \left(\frac{2.30753 + x \cdot 0.27061000000000002}{1 + x \cdot \left(0.992290000000000005 + x \cdot 0.044810000000000003\right)} - x\right)\]
\[0.707110000000000016 \cdot \left(\frac{2.30753 + x \cdot 0.27061000000000002}{1 + x \cdot \left(0.992290000000000005 + x \cdot 0.044810000000000003\right)} - x\right)\]
0.707110000000000016 \cdot \left(\frac{2.30753 + x \cdot 0.27061000000000002}{1 + x \cdot \left(0.992290000000000005 + x \cdot 0.044810000000000003\right)} - x\right)
0.707110000000000016 \cdot \left(\frac{2.30753 + x \cdot 0.27061000000000002}{1 + x \cdot \left(0.992290000000000005 + x \cdot 0.044810000000000003\right)} - x\right)
double f(double x) {
        double r96525 = 0.70711;
        double r96526 = 2.30753;
        double r96527 = x;
        double r96528 = 0.27061;
        double r96529 = r96527 * r96528;
        double r96530 = r96526 + r96529;
        double r96531 = 1.0;
        double r96532 = 0.99229;
        double r96533 = 0.04481;
        double r96534 = r96527 * r96533;
        double r96535 = r96532 + r96534;
        double r96536 = r96527 * r96535;
        double r96537 = r96531 + r96536;
        double r96538 = r96530 / r96537;
        double r96539 = r96538 - r96527;
        double r96540 = r96525 * r96539;
        return r96540;
}

double f(double x) {
        double r96541 = 0.70711;
        double r96542 = 2.30753;
        double r96543 = x;
        double r96544 = 0.27061;
        double r96545 = r96543 * r96544;
        double r96546 = r96542 + r96545;
        double r96547 = 1.0;
        double r96548 = 0.99229;
        double r96549 = 0.04481;
        double r96550 = r96543 * r96549;
        double r96551 = r96548 + r96550;
        double r96552 = r96543 * r96551;
        double r96553 = r96547 + r96552;
        double r96554 = r96546 / r96553;
        double r96555 = r96554 - r96543;
        double r96556 = r96541 * r96555;
        return r96556;
}

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

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

    \[\leadsto 0.707110000000000016 \cdot \left(\frac{2.30753 + x \cdot 0.27061000000000002}{1 + x \cdot \left(0.992290000000000005 + x \cdot 0.044810000000000003\right)} - x\right)\]

Reproduce

herbie shell --seed 2020042 +o rules:numerics
(FPCore (x)
  :name "Numeric.SpecFunctions:invErfc from math-functions-0.1.5.2, B"
  :precision binary64
  (* 0.70711 (- (/ (+ 2.30753 (* x 0.27061)) (+ 1 (* x (+ 0.99229 (* x 0.04481))))) x)))