\frac{\left(\left(\left(\left(1 + 0.1049934946999999951788851149103720672429 \cdot \left(x \cdot x\right)\right) + 0.04240606040000000076517494562722276896238 \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right)\right) + 0.007264418199999999985194687468492702464573 \cdot \left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right)\right) + 5.064034000000000243502107366566633572802 \cdot 10^{-4} \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) + 1.789971000000000009994005623070734145585 \cdot 10^{-4} \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.7715471018999999763821051601553335785866 \cdot \left(x \cdot x\right)\right) + 0.2909738639000000182122107617033179849386 \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right)\right) + 0.06945557609999999937322456844412954524159 \cdot \left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right)\right) + 0.01400054419999999938406531896362139377743 \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) + 8.327945000000000442749725770852364803432 \cdot 10^{-4} \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 1.789971000000000009994005623070734145585 \cdot 10^{-4}\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 -726.5481398253193674463545903563499450684 \lor \neg \left(x \le 1426.612896414346096207736991345882415771\right):\\
\;\;\;\;0.2514179000665375252054900556686334311962 \cdot \frac{1}{{x}^{3}} + \left(0.1529819634592932686700805788859724998474 \cdot \frac{1}{{x}^{5}} + 0.5 \cdot \frac{1}{x}\right)\\
\mathbf{else}:\\
\;\;\;\;\frac{\sqrt{\left(\left(\left(\left(1 + 0.1049934946999999951788851149103720672429 \cdot \left(x \cdot x\right)\right) + 0.04240606040000000076517494562722276896238 \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right)\right) + 0.007264418199999999985194687468492702464573 \cdot \left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right)\right) + 5.064034000000000243502107366566633572802 \cdot 10^{-4} \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) + 1.789971000000000009994005623070734145585 \cdot 10^{-4} \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)}}{\frac{\left(\left({x}^{2} \cdot \left({x}^{2} \cdot \left({x}^{2} \cdot \left({x}^{2} \cdot \left(x \cdot {x}^{3}\right)\right)\right)\right)\right) \cdot \left(2 \cdot 1.789971000000000009994005623070734145585 \cdot 10^{-4}\right) + \left(\left(\left({x}^{2} \cdot \left(x \cdot {x}^{3}\right)\right) \cdot 0.06945557609999999937322456844412954524159 + 1\right) + {x}^{2} \cdot \left(0.7715471018999999763821051601553335785866 + 0.2909738639000000182122107617033179849386 \cdot {x}^{2}\right)\right)\right) + {x}^{2} \cdot \left(0.01400054419999999938406531896362139377743 \cdot \left(\left(\left(x \cdot x\right) \cdot x\right) \cdot \left(\left(x \cdot x\right) \cdot x\right)\right) + 8.327945000000000442749725770852364803432 \cdot 10^{-4} \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)}{\sqrt{\left(\left(\left(\left(1 + 0.1049934946999999951788851149103720672429 \cdot \left(x \cdot x\right)\right) + 0.04240606040000000076517494562722276896238 \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right)\right) + 0.007264418199999999985194687468492702464573 \cdot \left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right)\right) + 5.064034000000000243502107366566633572802 \cdot 10^{-4} \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) + 1.789971000000000009994005623070734145585 \cdot 10^{-4} \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)}}} \cdot x\\
\end{array}double f(double x) {
double r195091 = 1.0;
double r195092 = 0.1049934947;
double r195093 = x;
double r195094 = r195093 * r195093;
double r195095 = r195092 * r195094;
double r195096 = r195091 + r195095;
double r195097 = 0.0424060604;
double r195098 = r195094 * r195094;
double r195099 = r195097 * r195098;
double r195100 = r195096 + r195099;
double r195101 = 0.0072644182;
double r195102 = r195098 * r195094;
double r195103 = r195101 * r195102;
double r195104 = r195100 + r195103;
double r195105 = 0.0005064034;
double r195106 = r195102 * r195094;
double r195107 = r195105 * r195106;
double r195108 = r195104 + r195107;
double r195109 = 0.0001789971;
double r195110 = r195106 * r195094;
double r195111 = r195109 * r195110;
double r195112 = r195108 + r195111;
double r195113 = 0.7715471019;
double r195114 = r195113 * r195094;
double r195115 = r195091 + r195114;
double r195116 = 0.2909738639;
double r195117 = r195116 * r195098;
double r195118 = r195115 + r195117;
double r195119 = 0.0694555761;
double r195120 = r195119 * r195102;
double r195121 = r195118 + r195120;
double r195122 = 0.0140005442;
double r195123 = r195122 * r195106;
double r195124 = r195121 + r195123;
double r195125 = 0.0008327945;
double r195126 = r195125 * r195110;
double r195127 = r195124 + r195126;
double r195128 = 2.0;
double r195129 = r195128 * r195109;
double r195130 = r195110 * r195094;
double r195131 = r195129 * r195130;
double r195132 = r195127 + r195131;
double r195133 = r195112 / r195132;
double r195134 = r195133 * r195093;
return r195134;
}
double f(double x) {
double r195135 = x;
double r195136 = -726.5481398253194;
bool r195137 = r195135 <= r195136;
double r195138 = 1426.612896414346;
bool r195139 = r195135 <= r195138;
double r195140 = !r195139;
bool r195141 = r195137 || r195140;
double r195142 = 0.2514179000665375;
double r195143 = 1.0;
double r195144 = 3.0;
double r195145 = pow(r195135, r195144);
double r195146 = r195143 / r195145;
double r195147 = r195142 * r195146;
double r195148 = 0.15298196345929327;
double r195149 = 5.0;
double r195150 = pow(r195135, r195149);
double r195151 = r195143 / r195150;
double r195152 = r195148 * r195151;
double r195153 = 0.5;
double r195154 = r195143 / r195135;
double r195155 = r195153 * r195154;
double r195156 = r195152 + r195155;
double r195157 = r195147 + r195156;
double r195158 = 1.0;
double r195159 = 0.1049934947;
double r195160 = r195135 * r195135;
double r195161 = r195159 * r195160;
double r195162 = r195158 + r195161;
double r195163 = 0.0424060604;
double r195164 = r195160 * r195160;
double r195165 = r195163 * r195164;
double r195166 = r195162 + r195165;
double r195167 = 0.0072644182;
double r195168 = r195164 * r195160;
double r195169 = r195167 * r195168;
double r195170 = r195166 + r195169;
double r195171 = 0.0005064034;
double r195172 = r195168 * r195160;
double r195173 = r195171 * r195172;
double r195174 = r195170 + r195173;
double r195175 = 0.0001789971;
double r195176 = r195172 * r195160;
double r195177 = r195175 * r195176;
double r195178 = r195174 + r195177;
double r195179 = sqrt(r195178);
double r195180 = 2.0;
double r195181 = pow(r195135, r195180);
double r195182 = r195135 * r195145;
double r195183 = r195181 * r195182;
double r195184 = r195181 * r195183;
double r195185 = r195181 * r195184;
double r195186 = r195181 * r195185;
double r195187 = 2.0;
double r195188 = r195187 * r195175;
double r195189 = r195186 * r195188;
double r195190 = 0.0694555761;
double r195191 = r195183 * r195190;
double r195192 = r195191 + r195158;
double r195193 = 0.7715471019;
double r195194 = 0.2909738639;
double r195195 = r195194 * r195181;
double r195196 = r195193 + r195195;
double r195197 = r195181 * r195196;
double r195198 = r195192 + r195197;
double r195199 = r195189 + r195198;
double r195200 = 0.0140005442;
double r195201 = r195160 * r195135;
double r195202 = r195201 * r195201;
double r195203 = r195200 * r195202;
double r195204 = 0.0008327945;
double r195205 = r195204 * r195172;
double r195206 = r195203 + r195205;
double r195207 = r195181 * r195206;
double r195208 = r195199 + r195207;
double r195209 = r195208 / r195179;
double r195210 = r195179 / r195209;
double r195211 = r195210 * r195135;
double r195212 = r195141 ? r195157 : r195211;
return r195212;
}



