Average Error: 0.0 → 0.2
Time: 25.4s
Precision: 64
\[0.7071100000000000163069557856942992657423 \cdot \left(\frac{2.307529999999999859028321225196123123169 + x \cdot 0.2706100000000000171951342053944244980812}{1 + x \cdot \left(0.992290000000000005364597654988756403327 + x \cdot 0.04481000000000000260680366181986755691469\right)} - x\right)\]
\[0.7071100000000000163069557856942992657423 \cdot \left(\frac{2.307529999999999859028321225196123123169 + x \cdot 0.2706100000000000171951342053944244980812}{1 + \log \left(e^{x \cdot \left(0.992290000000000005364597654988756403327 + x \cdot 0.04481000000000000260680366181986755691469\right)}\right)} - x\right)\]
0.7071100000000000163069557856942992657423 \cdot \left(\frac{2.307529999999999859028321225196123123169 + x \cdot 0.2706100000000000171951342053944244980812}{1 + x \cdot \left(0.992290000000000005364597654988756403327 + x \cdot 0.04481000000000000260680366181986755691469\right)} - x\right)
0.7071100000000000163069557856942992657423 \cdot \left(\frac{2.307529999999999859028321225196123123169 + x \cdot 0.2706100000000000171951342053944244980812}{1 + \log \left(e^{x \cdot \left(0.992290000000000005364597654988756403327 + x \cdot 0.04481000000000000260680366181986755691469\right)}\right)} - x\right)
double f(double x) {
        double r86591 = 0.70711;
        double r86592 = 2.30753;
        double r86593 = x;
        double r86594 = 0.27061;
        double r86595 = r86593 * r86594;
        double r86596 = r86592 + r86595;
        double r86597 = 1.0;
        double r86598 = 0.99229;
        double r86599 = 0.04481;
        double r86600 = r86593 * r86599;
        double r86601 = r86598 + r86600;
        double r86602 = r86593 * r86601;
        double r86603 = r86597 + r86602;
        double r86604 = r86596 / r86603;
        double r86605 = r86604 - r86593;
        double r86606 = r86591 * r86605;
        return r86606;
}

double f(double x) {
        double r86607 = 0.70711;
        double r86608 = 2.30753;
        double r86609 = x;
        double r86610 = 0.27061;
        double r86611 = r86609 * r86610;
        double r86612 = r86608 + r86611;
        double r86613 = 1.0;
        double r86614 = 0.99229;
        double r86615 = 0.04481;
        double r86616 = r86609 * r86615;
        double r86617 = r86614 + r86616;
        double r86618 = r86609 * r86617;
        double r86619 = exp(r86618);
        double r86620 = log(r86619);
        double r86621 = r86613 + r86620;
        double r86622 = r86612 / r86621;
        double r86623 = r86622 - r86609;
        double r86624 = r86607 * r86623;
        return r86624;
}

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.7071100000000000163069557856942992657423 \cdot \left(\frac{2.307529999999999859028321225196123123169 + x \cdot 0.2706100000000000171951342053944244980812}{1 + x \cdot \left(0.992290000000000005364597654988756403327 + x \cdot 0.04481000000000000260680366181986755691469\right)} - x\right)\]
  2. Using strategy rm
  3. Applied add-log-exp0.2

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

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

Reproduce

herbie shell --seed 2019323 
(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)))