\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\begin{array}{l}
\mathbf{if}\;x \le -67709155.8659917:\\
\;\;\;\;\frac{0.15298196345929327}{\left(x \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)} + \left(\frac{0.2514179000665375}{x \cdot \left(x \cdot x\right)} + \frac{0.5}{x}\right)\\
\mathbf{elif}\;x \le 608.9704497227963:\\
\;\;\;\;\frac{\left(1 + \left(x \cdot x\right) \cdot \left(0.1049934947 + \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot 0.0072644182\right)\right) + \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(\left(0.0005064034 + \left(x \cdot x\right) \cdot 0.0001789971\right) \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) + 0.0424060604\right)}{\left(\left(0.2909738639 + \left(0.0008327945 \cdot \left(x \cdot x\right) + \left(x \cdot \left(x \cdot \left(x \cdot x\right)\right)\right) \cdot \left(0.0001789971 \cdot 2\right)\right) \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right)\right) \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) + 1\right) \cdot \left(\left(0.2909738639 + \left(0.0008327945 \cdot \left(x \cdot x\right) + \left(x \cdot \left(x \cdot \left(x \cdot x\right)\right)\right) \cdot \left(0.0001789971 \cdot 2\right)\right) \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right)\right) \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) + 1\right) - \left(\left(x \cdot x\right) \cdot \left(0.7715471019 + \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(0.0140005442 \cdot \left(x \cdot x\right) + 0.0694555761\right)\right)\right) \cdot \left(\left(x \cdot x\right) \cdot \left(0.7715471019 + \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(0.0140005442 \cdot \left(x \cdot x\right) + 0.0694555761\right)\right)\right)} \cdot \left(x \cdot \left(\left(\left(0.2909738639 + \left(0.0008327945 \cdot \left(x \cdot x\right) + \left(x \cdot \left(x \cdot \left(x \cdot x\right)\right)\right) \cdot \left(0.0001789971 \cdot 2\right)\right) \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right)\right) \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) + 1\right) - \left(x \cdot x\right) \cdot \left(0.7715471019 + \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(0.0140005442 \cdot \left(x \cdot x\right) + 0.0694555761\right)\right)\right)\right)\\
\mathbf{else}:\\
\;\;\;\;\frac{0.15298196345929327}{\left(x \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)} + \left(\frac{0.2514179000665375}{x \cdot \left(x \cdot x\right)} + \frac{0.5}{x}\right)\\
\end{array}double f(double x) {
double r8409065 = 1.0;
double r8409066 = 0.1049934947;
double r8409067 = x;
double r8409068 = r8409067 * r8409067;
double r8409069 = r8409066 * r8409068;
double r8409070 = r8409065 + r8409069;
double r8409071 = 0.0424060604;
double r8409072 = r8409068 * r8409068;
double r8409073 = r8409071 * r8409072;
double r8409074 = r8409070 + r8409073;
double r8409075 = 0.0072644182;
double r8409076 = r8409072 * r8409068;
double r8409077 = r8409075 * r8409076;
double r8409078 = r8409074 + r8409077;
double r8409079 = 0.0005064034;
double r8409080 = r8409076 * r8409068;
double r8409081 = r8409079 * r8409080;
double r8409082 = r8409078 + r8409081;
double r8409083 = 0.0001789971;
double r8409084 = r8409080 * r8409068;
double r8409085 = r8409083 * r8409084;
double r8409086 = r8409082 + r8409085;
double r8409087 = 0.7715471019;
double r8409088 = r8409087 * r8409068;
double r8409089 = r8409065 + r8409088;
double r8409090 = 0.2909738639;
double r8409091 = r8409090 * r8409072;
double r8409092 = r8409089 + r8409091;
double r8409093 = 0.0694555761;
double r8409094 = r8409093 * r8409076;
double r8409095 = r8409092 + r8409094;
double r8409096 = 0.0140005442;
double r8409097 = r8409096 * r8409080;
double r8409098 = r8409095 + r8409097;
double r8409099 = 0.0008327945;
double r8409100 = r8409099 * r8409084;
double r8409101 = r8409098 + r8409100;
double r8409102 = 2.0;
double r8409103 = r8409102 * r8409083;
double r8409104 = r8409084 * r8409068;
double r8409105 = r8409103 * r8409104;
double r8409106 = r8409101 + r8409105;
double r8409107 = r8409086 / r8409106;
double r8409108 = r8409107 * r8409067;
return r8409108;
}
double f(double x) {
double r8409109 = x;
double r8409110 = -67709155.8659917;
bool r8409111 = r8409109 <= r8409110;
double r8409112 = 0.15298196345929327;
double r8409113 = r8409109 * r8409109;
double r8409114 = r8409109 * r8409113;
double r8409115 = r8409114 * r8409113;
double r8409116 = r8409112 / r8409115;
double r8409117 = 0.2514179000665375;
double r8409118 = r8409117 / r8409114;
double r8409119 = 0.5;
double r8409120 = r8409119 / r8409109;
double r8409121 = r8409118 + r8409120;
double r8409122 = r8409116 + r8409121;
double r8409123 = 608.9704497227963;
bool r8409124 = r8409109 <= r8409123;
double r8409125 = 1.0;
double r8409126 = 0.1049934947;
double r8409127 = r8409113 * r8409113;
double r8409128 = 0.0072644182;
double r8409129 = r8409127 * r8409128;
double r8409130 = r8409126 + r8409129;
double r8409131 = r8409113 * r8409130;
double r8409132 = r8409125 + r8409131;
double r8409133 = 0.0005064034;
double r8409134 = 0.0001789971;
double r8409135 = r8409113 * r8409134;
double r8409136 = r8409133 + r8409135;
double r8409137 = r8409136 * r8409127;
double r8409138 = 0.0424060604;
double r8409139 = r8409137 + r8409138;
double r8409140 = r8409127 * r8409139;
double r8409141 = r8409132 + r8409140;
double r8409142 = 0.2909738639;
double r8409143 = 0.0008327945;
double r8409144 = r8409143 * r8409113;
double r8409145 = r8409109 * r8409114;
double r8409146 = 2.0;
double r8409147 = r8409134 * r8409146;
double r8409148 = r8409145 * r8409147;
double r8409149 = r8409144 + r8409148;
double r8409150 = r8409149 * r8409127;
double r8409151 = r8409142 + r8409150;
double r8409152 = r8409151 * r8409127;
double r8409153 = r8409152 + r8409125;
double r8409154 = r8409153 * r8409153;
double r8409155 = 0.7715471019;
double r8409156 = 0.0140005442;
double r8409157 = r8409156 * r8409113;
double r8409158 = 0.0694555761;
double r8409159 = r8409157 + r8409158;
double r8409160 = r8409127 * r8409159;
double r8409161 = r8409155 + r8409160;
double r8409162 = r8409113 * r8409161;
double r8409163 = r8409162 * r8409162;
double r8409164 = r8409154 - r8409163;
double r8409165 = r8409141 / r8409164;
double r8409166 = r8409153 - r8409162;
double r8409167 = r8409109 * r8409166;
double r8409168 = r8409165 * r8409167;
double r8409169 = r8409124 ? r8409168 : r8409122;
double r8409170 = r8409111 ? r8409122 : r8409169;
return r8409170;
}



