\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 -919903603285871.25 \lor \neg \left(x \le 792.7800226521936792778433300554752349854\right):\\
\;\;\;\;\frac{0.5}{x} + \left(\frac{0.2514179000665375252054900556686334311962}{{x}^{3}} + \frac{0.1529819634592932686700805788859724998474}{{x}^{5}}\right)\\
\mathbf{else}:\\
\;\;\;\;\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\\
\end{array}double f(double x) {
double r166216 = 1.0;
double r166217 = 0.1049934947;
double r166218 = x;
double r166219 = r166218 * r166218;
double r166220 = r166217 * r166219;
double r166221 = r166216 + r166220;
double r166222 = 0.0424060604;
double r166223 = r166219 * r166219;
double r166224 = r166222 * r166223;
double r166225 = r166221 + r166224;
double r166226 = 0.0072644182;
double r166227 = r166223 * r166219;
double r166228 = r166226 * r166227;
double r166229 = r166225 + r166228;
double r166230 = 0.0005064034;
double r166231 = r166227 * r166219;
double r166232 = r166230 * r166231;
double r166233 = r166229 + r166232;
double r166234 = 0.0001789971;
double r166235 = r166231 * r166219;
double r166236 = r166234 * r166235;
double r166237 = r166233 + r166236;
double r166238 = 0.7715471019;
double r166239 = r166238 * r166219;
double r166240 = r166216 + r166239;
double r166241 = 0.2909738639;
double r166242 = r166241 * r166223;
double r166243 = r166240 + r166242;
double r166244 = 0.0694555761;
double r166245 = r166244 * r166227;
double r166246 = r166243 + r166245;
double r166247 = 0.0140005442;
double r166248 = r166247 * r166231;
double r166249 = r166246 + r166248;
double r166250 = 0.0008327945;
double r166251 = r166250 * r166235;
double r166252 = r166249 + r166251;
double r166253 = 2.0;
double r166254 = r166253 * r166234;
double r166255 = r166235 * r166219;
double r166256 = r166254 * r166255;
double r166257 = r166252 + r166256;
double r166258 = r166237 / r166257;
double r166259 = r166258 * r166218;
return r166259;
}
double f(double x) {
double r166260 = x;
double r166261 = -919903603285871.2;
bool r166262 = r166260 <= r166261;
double r166263 = 792.7800226521937;
bool r166264 = r166260 <= r166263;
double r166265 = !r166264;
bool r166266 = r166262 || r166265;
double r166267 = 0.5;
double r166268 = r166267 / r166260;
double r166269 = 0.2514179000665375;
double r166270 = 3.0;
double r166271 = pow(r166260, r166270);
double r166272 = r166269 / r166271;
double r166273 = 0.15298196345929327;
double r166274 = 5.0;
double r166275 = pow(r166260, r166274);
double r166276 = r166273 / r166275;
double r166277 = r166272 + r166276;
double r166278 = r166268 + r166277;
double r166279 = 1.0;
double r166280 = 0.1049934947;
double r166281 = r166260 * r166260;
double r166282 = r166280 * r166281;
double r166283 = r166279 + r166282;
double r166284 = 0.0424060604;
double r166285 = r166281 * r166281;
double r166286 = r166284 * r166285;
double r166287 = r166283 + r166286;
double r166288 = 0.0072644182;
double r166289 = r166285 * r166281;
double r166290 = r166288 * r166289;
double r166291 = r166287 + r166290;
double r166292 = 0.0005064034;
double r166293 = r166289 * r166281;
double r166294 = r166292 * r166293;
double r166295 = r166291 + r166294;
double r166296 = 0.0001789971;
double r166297 = r166293 * r166281;
double r166298 = r166296 * r166297;
double r166299 = r166295 + r166298;
double r166300 = 0.7715471019;
double r166301 = r166300 * r166281;
double r166302 = r166279 + r166301;
double r166303 = 0.2909738639;
double r166304 = r166303 * r166285;
double r166305 = r166302 + r166304;
double r166306 = 0.0694555761;
double r166307 = r166306 * r166289;
double r166308 = r166305 + r166307;
double r166309 = 0.0140005442;
double r166310 = r166309 * r166293;
double r166311 = r166308 + r166310;
double r166312 = 0.0008327945;
double r166313 = r166312 * r166297;
double r166314 = r166311 + r166313;
double r166315 = 2.0;
double r166316 = r166315 * r166296;
double r166317 = r166297 * r166281;
double r166318 = r166316 * r166317;
double r166319 = r166314 + r166318;
double r166320 = r166299 / r166319;
double r166321 = r166320 * r166260;
double r166322 = r166266 ? r166278 : r166321;
return r166322;
}



Bits error versus x
Results
if x < -919903603285871.2 or 792.7800226521937 < x Initial program 60.2
Taylor expanded around inf 0.0
Simplified0.0
if -919903603285871.2 < x < 792.7800226521937Initial program 0.0
Final simplification0.0
herbie shell --seed 2019326 +o rules:numerics
(FPCore (x)
:name "Jmat.Real.dawson"
:precision binary64
(* (/ (+ (+ (+ (+ (+ 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))