\frac{\left(\left(\left(\left(1 + 0.1049934947 \cdot \left(x \cdot x\right)\right) + 0.042406060400000001 \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right)\right) + 0.00726441819999999999 \cdot \left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right)\right) + 5.0640340000000002 \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.789971 \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.77154710189999998 \cdot \left(x \cdot x\right)\right) + 0.29097386390000002 \cdot \left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right)\right) + 0.069455576099999999 \cdot \left(\left(\left(x \cdot x\right) \cdot \left(x \cdot x\right)\right) \cdot \left(x \cdot x\right)\right)\right) + 0.014000544199999999 \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.32794500000000044 \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.789971 \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 -1.147765270182274 \lor \neg \left(x \le 1.1589205875478283\right):\\
\;\;\;\;\frac{0.25141790006653753}{{x}^{3}} + \left(\frac{0.5}{x} + \frac{0.1529819634592933}{{x}^{5}}\right)\\
\mathbf{else}:\\
\;\;\;\;\left(1 \cdot x + 0.265709700396150994 \cdot {x}^{5}\right) - 0.66655360720000001 \cdot {x}^{3}\\
\end{array}double f(double x) {
double r160934 = 1.0;
double r160935 = 0.1049934947;
double r160936 = x;
double r160937 = r160936 * r160936;
double r160938 = r160935 * r160937;
double r160939 = r160934 + r160938;
double r160940 = 0.0424060604;
double r160941 = r160937 * r160937;
double r160942 = r160940 * r160941;
double r160943 = r160939 + r160942;
double r160944 = 0.0072644182;
double r160945 = r160941 * r160937;
double r160946 = r160944 * r160945;
double r160947 = r160943 + r160946;
double r160948 = 0.0005064034;
double r160949 = r160945 * r160937;
double r160950 = r160948 * r160949;
double r160951 = r160947 + r160950;
double r160952 = 0.0001789971;
double r160953 = r160949 * r160937;
double r160954 = r160952 * r160953;
double r160955 = r160951 + r160954;
double r160956 = 0.7715471019;
double r160957 = r160956 * r160937;
double r160958 = r160934 + r160957;
double r160959 = 0.2909738639;
double r160960 = r160959 * r160941;
double r160961 = r160958 + r160960;
double r160962 = 0.0694555761;
double r160963 = r160962 * r160945;
double r160964 = r160961 + r160963;
double r160965 = 0.0140005442;
double r160966 = r160965 * r160949;
double r160967 = r160964 + r160966;
double r160968 = 0.0008327945;
double r160969 = r160968 * r160953;
double r160970 = r160967 + r160969;
double r160971 = 2.0;
double r160972 = r160971 * r160952;
double r160973 = r160953 * r160937;
double r160974 = r160972 * r160973;
double r160975 = r160970 + r160974;
double r160976 = r160955 / r160975;
double r160977 = r160976 * r160936;
return r160977;
}
double f(double x) {
double r160978 = x;
double r160979 = -1.147765270182274;
bool r160980 = r160978 <= r160979;
double r160981 = 1.1589205875478283;
bool r160982 = r160978 <= r160981;
double r160983 = !r160982;
bool r160984 = r160980 || r160983;
double r160985 = 0.2514179000665375;
double r160986 = 3.0;
double r160987 = pow(r160978, r160986);
double r160988 = r160985 / r160987;
double r160989 = 0.5;
double r160990 = r160989 / r160978;
double r160991 = 0.15298196345929327;
double r160992 = 5.0;
double r160993 = pow(r160978, r160992);
double r160994 = r160991 / r160993;
double r160995 = r160990 + r160994;
double r160996 = r160988 + r160995;
double r160997 = 1.0;
double r160998 = r160997 * r160978;
double r160999 = 0.265709700396151;
double r161000 = r160999 * r160993;
double r161001 = r160998 + r161000;
double r161002 = 0.6665536072;
double r161003 = r161002 * r160987;
double r161004 = r161001 - r161003;
double r161005 = r160984 ? r160996 : r161004;
return r161005;
}



Bits error versus x
Results
if x < -1.147765270182274 or 1.1589205875478283 < x Initial program 58.5
Simplified58.5
Taylor expanded around inf 0.4
Simplified0.4
if -1.147765270182274 < x < 1.1589205875478283Initial program 0.0
Simplified0.0
Taylor expanded around 0 0.1
Final simplification0.2
herbie shell --seed 2020046
(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))