Average Error: 0.0 → 0.0
Time: 14.2s
Precision: 64
\[0.707110000000000016 \cdot \left(\frac{2.30753 + x \cdot 0.27061000000000002}{1 + x \cdot \left(0.992290000000000005 + x \cdot 0.044810000000000003\right)} - x\right)\]
\[0.707110000000000016 \cdot \left(\frac{2.30753 + x \cdot 0.27061000000000002}{1 + \left(x \cdot \left(\sqrt[3]{0.992290000000000005 + x \cdot 0.044810000000000003} \cdot \sqrt[3]{0.992290000000000005 + x \cdot 0.044810000000000003}\right)\right) \cdot \sqrt[3]{0.992290000000000005 + x \cdot 0.044810000000000003}} - x\right)\]
0.707110000000000016 \cdot \left(\frac{2.30753 + x \cdot 0.27061000000000002}{1 + x \cdot \left(0.992290000000000005 + x \cdot 0.044810000000000003\right)} - x\right)
0.707110000000000016 \cdot \left(\frac{2.30753 + x \cdot 0.27061000000000002}{1 + \left(x \cdot \left(\sqrt[3]{0.992290000000000005 + x \cdot 0.044810000000000003} \cdot \sqrt[3]{0.992290000000000005 + x \cdot 0.044810000000000003}\right)\right) \cdot \sqrt[3]{0.992290000000000005 + x \cdot 0.044810000000000003}} - x\right)
double f(double x) {
        double r122341 = 0.70711;
        double r122342 = 2.30753;
        double r122343 = x;
        double r122344 = 0.27061;
        double r122345 = r122343 * r122344;
        double r122346 = r122342 + r122345;
        double r122347 = 1.0;
        double r122348 = 0.99229;
        double r122349 = 0.04481;
        double r122350 = r122343 * r122349;
        double r122351 = r122348 + r122350;
        double r122352 = r122343 * r122351;
        double r122353 = r122347 + r122352;
        double r122354 = r122346 / r122353;
        double r122355 = r122354 - r122343;
        double r122356 = r122341 * r122355;
        return r122356;
}

double f(double x) {
        double r122357 = 0.70711;
        double r122358 = 2.30753;
        double r122359 = x;
        double r122360 = 0.27061;
        double r122361 = r122359 * r122360;
        double r122362 = r122358 + r122361;
        double r122363 = 1.0;
        double r122364 = 0.99229;
        double r122365 = 0.04481;
        double r122366 = r122359 * r122365;
        double r122367 = r122364 + r122366;
        double r122368 = cbrt(r122367);
        double r122369 = r122368 * r122368;
        double r122370 = r122359 * r122369;
        double r122371 = r122370 * r122368;
        double r122372 = r122363 + r122371;
        double r122373 = r122362 / r122372;
        double r122374 = r122373 - r122359;
        double r122375 = r122357 * r122374;
        return r122375;
}

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.707110000000000016 \cdot \left(\frac{2.30753 + x \cdot 0.27061000000000002}{1 + x \cdot \left(0.992290000000000005 + x \cdot 0.044810000000000003\right)} - x\right)\]
  2. Using strategy rm
  3. Applied add-cube-cbrt0.0

    \[\leadsto 0.707110000000000016 \cdot \left(\frac{2.30753 + x \cdot 0.27061000000000002}{1 + x \cdot \color{blue}{\left(\left(\sqrt[3]{0.992290000000000005 + x \cdot 0.044810000000000003} \cdot \sqrt[3]{0.992290000000000005 + x \cdot 0.044810000000000003}\right) \cdot \sqrt[3]{0.992290000000000005 + x \cdot 0.044810000000000003}\right)}} - x\right)\]
  4. Applied associate-*r*0.0

    \[\leadsto 0.707110000000000016 \cdot \left(\frac{2.30753 + x \cdot 0.27061000000000002}{1 + \color{blue}{\left(x \cdot \left(\sqrt[3]{0.992290000000000005 + x \cdot 0.044810000000000003} \cdot \sqrt[3]{0.992290000000000005 + x \cdot 0.044810000000000003}\right)\right) \cdot \sqrt[3]{0.992290000000000005 + x \cdot 0.044810000000000003}}} - x\right)\]
  5. Final simplification0.0

    \[\leadsto 0.707110000000000016 \cdot \left(\frac{2.30753 + x \cdot 0.27061000000000002}{1 + \left(x \cdot \left(\sqrt[3]{0.992290000000000005 + x \cdot 0.044810000000000003} \cdot \sqrt[3]{0.992290000000000005 + x \cdot 0.044810000000000003}\right)\right) \cdot \sqrt[3]{0.992290000000000005 + x \cdot 0.044810000000000003}} - x\right)\]

Reproduce

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