double f(double x) {
double r1818613 = 1.0;
double r1818614 = 0.1049934947;
double r1818615 = x;
double r1818616 = r1818615 * r1818615;
double r1818617 = r1818614 * r1818616;
double r1818618 = r1818613 + r1818617;
double r1818619 = 0.0424060604;
double r1818620 = r1818616 * r1818616;
double r1818621 = r1818619 * r1818620;
double r1818622 = r1818618 + r1818621;
double r1818623 = 0.0072644182;
double r1818624 = r1818620 * r1818616;
double r1818625 = r1818623 * r1818624;
double r1818626 = r1818622 + r1818625;
double r1818627 = 0.0005064034;
double r1818628 = r1818624 * r1818616;
double r1818629 = r1818627 * r1818628;
double r1818630 = r1818626 + r1818629;
double r1818631 = 0.0001789971;
double r1818632 = r1818628 * r1818616;
double r1818633 = r1818631 * r1818632;
double r1818634 = r1818630 + r1818633;
double r1818635 = 0.7715471019;
double r1818636 = r1818635 * r1818616;
double r1818637 = r1818613 + r1818636;
double r1818638 = 0.2909738639;
double r1818639 = r1818638 * r1818620;
double r1818640 = r1818637 + r1818639;
double r1818641 = 0.0694555761;
double r1818642 = r1818641 * r1818624;
double r1818643 = r1818640 + r1818642;
double r1818644 = 0.0140005442;
double r1818645 = r1818644 * r1818628;
double r1818646 = r1818643 + r1818645;
double r1818647 = 0.0008327945;
double r1818648 = r1818647 * r1818632;
double r1818649 = r1818646 + r1818648;
double r1818650 = 2.0;
double r1818651 = r1818650 * r1818631;
double r1818652 = r1818632 * r1818616;
double r1818653 = r1818651 * r1818652;
double r1818654 = r1818649 + r1818653;
double r1818655 = r1818634 / r1818654;
double r1818656 = r1818655 * r1818615;
return r1818656;
}
double f(double x) {
double r1818657 = 1.0;
double r1818658 = 0.1049934947;
double r1818659 = x;
double r1818660 = r1818659 * r1818659;
double r1818661 = r1818658 * r1818660;
double r1818662 = r1818657 + r1818661;
double r1818663 = 0.0424060604;
double r1818664 = r1818660 * r1818660;
double r1818665 = r1818663 * r1818664;
double r1818666 = r1818662 + r1818665;
double r1818667 = 0.0072644182;
double r1818668 = r1818664 * r1818660;
double r1818669 = r1818667 * r1818668;
double r1818670 = r1818666 + r1818669;
double r1818671 = 0.0005064034;
double r1818672 = r1818668 * r1818660;
double r1818673 = r1818671 * r1818672;
double r1818674 = r1818670 + r1818673;
double r1818675 = 0.0001789971;
double r1818676 = r1818672 * r1818660;
double r1818677 = r1818675 * r1818676;
double r1818678 = r1818674 + r1818677;
double r1818679 = 0.7715471019;
double r1818680 = r1818679 * r1818660;
double r1818681 = r1818657 + r1818680;
double r1818682 = 0.2909738639;
double r1818683 = r1818682 * r1818664;
double r1818684 = r1818681 + r1818683;
double r1818685 = 0.0694555761;
double r1818686 = r1818685 * r1818668;
double r1818687 = r1818684 + r1818686;
double r1818688 = 0.0140005442;
double r1818689 = r1818688 * r1818672;
double r1818690 = r1818687 + r1818689;
double r1818691 = 0.0008327945;
double r1818692 = r1818691 * r1818672;
double r1818693 = r1818692 * r1818660;
double r1818694 = r1818690 + r1818693;
double r1818695 = 2.0;
double r1818696 = r1818695 * r1818675;
double r1818697 = r1818696 * r1818676;
double r1818698 = r1818697 * r1818660;
double r1818699 = r1818694 + r1818698;
double r1818700 = r1818678 / r1818699;
double r1818701 = r1818700 * r1818659;
return r1818701;
}
\frac{\left(\left(\left(\left(1 + 0.1049934947 \cdot \left(x \cdot x\right)\right) + 0.0424060604 \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right)\right) + 0.0072644182 \cdot \left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right)\right) + 0.0005064034 \cdot \left(\left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right)\right) + 0.0001789971 \cdot \left(\left(\left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right)}{\left(\left(\left(\left(\left(1 + 0.7715471019 \cdot \left(x \cdot x\right)\right) + 0.2909738639 \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right)\right) + 0.0694555761 \cdot \left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right)\right) + 0.0140005442 \cdot \left(\left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right)\right) + 0.0008327945 \cdot \left(\left(\left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right)\right) + \left(2 \cdot 0.0001789971\right) \cdot \left(\left(\left(\left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right)} \cdot x\frac{\left(\left(\left(\left(1 + 0.1049934947 \cdot \left(x \cdot x\right)\right) + 0.0424060604 \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right)\right) + 0.0072644182 \cdot \left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right)\right) + 0.0005064034 \cdot \left(\left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right)\right) + 0.0001789971 \cdot \left(\left(\left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right)}{\left(\left(\left(\left(\left(1 + 0.7715471019 \cdot \left(x \cdot x\right)\right) + 0.2909738639 \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right)\right) + 0.0694555761 \cdot \left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right)\right) + 0.0140005442 \cdot \left(\left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right)\right) + \left(0.0008327945 \cdot \left(\left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right)\right) \cdot \left(x \cdot x\right)\right) + \left(\left(2 \cdot 0.0001789971\right) \cdot \left(\left(\left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right)\right) \cdot \left(x \cdot x\right)} \cdot x


