Average Error: 0.0 → 0.2
Time: 24.5s
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 r73290 = 0.70711;
        double r73291 = 2.30753;
        double r73292 = x;
        double r73293 = 0.27061;
        double r73294 = r73292 * r73293;
        double r73295 = r73291 + r73294;
        double r73296 = 1.0;
        double r73297 = 0.99229;
        double r73298 = 0.04481;
        double r73299 = r73292 * r73298;
        double r73300 = r73297 + r73299;
        double r73301 = r73292 * r73300;
        double r73302 = r73296 + r73301;
        double r73303 = r73295 / r73302;
        double r73304 = r73303 - r73292;
        double r73305 = r73290 * r73304;
        return r73305;
}

double f(double x) {
        double r73306 = 0.70711;
        double r73307 = 2.30753;
        double r73308 = x;
        double r73309 = 0.27061;
        double r73310 = r73308 * r73309;
        double r73311 = r73307 + r73310;
        double r73312 = 1.0;
        double r73313 = 0.99229;
        double r73314 = 0.04481;
        double r73315 = r73308 * r73314;
        double r73316 = r73313 + r73315;
        double r73317 = r73308 * r73316;
        double r73318 = exp(r73317);
        double r73319 = log(r73318);
        double r73320 = r73312 + r73319;
        double r73321 = r73311 / r73320;
        double r73322 = r73321 - r73308;
        double r73323 = r73306 * r73322;
        return r73323;
}

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)))