double f(double x) {
double r1970294 = 1.0;
double r1970295 = 0.1049934947;
double r1970296 = x;
double r1970297 = r1970296 * r1970296;
double r1970298 = r1970295 * r1970297;
double r1970299 = r1970294 + r1970298;
double r1970300 = 0.0424060604;
double r1970301 = r1970297 * r1970297;
double r1970302 = r1970300 * r1970301;
double r1970303 = r1970299 + r1970302;
double r1970304 = 0.0072644182;
double r1970305 = r1970301 * r1970297;
double r1970306 = r1970304 * r1970305;
double r1970307 = r1970303 + r1970306;
double r1970308 = 0.0005064034;
double r1970309 = r1970305 * r1970297;
double r1970310 = r1970308 * r1970309;
double r1970311 = r1970307 + r1970310;
double r1970312 = 0.0001789971;
double r1970313 = r1970309 * r1970297;
double r1970314 = r1970312 * r1970313;
double r1970315 = r1970311 + r1970314;
double r1970316 = 0.7715471019;
double r1970317 = r1970316 * r1970297;
double r1970318 = r1970294 + r1970317;
double r1970319 = 0.2909738639;
double r1970320 = r1970319 * r1970301;
double r1970321 = r1970318 + r1970320;
double r1970322 = 0.0694555761;
double r1970323 = r1970322 * r1970305;
double r1970324 = r1970321 + r1970323;
double r1970325 = 0.0140005442;
double r1970326 = r1970325 * r1970309;
double r1970327 = r1970324 + r1970326;
double r1970328 = 0.0008327945;
double r1970329 = r1970328 * r1970313;
double r1970330 = r1970327 + r1970329;
double r1970331 = 2.0;
double r1970332 = r1970331 * r1970312;
double r1970333 = r1970313 * r1970297;
double r1970334 = r1970332 * r1970333;
double r1970335 = r1970330 + r1970334;
double r1970336 = r1970315 / r1970335;
double r1970337 = r1970336 * r1970296;
return r1970337;
}
double f(double x) {
double r1970338 = 1.0;
double r1970339 = 0.1049934947;
double r1970340 = x;
double r1970341 = r1970340 * r1970340;
double r1970342 = r1970339 * r1970341;
double r1970343 = r1970338 + r1970342;
double r1970344 = 0.0424060604;
double r1970345 = r1970341 * r1970341;
double r1970346 = r1970344 * r1970345;
double r1970347 = r1970343 + r1970346;
double r1970348 = 0.0072644182;
double r1970349 = r1970345 * r1970341;
double r1970350 = r1970348 * r1970349;
double r1970351 = r1970347 + r1970350;
double r1970352 = 0.0005064034;
double r1970353 = r1970349 * r1970341;
double r1970354 = r1970352 * r1970353;
double r1970355 = r1970351 + r1970354;
double r1970356 = 0.0001789971;
double r1970357 = r1970353 * r1970341;
double r1970358 = r1970356 * r1970357;
double r1970359 = r1970355 + r1970358;
double r1970360 = 0.7715471019;
double r1970361 = r1970360 * r1970341;
double r1970362 = r1970338 + r1970361;
double r1970363 = 0.2909738639;
double r1970364 = r1970363 * r1970345;
double r1970365 = r1970362 + r1970364;
double r1970366 = 0.0694555761;
double r1970367 = r1970366 * r1970349;
double r1970368 = r1970365 + r1970367;
double r1970369 = 0.0140005442;
double r1970370 = r1970369 * r1970353;
double r1970371 = r1970368 + r1970370;
double r1970372 = 0.0008327945;
double r1970373 = r1970372 * r1970353;
double r1970374 = r1970373 * r1970341;
double r1970375 = r1970371 + r1970374;
double r1970376 = 2.0;
double r1970377 = r1970376 * r1970356;
double r1970378 = r1970377 * r1970357;
double r1970379 = r1970378 * r1970341;
double r1970380 = r1970375 + r1970379;
double r1970381 = r1970359 / r1970380;
double r1970382 = r1970381 * r1970340;
return r1970382;
}
\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.3
rmApplied associate-*r*3.1
Final simplification3.1
herbie shell --seed 2019102 +o rules:numerics
(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))