Bits error versus x
Initial program 4.2
rmApplied associate-*r*3.4
rmApplied associate-*r*3.1
Final simplification3.1
herbie shell --seed 2019101
(FPCore (x)
:name "Jmat.Real.dawson"
(*.p16 (/.p16 (+.p16 (+.p16 (+.p16 (+.p16 (+.p16 (real->posit16 1) (*.p16 (real->posit16 0.1049934947) (*.p16 x x))) (*.p16 (real->posit16 0.0424060604) (*.p16 (*.p16 x x) (*.p16 x x)))) (*.p16 (real->posit16 0.0072644182) (*.p16 (*.p16 (*.p16 x x) (*.p16 x x)) (*.p16 x x)))) (*.p16 (real->posit16 0.0005064034) (*.p16 (*.p16 (*.p16 (*.p16 x x) (*.p16 x x)) (*.p16 x x)) (*.p16 x x)))) (*.p16 (real->posit16 0.0001789971) (*.p16 (*.p16 (*.p16 (*.p16 (*.p16 x x) (*.p16 x x)) (*.p16 x x)) (*.p16 x x)) (*.p16 x x)))) (+.p16 (+.p16 (+.p16 (+.p16 (+.p16 (+.p16 (real->posit16 1) (*.p16 (real->posit16 0.7715471019) (*.p16 x x))) (*.p16 (real->posit16 0.2909738639) (*.p16 (*.p16 x x) (*.p16 x x)))) (*.p16 (real->posit16 0.0694555761) (*.p16 (*.p16 (*.p16 x x) (*.p16 x x)) (*.p16 x x)))) (*.p16 (real->posit16 0.0140005442) (*.p16 (*.p16 (*.p16 (*.p16 x x) (*.p16 x x)) (*.p16 x x)) (*.p16 x x)))) (*.p16 (real->posit16 0.0008327945) (*.p16 (*.p16 (*.p16 (*.p16 (*.p16 x x) (*.p16 x x)) (*.p16 x x)) (*.p16 x x)) (*.p16 x x)))) (*.p16 (*.p16 (real->posit16 2) (real->posit16 0.0001789971)) (*.p16 (*.p16 (*.p16 (*.p16 (*.p16 (*.p16 x x) (*.p16 x x)) (*.p16 x x)) (*.p16 x x)) (*.p16 x x)) (*.p16 x x))))) x))