Average Error: 0.2 → 0.2
Time: 11.6s
Precision: 64
\[\left|\frac{1}{\sqrt{\pi}} \cdot \left(\left(\left(2 \cdot \left|x\right| + \frac{2}{3} \cdot \left(\left(\left|x\right| \cdot \left|x\right|\right) \cdot \left|x\right|\right)\right) + \frac{1}{5} \cdot \left(\left(\left(\left(\left|x\right| \cdot \left|x\right|\right) \cdot \left|x\right|\right) \cdot \left|x\right|\right) \cdot \left|x\right|\right)\right) + \frac{1}{21} \cdot \left(\left(\left(\left(\left(\left(\left|x\right| \cdot \left|x\right|\right) \cdot \left|x\right|\right) \cdot \left|x\right|\right) \cdot \left|x\right|\right) \cdot \left|x\right|\right) \cdot \left|x\right|\right)\right)\right|\]
\[\left|\left(\left|x\right| \cdot \left(2 + \left({\left(\left|x\right|\right)}^{4} \cdot \frac{1}{5} + {\left(\left|x\right|\right)}^{6} \cdot \frac{1}{21}\right)\right)\right) \cdot \frac{1}{\sqrt{\pi}} + \frac{1}{\sqrt{\pi}} \cdot \frac{2}{\frac{3}{{\left(\left|x\right|\right)}^{3}}}\right|\]
\left|\frac{1}{\sqrt{\pi}} \cdot \left(\left(\left(2 \cdot \left|x\right| + \frac{2}{3} \cdot \left(\left(\left|x\right| \cdot \left|x\right|\right) \cdot \left|x\right|\right)\right) + \frac{1}{5} \cdot \left(\left(\left(\left(\left|x\right| \cdot \left|x\right|\right) \cdot \left|x\right|\right) \cdot \left|x\right|\right) \cdot \left|x\right|\right)\right) + \frac{1}{21} \cdot \left(\left(\left(\left(\left(\left(\left|x\right| \cdot \left|x\right|\right) \cdot \left|x\right|\right) \cdot \left|x\right|\right) \cdot \left|x\right|\right) \cdot \left|x\right|\right) \cdot \left|x\right|\right)\right)\right|
\left|\left(\left|x\right| \cdot \left(2 + \left({\left(\left|x\right|\right)}^{4} \cdot \frac{1}{5} + {\left(\left|x\right|\right)}^{6} \cdot \frac{1}{21}\right)\right)\right) \cdot \frac{1}{\sqrt{\pi}} + \frac{1}{\sqrt{\pi}} \cdot \frac{2}{\frac{3}{{\left(\left|x\right|\right)}^{3}}}\right|
double f(double x) {
        double r431116 = 1.0;
        double r431117 = atan2(1.0, 0.0);
        double r431118 = sqrt(r431117);
        double r431119 = r431116 / r431118;
        double r431120 = 2.0;
        double r431121 = x;
        double r431122 = fabs(r431121);
        double r431123 = r431120 * r431122;
        double r431124 = 3.0;
        double r431125 = r431120 / r431124;
        double r431126 = r431122 * r431122;
        double r431127 = r431126 * r431122;
        double r431128 = r431125 * r431127;
        double r431129 = r431123 + r431128;
        double r431130 = 5.0;
        double r431131 = r431116 / r431130;
        double r431132 = r431127 * r431122;
        double r431133 = r431132 * r431122;
        double r431134 = r431131 * r431133;
        double r431135 = r431129 + r431134;
        double r431136 = 21.0;
        double r431137 = r431116 / r431136;
        double r431138 = r431133 * r431122;
        double r431139 = r431138 * r431122;
        double r431140 = r431137 * r431139;
        double r431141 = r431135 + r431140;
        double r431142 = r431119 * r431141;
        double r431143 = fabs(r431142);
        return r431143;
}

