\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|\frac{\frac{1}{21} \cdot \left(\left(\left|x\right| \cdot \left|x\right|\right) \cdot \left(\left|x\right| \cdot \left(\left(\left|x\right| \cdot \left|x\right|\right) \cdot \left(\left|x\right| \cdot \left|x\right|\right)\right)\right)\right)}{\sqrt{\pi}} + \frac{1}{\sqrt{\pi}} \cdot \left(\frac{1}{5} \cdot \left(\left|x\right| \cdot \left(\left(\left(\left|x\right| \cdot \left|x\right|\right) \cdot \left|x\right|\right) \cdot \left|x\right|\right)\right) + \left(\left|x\right| \cdot 2 + \left(\left(\left|x\right| \cdot \left|x\right|\right) \cdot \left|x\right|\right) \cdot \frac{2}{3}\right)\right)\right|double f(double x) {
double r2511089 = 1.0;
double r2511090 = atan2(1.0, 0.0);
double r2511091 = sqrt(r2511090);
double r2511092 = r2511089 / r2511091;
double r2511093 = 2.0;
double r2511094 = x;
double r2511095 = fabs(r2511094);
double r2511096 = r2511093 * r2511095;
double r2511097 = 3.0;
double r2511098 = r2511093 / r2511097;
double r2511099 = r2511095 * r2511095;
double r2511100 = r2511099 * r2511095;
double r2511101 = r2511098 * r2511100;
double r2511102 = r2511096 + r2511101;
double r2511103 = 5.0;
double r2511104 = r2511089 / r2511103;
double r2511105 = r2511100 * r2511095;
double r2511106 = r2511105 * r2511095;
double r2511107 = r2511104 * r2511106;
double r2511108 = r2511102 + r2511107;
double r2511109 = 21.0;
double r2511110 = r2511089 / r2511109;
double r2511111 = r2511106 * r2511095;
double r2511112 = r2511111 * r2511095;
double r2511113 = r2511110 * r2511112;
double r2511114 = r2511108 + r2511113;
double r2511115 = r2511092 * r2511114;
double r2511116 = fabs(r2511115);
return r2511116;
}
double f(double x) {
double r2511117 = 0.047619047619047616;
double r2511118 = x;
double r2511119 = fabs(r2511118);
double r2511120 = r2511119 * r2511119;
double r2511121 = r2511120 * r2511120;
double r2511122 = r2511119 * r2511121;
double r2511123 = r2511120 * r2511122;
double r2511124 = r2511117 * r2511123;
double r2511125 = atan2(1.0, 0.0);
double r2511126 = sqrt(r2511125);
double r2511127 = r2511124 / r2511126;
double r2511128 = 1.0;
double r2511129 = r2511128 / r2511126;
double r2511130 = 0.2;
double r2511131 = r2511120 * r2511119;
double r2511132 = r2511131 * r2511119;
double r2511133 = r2511119 * r2511132;
double r2511134 = r2511130 * r2511133;
double r2511135 = 2.0;
double r2511136 = r2511119 * r2511135;
double r2511137 = 0.6666666666666666;
double r2511138 = r2511131 * r2511137;
double r2511139 = r2511136 + r2511138;
double r2511140 = r2511134 + r2511139;
double r2511141 = r2511129 * r2511140;
double r2511142 = r2511127 + r2511141;
double r2511143 = fabs(r2511142);
return r2511143;
}



Bits error versus x
Results
Initial program 0.2
rmApplied add-sqr-sqrt0.2
Applied associate-*r*0.2
rmApplied distribute-lft-in0.2
Simplified0.2
Final simplification0.2
herbie shell --seed 2019153
(FPCore (x)
:name "Jmat.Real.erfi, branch x less than or equal to 0.5"
(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)))))))