Average Error: 0.0 → 0.0
Time: 21.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 + \sqrt[3]{\left(x \cdot \mathsf{fma}\left(x, 0.04481000000000000260680366181986755691469, 0.992290000000000005364597654988756403327\right)\right) \cdot \left(\left(x \cdot \mathsf{fma}\left(x, 0.04481000000000000260680366181986755691469, 0.992290000000000005364597654988756403327\right)\right) \cdot \left(x \cdot \mathsf{fma}\left(x, 0.04481000000000000260680366181986755691469, 0.992290000000000005364597654988756403327\right)\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 + \sqrt[3]{\left(x \cdot \mathsf{fma}\left(x, 0.04481000000000000260680366181986755691469, 0.992290000000000005364597654988756403327\right)\right) \cdot \left(\left(x \cdot \mathsf{fma}\left(x, 0.04481000000000000260680366181986755691469, 0.992290000000000005364597654988756403327\right)\right) \cdot \left(x \cdot \mathsf{fma}\left(x, 0.04481000000000000260680366181986755691469, 0.992290000000000005364597654988756403327\right)\right)\right)}} - x\right)
double f(double x) {
        double r4229236 = 0.70711;
        double r4229237 = 2.30753;
        double r4229238 = x;
        double r4229239 = 0.27061;
        double r4229240 = r4229238 * r4229239;
        double r4229241 = r4229237 + r4229240;
        double r4229242 = 1.0;
        double r4229243 = 0.99229;
        double r4229244 = 0.04481;
        double r4229245 = r4229238 * r4229244;
        double r4229246 = r4229243 + r4229245;
        double r4229247 = r4229238 * r4229246;
        double r4229248 = r4229242 + r4229247;
        double r4229249 = r4229241 / r4229248;
        double r4229250 = r4229249 - r4229238;
        double r4229251 = r4229236 * r4229250;
        return r4229251;
}

double f(double x) {
        double r4229252 = 0.70711;
        double r4229253 = 2.30753;
        double r4229254 = x;
        double r4229255 = 0.27061;
        double r4229256 = r4229254 * r4229255;
        double r4229257 = r4229253 + r4229256;
        double r4229258 = 1.0;
        double r4229259 = 0.04481;
        double r4229260 = 0.99229;
        double r4229261 = fma(r4229254, r4229259, r4229260);
        double r4229262 = r4229254 * r4229261;
        double r4229263 = r4229262 * r4229262;
        double r4229264 = r4229262 * r4229263;
        double r4229265 = cbrt(r4229264);
        double r4229266 = r4229258 + r4229265;
        double r4229267 = r4229257 / r4229266;
        double r4229268 = r4229267 - r4229254;
        double r4229269 = r4229252 * r4229268;
        return r4229269;
}

Error

Bits error versus x

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-cbrt-cube0.0

    \[\leadsto 0.7071100000000000163069557856942992657423 \cdot \left(\frac{2.307529999999999859028321225196123123169 + x \cdot 0.2706100000000000171951342053944244980812}{1 + x \cdot \color{blue}{\sqrt[3]{\left(\left(0.992290000000000005364597654988756403327 + x \cdot 0.04481000000000000260680366181986755691469\right) \cdot \left(0.992290000000000005364597654988756403327 + x \cdot 0.04481000000000000260680366181986755691469\right)\right) \cdot \left(0.992290000000000005364597654988756403327 + x \cdot 0.04481000000000000260680366181986755691469\right)}}} - x\right)\]
  4. Applied add-cbrt-cube0.0

    \[\leadsto 0.7071100000000000163069557856942992657423 \cdot \left(\frac{2.307529999999999859028321225196123123169 + x \cdot 0.2706100000000000171951342053944244980812}{1 + \color{blue}{\sqrt[3]{\left(x \cdot x\right) \cdot x}} \cdot \sqrt[3]{\left(\left(0.992290000000000005364597654988756403327 + x \cdot 0.04481000000000000260680366181986755691469\right) \cdot \left(0.992290000000000005364597654988756403327 + x \cdot 0.04481000000000000260680366181986755691469\right)\right) \cdot \left(0.992290000000000005364597654988756403327 + x \cdot 0.04481000000000000260680366181986755691469\right)}} - x\right)\]
  5. Applied cbrt-unprod0.0

    \[\leadsto 0.7071100000000000163069557856942992657423 \cdot \left(\frac{2.307529999999999859028321225196123123169 + x \cdot 0.2706100000000000171951342053944244980812}{1 + \color{blue}{\sqrt[3]{\left(\left(x \cdot x\right) \cdot x\right) \cdot \left(\left(\left(0.992290000000000005364597654988756403327 + x \cdot 0.04481000000000000260680366181986755691469\right) \cdot \left(0.992290000000000005364597654988756403327 + x \cdot 0.04481000000000000260680366181986755691469\right)\right) \cdot \left(0.992290000000000005364597654988756403327 + x \cdot 0.04481000000000000260680366181986755691469\right)\right)}}} - x\right)\]
  6. Simplified0.0

    \[\leadsto 0.7071100000000000163069557856942992657423 \cdot \left(\frac{2.307529999999999859028321225196123123169 + x \cdot 0.2706100000000000171951342053944244980812}{1 + \sqrt[3]{\color{blue}{\left(x \cdot \mathsf{fma}\left(x, 0.04481000000000000260680366181986755691469, 0.992290000000000005364597654988756403327\right)\right) \cdot \left(\left(x \cdot \mathsf{fma}\left(x, 0.04481000000000000260680366181986755691469, 0.992290000000000005364597654988756403327\right)\right) \cdot \left(x \cdot \mathsf{fma}\left(x, 0.04481000000000000260680366181986755691469, 0.992290000000000005364597654988756403327\right)\right)\right)}}} - x\right)\]
  7. Final simplification0.0

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

Reproduce

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