Average Error: 0.0 → 0.0
Time: 1.9s
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 \frac{2.307529999999999859028321225196123123169 + x \cdot 0.2706100000000000171951342053944244980812}{1 + x \cdot \left(0.992290000000000005364597654988756403327 + x \cdot 0.04481000000000000260680366181986755691469\right)} + 0.7071100000000000163069557856942992657423 \cdot \left(-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 \frac{2.307529999999999859028321225196123123169 + x \cdot 0.2706100000000000171951342053944244980812}{1 + x \cdot \left(0.992290000000000005364597654988756403327 + x \cdot 0.04481000000000000260680366181986755691469\right)} + 0.7071100000000000163069557856942992657423 \cdot \left(-x\right)
double f(double x) {
        double r86482 = 0.70711;
        double r86483 = 2.30753;
        double r86484 = x;
        double r86485 = 0.27061;
        double r86486 = r86484 * r86485;
        double r86487 = r86483 + r86486;
        double r86488 = 1.0;
        double r86489 = 0.99229;
        double r86490 = 0.04481;
        double r86491 = r86484 * r86490;
        double r86492 = r86489 + r86491;
        double r86493 = r86484 * r86492;
        double r86494 = r86488 + r86493;
        double r86495 = r86487 / r86494;
        double r86496 = r86495 - r86484;
        double r86497 = r86482 * r86496;
        return r86497;
}

double f(double x) {
        double r86498 = 0.70711;
        double r86499 = 2.30753;
        double r86500 = x;
        double r86501 = 0.27061;
        double r86502 = r86500 * r86501;
        double r86503 = r86499 + r86502;
        double r86504 = 1.0;
        double r86505 = 0.99229;
        double r86506 = 0.04481;
        double r86507 = r86500 * r86506;
        double r86508 = r86505 + r86507;
        double r86509 = r86500 * r86508;
        double r86510 = r86504 + r86509;
        double r86511 = r86503 / r86510;
        double r86512 = r86498 * r86511;
        double r86513 = -r86500;
        double r86514 = r86498 * r86513;
        double r86515 = r86512 + r86514;
        return r86515;
}

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 sub-neg0.0

    \[\leadsto 0.7071100000000000163069557856942992657423 \cdot \color{blue}{\left(\frac{2.307529999999999859028321225196123123169 + x \cdot 0.2706100000000000171951342053944244980812}{1 + x \cdot \left(0.992290000000000005364597654988756403327 + x \cdot 0.04481000000000000260680366181986755691469\right)} + \left(-x\right)\right)}\]
  4. Applied distribute-lft-in0.0

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

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

Reproduce

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