\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{1}{\sqrt{\pi}} \cdot \left(\frac{1}{21} \cdot \left(\left|x\right| \cdot \left(\left|x\right| \cdot \left(\left(\left(\left(\left|x\right| \cdot \sqrt{\left|x\right|}\right) \cdot \sqrt[3]{\left(\left(\left|x\right| \cdot \sqrt{\left|x\right|}\right) \cdot \left(\left|x\right| \cdot \sqrt{\left|x\right|}\right)\right) \cdot \left(\left|x\right| \cdot \sqrt{\left|x\right|}\right)}\right) \cdot \left|x\right|\right) \cdot \left|x\right|\right)\right)\right) + \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)\right|double f(double x) {
double r4210568 = 1.0;
double r4210569 = atan2(1.0, 0.0);
double r4210570 = sqrt(r4210569);
double r4210571 = r4210568 / r4210570;
double r4210572 = 2.0;
double r4210573 = x;
double r4210574 = fabs(r4210573);
double r4210575 = r4210572 * r4210574;
double r4210576 = 3.0;
double r4210577 = r4210572 / r4210576;
double r4210578 = r4210574 * r4210574;
double r4210579 = r4210578 * r4210574;
double r4210580 = r4210577 * r4210579;
double r4210581 = r4210575 + r4210580;
double r4210582 = 5.0;
double r4210583 = r4210568 / r4210582;
double r4210584 = r4210579 * r4210574;
double r4210585 = r4210584 * r4210574;
double r4210586 = r4210583 * r4210585;
double r4210587 = r4210581 + r4210586;
double r4210588 = 21.0;
double r4210589 = r4210568 / r4210588;
double r4210590 = r4210585 * r4210574;
double r4210591 = r4210590 * r4210574;
double r4210592 = r4210589 * r4210591;
double r4210593 = r4210587 + r4210592;
double r4210594 = r4210571 * r4210593;
double r4210595 = fabs(r4210594);
return r4210595;
}
double f(double x) {
double r4210596 = 1.0;
double r4210597 = atan2(1.0, 0.0);
double r4210598 = sqrt(r4210597);
double r4210599 = r4210596 / r4210598;
double r4210600 = 21.0;
double r4210601 = r4210596 / r4210600;
double r4210602 = x;
double r4210603 = fabs(r4210602);
double r4210604 = sqrt(r4210603);
double r4210605 = r4210603 * r4210604;
double r4210606 = r4210605 * r4210605;
double r4210607 = r4210606 * r4210605;
double r4210608 = cbrt(r4210607);
double r4210609 = r4210605 * r4210608;
double r4210610 = r4210609 * r4210603;
double r4210611 = r4210610 * r4210603;
double r4210612 = r4210603 * r4210611;
double r4210613 = r4210603 * r4210612;
double r4210614 = r4210601 * r4210613;
double r4210615 = 5.0;
double r4210616 = r4210596 / r4210615;
double r4210617 = r4210603 * r4210603;
double r4210618 = r4210617 * r4210603;
double r4210619 = r4210618 * r4210603;
double r4210620 = r4210603 * r4210619;
double r4210621 = r4210616 * r4210620;
double r4210622 = 2.0;
double r4210623 = r4210603 * r4210622;
double r4210624 = 3.0;
double r4210625 = r4210622 / r4210624;
double r4210626 = r4210618 * r4210625;
double r4210627 = r4210623 + r4210626;
double r4210628 = r4210621 + r4210627;
double r4210629 = r4210614 + r4210628;
double r4210630 = r4210599 * r4210629;
double r4210631 = fabs(r4210630);
return r4210631;
}



Bits error versus x
Results
Initial program 0.2
rmApplied add-sqr-sqrt0.2
Applied unswap-sqr0.2
rmApplied add-cbrt-cube0.2
Final simplification0.2
herbie shell --seed 2019168 +o rules:numerics
(FPCore (x)
:name "Jmat.Real.erfi, branch x less than or equal to 0.5"
(fabs (* (/ 1.0 (sqrt PI)) (+ (+ (+ (* 2.0 (fabs x)) (* (/ 2.0 3.0) (* (* (fabs x) (fabs x)) (fabs x)))) (* (/ 1.0 5.0) (* (* (* (* (fabs x) (fabs x)) (fabs x)) (fabs x)) (fabs x)))) (* (/ 1.0 21.0) (* (* (* (* (* (* (fabs x) (fabs x)) (fabs x)) (fabs x)) (fabs x)) (fabs x)) (fabs x)))))))