\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{\sqrt[3]{2} \cdot \sqrt[3]{2}}{1} \cdot \frac{\sqrt[3]{2} \cdot {\left(\left|x\right|\right)}^{3}}{3}\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|double f(double x) {
double r156629 = 1.0;
double r156630 = atan2(1.0, 0.0);
double r156631 = sqrt(r156630);
double r156632 = r156629 / r156631;
double r156633 = 2.0;
double r156634 = x;
double r156635 = fabs(r156634);
double r156636 = r156633 * r156635;
double r156637 = 3.0;
double r156638 = r156633 / r156637;
double r156639 = r156635 * r156635;
double r156640 = r156639 * r156635;
double r156641 = r156638 * r156640;
double r156642 = r156636 + r156641;
double r156643 = 5.0;
double r156644 = r156629 / r156643;
double r156645 = r156640 * r156635;
double r156646 = r156645 * r156635;
double r156647 = r156644 * r156646;
double r156648 = r156642 + r156647;
double r156649 = 21.0;
double r156650 = r156629 / r156649;
double r156651 = r156646 * r156635;
double r156652 = r156651 * r156635;
double r156653 = r156650 * r156652;
double r156654 = r156648 + r156653;
double r156655 = r156632 * r156654;
double r156656 = fabs(r156655);
return r156656;
}
double f(double x) {
double r156657 = 1.0;
double r156658 = atan2(1.0, 0.0);
double r156659 = sqrt(r156658);
double r156660 = r156657 / r156659;
double r156661 = 2.0;
double r156662 = x;
double r156663 = fabs(r156662);
double r156664 = r156661 * r156663;
double r156665 = cbrt(r156661);
double r156666 = r156665 * r156665;
double r156667 = 1.0;
double r156668 = r156666 / r156667;
double r156669 = 3.0;
double r156670 = pow(r156663, r156669);
double r156671 = r156665 * r156670;
double r156672 = 3.0;
double r156673 = r156671 / r156672;
double r156674 = r156668 * r156673;
double r156675 = r156664 + r156674;
double r156676 = 5.0;
double r156677 = r156657 / r156676;
double r156678 = r156663 * r156663;
double r156679 = r156678 * r156663;
double r156680 = r156679 * r156663;
double r156681 = r156680 * r156663;
double r156682 = r156677 * r156681;
double r156683 = r156675 + r156682;
double r156684 = 21.0;
double r156685 = r156657 / r156684;
double r156686 = r156681 * r156663;
double r156687 = r156686 * r156663;
double r156688 = r156685 * r156687;
double r156689 = r156683 + r156688;
double r156690 = r156660 * r156689;
double r156691 = fabs(r156690);
return r156691;
}



Bits error versus x
Results
Initial program 0.2
rmApplied *-un-lft-identity0.2
Applied add-cube-cbrt0.2
Applied times-frac0.2
Applied associate-*l*0.2
Simplified0.2
Final simplification0.2
herbie shell --seed 2019356
(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)))))))