\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(\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 \sqrt{\left|x\right|}\right) \cdot \sqrt{{\left(\left|x\right|\right)}^{3}}\right) \cdot \left|x\right|\right) \cdot \left|x\right|\right) \cdot \left|x\right|\right) \cdot \left|x\right|\right)\right)\right|double f(double x) {
double r199641 = 1.0;
double r199642 = atan2(1.0, 0.0);
double r199643 = sqrt(r199642);
double r199644 = r199641 / r199643;
double r199645 = 2.0;
double r199646 = x;
double r199647 = fabs(r199646);
double r199648 = r199645 * r199647;
double r199649 = 3.0;
double r199650 = r199645 / r199649;
double r199651 = r199647 * r199647;
double r199652 = r199651 * r199647;
double r199653 = r199650 * r199652;
double r199654 = r199648 + r199653;
double r199655 = 5.0;
double r199656 = r199641 / r199655;
double r199657 = r199652 * r199647;
double r199658 = r199657 * r199647;
double r199659 = r199656 * r199658;
double r199660 = r199654 + r199659;
double r199661 = 21.0;
double r199662 = r199641 / r199661;
double r199663 = r199658 * r199647;
double r199664 = r199663 * r199647;
double r199665 = r199662 * r199664;
double r199666 = r199660 + r199665;
double r199667 = r199644 * r199666;
double r199668 = fabs(r199667);
return r199668;
}
double f(double x) {
double r199669 = 1.0;
double r199670 = atan2(1.0, 0.0);
double r199671 = sqrt(r199670);
double r199672 = r199669 / r199671;
double r199673 = 2.0;
double r199674 = x;
double r199675 = fabs(r199674);
double r199676 = r199673 * r199675;
double r199677 = 3.0;
double r199678 = r199673 / r199677;
double r199679 = r199675 * r199675;
double r199680 = r199679 * r199675;
double r199681 = r199678 * r199680;
double r199682 = r199676 + r199681;
double r199683 = 5.0;
double r199684 = r199669 / r199683;
double r199685 = r199680 * r199675;
double r199686 = r199685 * r199675;
double r199687 = r199684 * r199686;
double r199688 = r199682 + r199687;
double r199689 = 21.0;
double r199690 = r199669 / r199689;
double r199691 = sqrt(r199675);
double r199692 = r199675 * r199691;
double r199693 = 3.0;
double r199694 = pow(r199675, r199693);
double r199695 = sqrt(r199694);
double r199696 = r199692 * r199695;
double r199697 = r199696 * r199675;
double r199698 = r199697 * r199675;
double r199699 = r199698 * r199675;
double r199700 = r199699 * r199675;
double r199701 = r199690 * r199700;
double r199702 = r199688 + r199701;
double r199703 = r199672 * r199702;
double r199704 = fabs(r199703);
return r199704;
}



Bits error versus x
Results
Initial program 0.2
rmApplied add-sqr-sqrt0.2
Applied unswap-sqr0.2
Taylor expanded around 0 0.2
Final simplification0.2
herbie shell --seed 2019352 +o rules:numerics
(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)))))))