Bits error versus x
Results
if x < -726.5481398253194 or 1426.612896414346 < x Initial program 59.1
Taylor expanded around inf 0.0
if -726.5481398253194 < x < 1426.612896414346Initial program 0.0
rmApplied add-sqr-sqrt0.0
Applied associate-/l*0.0
Simplified0.0
Final simplification0.0
herbie shell --seed 2019298
(FPCore (x)
:name "Jmat.Real.dawson"
:precision binary64
(* (/ (+ (+ (+ (+ (+ 1 (* 0.1049934947 (* x x))) (* 0.042406060400000001 (* (* x x) (* x x)))) (* 0.00726441819999999999 (* (* (* x x) (* x x)) (* x x)))) (* 5.0640340000000002e-4 (* (* (* (* x x) (* x x)) (* x x)) (* x x)))) (* 1.789971e-4 (* (* (* (* (* x x) (* x x)) (* x x)) (* x x)) (* x x)))) (+ (+ (+ (+ (+ (+ 1 (* 0.77154710189999998 (* x x))) (* 0.29097386390000002 (* (* x x) (* x x)))) (* 0.069455576099999999 (* (* (* x x) (* x x)) (* x x)))) (* 0.014000544199999999 (* (* (* (* x x) (* x x)) (* x x)) (* x x)))) (* 8.32794500000000044e-4 (* (* (* (* (* x x) (* x x)) (* x x)) (* x x)) (* x x)))) (* (* 2 1.789971e-4) (* (* (* (* (* (* x x) (* x x)) (* x x)) (* x x)) (* x x)) (* x x))))) x))