Average Error: 0.0 → 0.0
Time: 12.8s
Precision: 64
\[0.70711 \cdot \left(\frac{2.30753 + x \cdot 0.27061}{1.0 + x \cdot \left(0.99229 + x \cdot 0.04481\right)} - x\right)\]
\[0.70711 \cdot \left(\frac{2.30753 + x \cdot 0.27061}{1.0 + x \cdot \left(\sqrt[3]{x \cdot 0.04481 + 0.99229} \cdot \left(\sqrt[3]{x \cdot 0.04481 + 0.99229} \cdot \sqrt[3]{x \cdot 0.04481 + 0.99229}\right)\right)} - x\right)\]
0.70711 \cdot \left(\frac{2.30753 + x \cdot 0.27061}{1.0 + x \cdot \left(0.99229 + x \cdot 0.04481\right)} - x\right)
0.70711 \cdot \left(\frac{2.30753 + x \cdot 0.27061}{1.0 + x \cdot \left(\sqrt[3]{x \cdot 0.04481 + 0.99229} \cdot \left(\sqrt[3]{x \cdot 0.04481 + 0.99229} \cdot \sqrt[3]{x \cdot 0.04481 + 0.99229}\right)\right)} - x\right)
double f(double x) {
        double r4828744 = 0.70711;
        double r4828745 = 2.30753;
        double r4828746 = x;
        double r4828747 = 0.27061;
        double r4828748 = r4828746 * r4828747;
        double r4828749 = r4828745 + r4828748;
        double r4828750 = 1.0;
        double r4828751 = 0.99229;
        double r4828752 = 0.04481;
        double r4828753 = r4828746 * r4828752;
        double r4828754 = r4828751 + r4828753;
        double r4828755 = r4828746 * r4828754;
        double r4828756 = r4828750 + r4828755;
        double r4828757 = r4828749 / r4828756;
        double r4828758 = r4828757 - r4828746;
        double r4828759 = r4828744 * r4828758;
        return r4828759;
}

double f(double x) {
        double r4828760 = 0.70711;
        double r4828761 = 2.30753;
        double r4828762 = x;
        double r4828763 = 0.27061;
        double r4828764 = r4828762 * r4828763;
        double r4828765 = r4828761 + r4828764;
        double r4828766 = 1.0;
        double r4828767 = 0.04481;
        double r4828768 = r4828762 * r4828767;
        double r4828769 = 0.99229;
        double r4828770 = r4828768 + r4828769;
        double r4828771 = cbrt(r4828770);
        double r4828772 = r4828771 * r4828771;
        double r4828773 = r4828771 * r4828772;
        double r4828774 = r4828762 * r4828773;
        double r4828775 = r4828766 + r4828774;
        double r4828776 = r4828765 / r4828775;
        double r4828777 = r4828776 - r4828762;
        double r4828778 = r4828760 * r4828777;
        return r4828778;
}

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.70711 \cdot \left(\frac{2.30753 + x \cdot 0.27061}{1.0 + x \cdot \left(0.99229 + x \cdot 0.04481\right)} - x\right)\]
  2. Using strategy rm
  3. Applied add-cube-cbrt0.0

    \[\leadsto 0.70711 \cdot \left(\frac{2.30753 + x \cdot 0.27061}{1.0 + x \cdot \color{blue}{\left(\left(\sqrt[3]{0.99229 + x \cdot 0.04481} \cdot \sqrt[3]{0.99229 + x \cdot 0.04481}\right) \cdot \sqrt[3]{0.99229 + x \cdot 0.04481}\right)}} - x\right)\]
  4. Final simplification0.0

    \[\leadsto 0.70711 \cdot \left(\frac{2.30753 + x \cdot 0.27061}{1.0 + x \cdot \left(\sqrt[3]{x \cdot 0.04481 + 0.99229} \cdot \left(\sqrt[3]{x \cdot 0.04481 + 0.99229} \cdot \sqrt[3]{x \cdot 0.04481 + 0.99229}\right)\right)} - x\right)\]

Reproduce

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