double f(double x) {
        double r431144 = x;
        double r431145 = fabs(r431144);
        double r431146 = 2.0;
        double r431147 = 4.0;
        double r431148 = pow(r431145, r431147);
        double r431149 = 1.0;
        double r431150 = 5.0;
        double r431151 = r431149 / r431150;
        double r431152 = r431148 * r431151;
        double r431153 = 6.0;
        double r431154 = pow(r431145, r431153);
        double r431155 = 21.0;
        double r431156 = r431149 / r431155;
        double r431157 = r431154 * r431156;
        double r431158 = r431152 + r431157;
        double r431159 = r431146 + r431158;
        double r431160 = r431145 * r431159;
        double r431161 = atan2(1.0, 0.0);
        double r431162 = sqrt(r431161);
        double r431163 = r431149 / r431162;
        double r431164 = r431160 * r431163;
        double r431165 = 3.0;
        double r431166 = 3.0;
        double r431167 = pow(r431145, r431166);
        double r431168 = r431165 / r431167;
        double r431169 = r431146 / r431168;
        double r431170 = r431163 * r431169;
        double r431171 = r431164 + r431170;
        double r431172 = fabs(r431171);
        return r431172;
}

Error

Bits error versus x

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 0.2

    \[\left|\frac{1}{\sqrt{\pi}} \cdot \left(\left(\left(2 \cdot \left|x\right| + \frac{2}{3} \cdot \left(\left(\left|x\right| \cdot \left|x\right|\right) \cdot \left|x\right|\right)\right) + \frac{1}{5} \cdot \left(\left(\left(\left(\left|x\right| \cdot \left|x\right|\right) \cdot \left|x\right|\right) \cdot \left|x\right|\right) \cdot \left|x\right|\right)\right) + \frac{1}{21} \cdot \left(\left(\left(\left(\left(\left(\left|x\right| \cdot \left|x\right|\right) \cdot \left|x\right|\right) \cdot \left|x\right|\right) \cdot \left|x\right|\right) \cdot \left|x\right|\right) \cdot \left|x\right|\right)\right)\right|\]
  2. Simplified0.2

    \[\leadsto \color{blue}{\left|\frac{1}{\sqrt{\pi}} \cdot \left(\left|x\right| \cdot \left(2 + \left({\left(\left|x\right|\right)}^{4} \cdot \frac{1}{5} + {\left(\left|x\right|\right)}^{6} \cdot \frac{1}{21}\right)\right) + \frac{2}{\frac{3}{{\left(\left|x\right|\right)}^{3}}}\right)\right|}\]
  3. Using strategy rm
  4. Applied distribute-lft-in0.2

    \[\leadsto \left|\color{blue}{\frac{1}{\sqrt{\pi}} \cdot \left(\left|x\right| \cdot \left(2 + \left({\left(\left|x\right|\right)}^{4} \cdot \frac{1}{5} + {\left(\left|x\right|\right)}^{6} \cdot \frac{1}{21}\right)\right)\right) + \frac{1}{\sqrt{\pi}} \cdot \frac{2}{\frac{3}{{\left(\left|x\right|\right)}^{3}}}}\right|\]
  5. Simplified0.2

    \[\leadsto \left|\color{blue}{\left(\left|x\right| \cdot \left(2 + \left({\left(\left|x\right|\right)}^{4} \cdot \frac{1}{5} + {\left(\left|x\right|\right)}^{6} \cdot \frac{1}{21}\right)\right)\right) \cdot \frac{1}{\sqrt{\pi}}} + \frac{1}{\sqrt{\pi}} \cdot \frac{2}{\frac{3}{{\left(\left|x\right|\right)}^{3}}}\right|\]
  6. Final simplification0.2

    \[\leadsto \left|\left(\left|x\right| \cdot \left(2 + \left({\left(\left|x\right|\right)}^{4} \cdot \frac{1}{5} + {\left(\left|x\right|\right)}^{6} \cdot \frac{1}{21}\right)\right)\right) \cdot \frac{1}{\sqrt{\pi}} + \frac{1}{\sqrt{\pi}} \cdot \frac{2}{\frac{3}{{\left(\left|x\right|\right)}^{3}}}\right|\]

Reproduce

herbie shell --seed 2020042 
(FPCore (x)
  :name "Jmat.Real.erfi, branch x less than or equal to 0.5"
  :precision binary64
  (fabs (* (/ 1 (sqrt PI)) (+ (+ (+ (* 2 (fabs x)) (* (/ 2 3) (* (* (fabs x) (fabs x)) (fabs x)))) (* (/ 1 5) (* (* (* (* (fabs x) (fabs x)) (fabs x)) (fabs x)) (fabs x)))) (* (/ 1 21) (* (* (* (* (* (* (fabs x) (fabs x)) (fabs x)) (fabs x)) (fabs x)) (fabs x)) (fabs x)))))))