Bits error versus x
Results
if x < -67709155.8659917 or 608.9704497227963 < x Initial program 58.7
Simplified58.7
rmApplied associate-*r*58.7
Taylor expanded around inf 0.0
Simplified0.0
if -67709155.8659917 < x < 608.9704497227963Initial program 0.0
Simplified0.0
rmApplied associate-*r*0.0
rmApplied flip-+0.0
Applied associate-/r/0.0
Applied associate-*l*0.0
Final simplification0.0
herbie shell --seed 2019146
(FPCore (x)
:name "Jmat.Real.dawson"
(* (/ (+ (+ (+ (+ (+ 1 (* 0.1049934947 (* x x))) (* 0.0424060604 (* (* x x) (* x x)))) (* 0.0072644182 (* (* (* x x) (* x x)) (* x x)))) (* 0.0005064034 (* (* (* (* x x) (* x x)) (* x x)) (* x x)))) (* 0.0001789971 (* (* (* (* (* x x) (* x x)) (* x x)) (* x x)) (* x x)))) (+ (+ (+ (+ (+ (+ 1 (* 0.7715471019 (* x x))) (* 0.2909738639 (* (* x x) (* x x)))) (* 0.0694555761 (* (* (* x x) (* x x)) (* x x)))) (* 0.0140005442 (* (* (* (* x x) (* x x)) (* x x)) (* x x)))) (* 0.0008327945 (* (* (* (* (* x x) (* x x)) (* x x)) (* x x)) (* x x)))) (* (* 2 0.0001789971) (* (* (* (* (* (* x x) (* x x)) (* x x)) (* x x)) (* x x)) (* x x))))) x))