\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 -3486.6930401808486:\\
\;\;\;\;\frac{0.15298196345929327}{\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot x} + \left(\frac{0.2514179000665375}{x \cdot \left(x \cdot x\right)} + \frac{0.5}{x}\right)\\
\mathbf{elif}\;x \le 670.5675875439124:\\
\;\;\;\;x \cdot \sqrt[3]{\frac{\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(0.0424060604 + \left(x \cdot x\right) \cdot \left(\left(x \cdot x\right) \cdot 0.0005064034 + 0.0001789971 \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right)\right)\right) + \left(\left(x \cdot x\right) \cdot \left(0.0072644182 \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) + 0.1049934947\right) + 1\right)}{1 + \left(\left(\left(2 \cdot \left(0.0001789971 \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right)\right) + \left(x \cdot x\right) \cdot 0.0008327945\right) \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) + 0.2909738639\right) \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) + \left(0.7715471019 + \left(0.0140005442 \cdot \left(x \cdot x\right) + 0.0694555761\right) \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right)\right) \cdot \left(x \cdot x\right)\right)} \cdot \left(\frac{\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(0.0424060604 + \left(x \cdot x\right) \cdot \left(\left(x \cdot x\right) \cdot 0.0005064034 + 0.0001789971 \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right)\right)\right) + \left(\left(x \cdot x\right) \cdot \left(0.0072644182 \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) + 0.1049934947\right) + 1\right)}{1 + \left(\left(\left(2 \cdot \left(0.0001789971 \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right)\right) + \left(x \cdot x\right) \cdot 0.0008327945\right) \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) + 0.2909738639\right) \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) + \left(0.7715471019 + \left(0.0140005442 \cdot \left(x \cdot x\right) + 0.0694555761\right) \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right)\right) \cdot \left(x \cdot x\right)\right)} \cdot \frac{\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(0.0424060604 + \left(x \cdot x\right) \cdot \left(\left(x \cdot x\right) \cdot 0.0005064034 + 0.0001789971 \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right)\right)\right) + \left(\left(x \cdot x\right) \cdot \left(0.0072644182 \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) + 0.1049934947\right) + 1\right)}{1 + \left(\left(\left(2 \cdot \left(0.0001789971 \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right)\right) + \left(x \cdot x\right) \cdot 0.0008327945\right) \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) + 0.2909738639\right) \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) + \left(0.7715471019 + \left(0.0140005442 \cdot \left(x \cdot x\right) + 0.0694555761\right) \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right)\right) \cdot \left(x \cdot x\right)\right)}\right)}\\
\mathbf{else}:\\
\;\;\;\;\frac{0.15298196345929327}{\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot x} + \left(\frac{0.2514179000665375}{x \cdot \left(x \cdot x\right)} + \frac{0.5}{x}\right)\\
\end{array}double f(double x) {
double r6936197 = 1.0;
double r6936198 = 0.1049934947;
double r6936199 = x;
double r6936200 = r6936199 * r6936199;
double r6936201 = r6936198 * r6936200;
double r6936202 = r6936197 + r6936201;
double r6936203 = 0.0424060604;
double r6936204 = r6936200 * r6936200;
double r6936205 = r6936203 * r6936204;
double r6936206 = r6936202 + r6936205;
double r6936207 = 0.0072644182;
double r6936208 = r6936204 * r6936200;
double r6936209 = r6936207 * r6936208;
double r6936210 = r6936206 + r6936209;
double r6936211 = 0.0005064034;
double r6936212 = r6936208 * r6936200;
double r6936213 = r6936211 * r6936212;
double r6936214 = r6936210 + r6936213;
double r6936215 = 0.0001789971;
double r6936216 = r6936212 * r6936200;
double r6936217 = r6936215 * r6936216;
double r6936218 = r6936214 + r6936217;
double r6936219 = 0.7715471019;
double r6936220 = r6936219 * r6936200;
double r6936221 = r6936197 + r6936220;
double r6936222 = 0.2909738639;
double r6936223 = r6936222 * r6936204;
double r6936224 = r6936221 + r6936223;
double r6936225 = 0.0694555761;
double r6936226 = r6936225 * r6936208;
double r6936227 = r6936224 + r6936226;
double r6936228 = 0.0140005442;
double r6936229 = r6936228 * r6936212;
double r6936230 = r6936227 + r6936229;
double r6936231 = 0.0008327945;
double r6936232 = r6936231 * r6936216;
double r6936233 = r6936230 + r6936232;
double r6936234 = 2.0;
double r6936235 = r6936234 * r6936215;
double r6936236 = r6936216 * r6936200;
double r6936237 = r6936235 * r6936236;
double r6936238 = r6936233 + r6936237;
double r6936239 = r6936218 / r6936238;
double r6936240 = r6936239 * r6936199;
return r6936240;
}
double f(double x) {
double r6936241 = x;
double r6936242 = -3486.6930401808486;
bool r6936243 = r6936241 <= r6936242;
double r6936244 = 0.15298196345929327;
double r6936245 = r6936241 * r6936241;
double r6936246 = r6936245 * r6936245;
double r6936247 = r6936246 * r6936241;
double r6936248 = r6936244 / r6936247;
double r6936249 = 0.2514179000665375;
double r6936250 = r6936241 * r6936245;
double r6936251 = r6936249 / r6936250;
double r6936252 = 0.5;
double r6936253 = r6936252 / r6936241;
double r6936254 = r6936251 + r6936253;
double r6936255 = r6936248 + r6936254;
double r6936256 = 670.5675875439124;
bool r6936257 = r6936241 <= r6936256;
double r6936258 = 0.0424060604;
double r6936259 = 0.0005064034;
double r6936260 = r6936245 * r6936259;
double r6936261 = 0.0001789971;
double r6936262 = r6936261 * r6936246;
double r6936263 = r6936260 + r6936262;
double r6936264 = r6936245 * r6936263;
double r6936265 = r6936258 + r6936264;
double r6936266 = r6936246 * r6936265;
double r6936267 = 0.0072644182;
double r6936268 = r6936267 * r6936246;
double r6936269 = 0.1049934947;
double r6936270 = r6936268 + r6936269;
double r6936271 = r6936245 * r6936270;
double r6936272 = 1.0;
double r6936273 = r6936271 + r6936272;
double r6936274 = r6936266 + r6936273;
double r6936275 = 2.0;
double r6936276 = r6936275 * r6936262;
double r6936277 = 0.0008327945;
double r6936278 = r6936245 * r6936277;
double r6936279 = r6936276 + r6936278;
double r6936280 = r6936279 * r6936246;
double r6936281 = 0.2909738639;
double r6936282 = r6936280 + r6936281;
double r6936283 = r6936282 * r6936246;
double r6936284 = 0.7715471019;
double r6936285 = 0.0140005442;
double r6936286 = r6936285 * r6936245;
double r6936287 = 0.0694555761;
double r6936288 = r6936286 + r6936287;
double r6936289 = r6936288 * r6936246;
double r6936290 = r6936284 + r6936289;
double r6936291 = r6936290 * r6936245;
double r6936292 = r6936283 + r6936291;
double r6936293 = r6936272 + r6936292;
double r6936294 = r6936274 / r6936293;
double r6936295 = r6936294 * r6936294;
double r6936296 = r6936294 * r6936295;
double r6936297 = cbrt(r6936296);
double r6936298 = r6936241 * r6936297;
double r6936299 = r6936257 ? r6936298 : r6936255;
double r6936300 = r6936243 ? r6936255 : r6936299;
return r6936300;
}



Bits error versus x
Results
if x < -3486.6930401808486 or 670.5675875439124 < x Initial program 58.3
Simplified58.2
Taylor expanded around inf 0.0
Simplified0.0
if -3486.6930401808486 < x < 670.5675875439124Initial program 0.0
Simplified0.0
rmApplied add-cbrt-cube0.0
Applied add-cbrt-cube0.0
Applied cbrt-undiv0.0
Simplified0.0
Final simplification0.0
herbie shell --seed 2019143
(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))