#include <tgmath.h>
#include <gmp.h>
#include <mpfr.h>
#include <stdio.h>
#include <stdbool.h>

char *name = "Jmat.Real.dawson";

double f_if(float x) {
        float r18783 = 1.0f;
        float r18784 = 0.10499349236488342f;
        float r18785 = x;
        float r18786 = r18785 * r18785;
        float r18787 = r18784 * r18786;
        float r18788 = r18783 + r18787;
        float r18789 = 0.04240605980157852f;
        float r18790 = r18786 * r18786;
        float r18791 = r18789 * r18790;
        float r18792 = r18788 + r18791;
        float r18793 = 0.007264418061822653f;
        float r18794 = r18790 * r18786;
        float r18795 = r18793 * r18794;
        float r18796 = r18792 + r18795;
        float r18797 = 0.0005064033903181553f;
        float r18798 = r18794 * r18786;
        float r18799 = r18797 * r18798;
        float r18800 = r18796 + r18799;
        float r18801 = 0.00017899709928315133f;
        float r18802 = r18798 * r18786;
        float r18803 = r18801 * r18802;
        float r18804 = r18800 + r18803;
        float r18805 = 0.7715470790863037f;
        float r18806 = r18805 * r18786;
        float r18807 = r18783 + r18806;
        float r18808 = 0.29097387194633484f;
        float r18809 = r18808 * r18790;
        float r18810 = r18807 + r18809;
        float r18811 = 0.0694555789232254f;
        float r18812 = r18811 * r18794;
        float r18813 = r18810 + r18812;
        float r18814 = 0.01400054432451725f;
        float r18815 = r18814 * r18798;
        float r18816 = r18813 + r18815;
        float r18817 = 0.0008327945251949131f;
        float r18818 = r18817 * r18802;
        float r18819 = r18816 + r18818;
        float r18820 = 2.0f;
        float r18821 = r18820 * r18801;
        float r18822 = r18802 * r18786;
        float r18823 = r18821 * r18822;
        float r18824 = r18819 + r18823;
        float r18825 = r18804 / r18824;
        float r18826 = r18825 * r18785;
        return r18826;
}

double f_id(double x) {
        double r18827 = 1.0;
        double r18828 = 0.10499349236488342;
        double r18829 = x;
        double r18830 = r18829 * r18829;
        double r18831 = r18828 * r18830;
        double r18832 = r18827 + r18831;
        double r18833 = 0.04240605980157852;
        double r18834 = r18830 * r18830;
        double r18835 = r18833 * r18834;
        double r18836 = r18832 + r18835;
        double r18837 = 0.007264418061822653;
        double r18838 = r18834 * r18830;
        double r18839 = r18837 * r18838;
        double r18840 = r18836 + r18839;
        double r18841 = 0.0005064033903181553;
        double r18842 = r18838 * r18830;
        double r18843 = r18841 * r18842;
        double r18844 = r18840 + r18843;
        double r18845 = 0.00017899709928315133;
        double r18846 = r18842 * r18830;
        double r18847 = r18845 * r18846;
        double r18848 = r18844 + r18847;
        double r18849 = 0.7715470790863037;
        double r18850 = r18849 * r18830;
        double r18851 = r18827 + r18850;
        double r18852 = 0.29097387194633484;
        double r18853 = r18852 * r18834;
        double r18854 = r18851 + r18853;
        double r18855 = 0.0694555789232254;
        double r18856 = r18855 * r18838;
        double r18857 = r18854 + r18856;
        double r18858 = 0.01400054432451725;
        double r18859 = r18858 * r18842;
        double r18860 = r18857 + r18859;
        double r18861 = 0.0008327945251949131;
        double r18862 = r18861 * r18846;
        double r18863 = r18860 + r18862;
        double r18864 = 2.0;
        double r18865 = r18864 * r18845;
        double r18866 = r18846 * r18830;
        double r18867 = r18865 * r18866;
        double r18868 = r18863 + r18867;
        double r18869 = r18848 / r18868;
        double r18870 = r18869 * r18829;
        return r18870;
}


double f_of(float x) {
        float r18871 = x;
        float r18872 = 0.00017899709928315133f;
        float r18873 = r18871 * (r18871 * r18871);
        float r18874 = r18871 * r18871;
        float r18875 = r18873 * r18874;
        float r18876 = r18875 * r18875;
        float r18877 = 0.04240605980157852f;
        float r18878 = r18874 * r18874;
        float r18879 = 0.10499349236488342f;
        float r18880 = r18871 * r18879;
        float r18881 = 1.0f;
        float r18882 = fma(r18880, r18871, r18881);
        float r18883 = fma(r18877, r18878, r18882);
        float r18884 = fma(r18872, r18876, r18883);
        float r18885 = 0.0005064033903181553f;
        float r18886 = r18878 * r18878;
        float r18887 = 0.007264418061822653f;
        float r18888 = r18873 * r18873;
        float r18889 = r18887 * r18888;
        float r18890 = fma(r18885, r18886, r18889);
        float r18891 = r18884 + r18890;
        float r18892 = r18871 * r18891;
        float r18893 = 2.0f;
        float r18894 = r18872 * r18893;
        float r18895 = r18888 * r18888;
        float r18896 = 0.01400054432451725f;
        float r18897 = 0.0694555789232254f;
        float r18898 = r18874 * r18897;
        float r18899 = r18878 * r18898;
        float r18900 = fma(r18886, r18896, r18899);
        float r18901 = 0.0008327945251949131f;
        float r18902 = 0.29097387194633484f;
        float r18903 = 0.7715470790863037f;
        float r18904 = r18871 * r18903;
        float r18905 = fma(r18904, r18871, r18881);
        float r18906 = fma(r18902, r18878, r18905);
        float r18907 = fma(r18901, r18876, r18906);
        float r18908 = r18900 + r18907;
        float r18909 = fma(r18894, r18895, r18908);
        float r18910 = r18892 / r18909;
        float r18911 = expm1(r18910);
        float r18912 = log1p(r18911);
        return r18912;
}

double f_od(double x) {
        double r18913 = x;
        double r18914 = 0.00017899709928315133;
        double r18915 = r18913 * (r18913 * r18913);
        double r18916 = r18913 * r18913;
        double r18917 = r18915 * r18916;
        double r18918 = r18917 * r18917;
        double r18919 = 0.04240605980157852;
        double r18920 = r18916 * r18916;
        double r18921 = 0.10499349236488342;
        double r18922 = r18913 * r18921;
        double r18923 = 1.0;
        double r18924 = fma(r18922, r18913, r18923);
        double r18925 = fma(r18919, r18920, r18924);
        double r18926 = fma(r18914, r18918, r18925);
        double r18927 = 0.0005064033903181553;
        double r18928 = r18920 * r18920;
        double r18929 = 0.007264418061822653;
        double r18930 = r18915 * r18915;
        double r18931 = r18929 * r18930;
        double r18932 = fma(r18927, r18928, r18931);
        double r18933 = r18926 + r18932;
        double r18934 = r18913 * r18933;
        double r18935 = 2.0;
        double r18936 = r18914 * r18935;
        double r18937 = r18930 * r18930;
        double r18938 = 0.01400054432451725;
        double r18939 = 0.0694555789232254;
        double r18940 = r18916 * r18939;
        double r18941 = r18920 * r18940;
        double r18942 = fma(r18928, r18938, r18941);
        double r18943 = 0.0008327945251949131;
        double r18944 = 0.29097387194633484;
        double r18945 = 0.7715470790863037;
        double r18946 = r18913 * r18945;
        double r18947 = fma(r18946, r18913, r18923);
        double r18948 = fma(r18944, r18920, r18947);
        double r18949 = fma(r18943, r18918, r18948);
        double r18950 = r18942 + r18949;
        double r18951 = fma(r18936, r18937, r18950);
        double r18952 = r18934 / r18951;
        double r18953 = expm1(r18952);
        double r18954 = log1p(r18953);
        return r18954;
}

void mpfr_fmod2(mpfr_t r, mpfr_t n, mpfr_t d, mpfr_rnd_t rmd) {
        mpfr_fmod(r, n, d, rmd);
        if (mpfr_cmp_ui(r, 0) < 0) mpfr_add(r, r, d, rmd);
}


static mpfr_t r18955, r18956, r18957, r18958, r18959, r18960, r18961, r18962, r18963, r18964, r18965, r18966, r18967, r18968, r18969, r18970, r18971, r18972, r18973, r18974, r18975, r18976, r18977, r18978, r18979, r18980, r18981, r18982, r18983, r18984, r18985, r18986, r18987, r18988, r18989, r18990, r18991, r18992, r18993, r18994, r18995, r18996, r18997, r18998;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(144);
        mpfr_init_set_str(r18955, "1", 10, MPFR_RNDN);
        mpfr_init_set_str(r18956, "0.1049934947", 10, MPFR_RNDN);
        mpfr_init(r18957);
        mpfr_init(r18958);
        mpfr_init(r18959);
        mpfr_init(r18960);
        mpfr_init_set_str(r18961, "0.0424060604", 10, MPFR_RNDN);
        mpfr_init(r18962);
        mpfr_init(r18963);
        mpfr_init(r18964);
        mpfr_init_set_str(r18965, "0.0072644182", 10, MPFR_RNDN);
        mpfr_init(r18966);
        mpfr_init(r18967);
        mpfr_init(r18968);
        mpfr_init_set_str(r18969, "0.0005064034", 10, MPFR_RNDN);
        mpfr_init(r18970);
        mpfr_init(r18971);
        mpfr_init(r18972);
        mpfr_init_set_str(r18973, "0.0001789971", 10, MPFR_RNDN);
        mpfr_init(r18974);
        mpfr_init(r18975);
        mpfr_init(r18976);
        mpfr_init_set_str(r18977, "0.7715471019", 10, MPFR_RNDN);
        mpfr_init(r18978);
        mpfr_init(r18979);
        mpfr_init_set_str(r18980, "0.2909738639", 10, MPFR_RNDN);
        mpfr_init(r18981);
        mpfr_init(r18982);
        mpfr_init_set_str(r18983, "0.0694555761", 10, MPFR_RNDN);
        mpfr_init(r18984);
        mpfr_init(r18985);
        mpfr_init_set_str(r18986, "0.0140005442", 10, MPFR_RNDN);
        mpfr_init(r18987);
        mpfr_init(r18988);
        mpfr_init_set_str(r18989, "0.0008327945", 10, MPFR_RNDN);
        mpfr_init(r18990);
        mpfr_init(r18991);
        mpfr_init_set_str(r18992, "2", 10, MPFR_RNDN);
        mpfr_init(r18993);
        mpfr_init(r18994);
        mpfr_init(r18995);
        mpfr_init(r18996);
        mpfr_init(r18997);
        mpfr_init(r18998);
}

double f_im(double x) {
        ;
        ;
        mpfr_set_d(r18957, x, MPFR_RNDN);
        mpfr_mul(r18958, r18957, r18957, MPFR_RNDN);
        mpfr_mul(r18959, r18956, r18958, MPFR_RNDN);
        mpfr_add(r18960, r18955, r18959, MPFR_RNDN);
        ;
        mpfr_mul(r18962, r18958, r18958, MPFR_RNDN);
        mpfr_mul(r18963, r18961, r18962, MPFR_RNDN);
        mpfr_add(r18964, r18960, r18963, MPFR_RNDN);
        ;
        mpfr_mul(r18966, r18962, r18958, MPFR_RNDN);
        mpfr_mul(r18967, r18965, r18966, MPFR_RNDN);
        mpfr_add(r18968, r18964, r18967, MPFR_RNDN);
        ;
        mpfr_mul(r18970, r18966, r18958, MPFR_RNDN);
        mpfr_mul(r18971, r18969, r18970, MPFR_RNDN);
        mpfr_add(r18972, r18968, r18971, MPFR_RNDN);
        ;
        mpfr_mul(r18974, r18970, r18958, MPFR_RNDN);
        mpfr_mul(r18975, r18973, r18974, MPFR_RNDN);
        mpfr_add(r18976, r18972, r18975, MPFR_RNDN);
        ;
        mpfr_mul(r18978, r18977, r18958, MPFR_RNDN);
        mpfr_add(r18979, r18955, r18978, MPFR_RNDN);
        ;
        mpfr_mul(r18981, r18980, r18962, MPFR_RNDN);
        mpfr_add(r18982, r18979, r18981, MPFR_RNDN);
        ;
        mpfr_mul(r18984, r18983, r18966, MPFR_RNDN);
        mpfr_add(r18985, r18982, r18984, MPFR_RNDN);
        ;
        mpfr_mul(r18987, r18986, r18970, MPFR_RNDN);
        mpfr_add(r18988, r18985, r18987, MPFR_RNDN);
        ;
        mpfr_mul(r18990, r18989, r18974, MPFR_RNDN);
        mpfr_add(r18991, r18988, r18990, MPFR_RNDN);
        ;
        mpfr_mul(r18993, r18992, r18973, MPFR_RNDN);
        mpfr_mul(r18994, r18974, r18958, MPFR_RNDN);
        mpfr_mul(r18995, r18993, r18994, MPFR_RNDN);
        mpfr_add(r18996, r18991, r18995, MPFR_RNDN);
        mpfr_div(r18997, r18976, r18996, MPFR_RNDN);
        mpfr_mul(r18998, r18997, r18957, MPFR_RNDN);
        return mpfr_get_d(r18998, MPFR_RNDN);
}

static mpfr_t r18999, r19000, r19001, r19002, r19003, r19004, r19005, r19006, r19007, r19008, r19009, r19010, r19011, r19012, r19013, r19014, r19015, r19016, r19017, r19018, r19019, r19020, r19021, r19022, r19023, r19024, r19025, r19026, r19027, r19028, r19029, r19030, r19031, r19032, r19033, r19034, r19035, r19036, r19037, r19038, r19039, r19040;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(144);
        mpfr_init(r18999);
        mpfr_init_set_str(r19000, "0.0001789971", 10, MPFR_RNDN);
        mpfr_init(r19001);
        mpfr_init(r19002);
        mpfr_init(r19003);
        mpfr_init(r19004);
        mpfr_init_set_str(r19005, "0.0424060604", 10, MPFR_RNDN);
        mpfr_init(r19006);
        mpfr_init_set_str(r19007, "0.1049934947", 10, MPFR_RNDN);
        mpfr_init(r19008);
        mpfr_init_set_str(r19009, "1", 10, MPFR_RNDN);
        mpfr_init(r19010);
        mpfr_init(r19011);
        mpfr_init(r19012);
        mpfr_init_set_str(r19013, "0.0005064034", 10, MPFR_RNDN);
        mpfr_init(r19014);
        mpfr_init_set_str(r19015, "0.0072644182", 10, MPFR_RNDN);
        mpfr_init(r19016);
        mpfr_init(r19017);
        mpfr_init(r19018);
        mpfr_init(r19019);
        mpfr_init(r19020);
        mpfr_init_set_str(r19021, "2", 10, MPFR_RNDN);
        mpfr_init(r19022);
        mpfr_init(r19023);
        mpfr_init_set_str(r19024, "0.0140005442", 10, MPFR_RNDN);
        mpfr_init_set_str(r19025, "0.0694555761", 10, MPFR_RNDN);
        mpfr_init(r19026);
        mpfr_init(r19027);
        mpfr_init(r19028);
        mpfr_init_set_str(r19029, "0.0008327945", 10, MPFR_RNDN);
        mpfr_init_set_str(r19030, "0.2909738639", 10, MPFR_RNDN);
        mpfr_init_set_str(r19031, "0.7715471019", 10, MPFR_RNDN);
        mpfr_init(r19032);
        mpfr_init(r19033);
        mpfr_init(r19034);
        mpfr_init(r19035);
        mpfr_init(r19036);
        mpfr_init(r19037);
        mpfr_init(r19038);
        mpfr_init(r19039);
        mpfr_init(r19040);
}

double f_fm(double x) {
        mpfr_set_d(r18999, x, MPFR_RNDN);
        ;
        mpfr_mul(r19001, r18999, r18999, MPFR_RNDN); mpfr_mul(r19001, r19001, r18999, MPFR_RNDN);
        mpfr_sqr(r19002, r18999, MPFR_RNDN);
        mpfr_mul(r19003, r19001, r19002, MPFR_RNDN);
        mpfr_sqr(r19004, r19003, MPFR_RNDN);
        ;
        mpfr_mul(r19006, r19002, r19002, MPFR_RNDN);
        ;
        mpfr_mul(r19008, r18999, r19007, MPFR_RNDN);
        ;
        mpfr_fma(r19010, r19008, r18999, r19009, MPFR_RNDN);
        mpfr_fma(r19011, r19005, r19006, r19010, MPFR_RNDN);
        mpfr_fma(r19012, r19000, r19004, r19011, MPFR_RNDN);
        ;
        mpfr_mul(r19014, r19006, r19006, MPFR_RNDN);
        ;
        mpfr_sqr(r19016, r19001, MPFR_RNDN);
        mpfr_mul(r19017, r19015, r19016, MPFR_RNDN);
        mpfr_fma(r19018, r19013, r19014, r19017, MPFR_RNDN);
        mpfr_add(r19019, r19012, r19018, MPFR_RNDN);
        mpfr_mul(r19020, r18999, r19019, MPFR_RNDN);
        ;
        mpfr_mul(r19022, r19000, r19021, MPFR_RNDN);
        mpfr_mul(r19023, r19016, r19016, MPFR_RNDN);
        ;
        ;
        mpfr_mul(r19026, r19002, r19025, MPFR_RNDN);
        mpfr_mul(r19027, r19006, r19026, MPFR_RNDN);
        mpfr_fma(r19028, r19014, r19024, r19027, MPFR_RNDN);
        ;
        ;
        ;
        mpfr_mul(r19032, r18999, r19031, MPFR_RNDN);
        mpfr_fma(r19033, r19032, r18999, r19009, MPFR_RNDN);
        mpfr_fma(r19034, r19030, r19006, r19033, MPFR_RNDN);
        mpfr_fma(r19035, r19029, r19004, r19034, MPFR_RNDN);
        mpfr_add(r19036, r19028, r19035, MPFR_RNDN);
        mpfr_fma(r19037, r19022, r19023, r19036, MPFR_RNDN);
        mpfr_div(r19038, r19020, r19037, MPFR_RNDN);
        mpfr_expm1(r19039, r19038, MPFR_RNDN);
        mpfr_log1p(r19040, r19039, MPFR_RNDN);
        return mpfr_get_d(r19040, MPFR_RNDN);
}

static mpfr_t r19041, r19042, r19043, r19044, r19045, r19046, r19047, r19048, r19049, r19050, r19051, r19052, r19053, r19054, r19055, r19056, r19057, r19058, r19059, r19060, r19061, r19062, r19063, r19064, r19065, r19066, r19067, r19068, r19069, r19070, r19071, r19072, r19073, r19074, r19075, r19076, r19077, r19078, r19079, r19080, r19081, r19082;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(144);
        mpfr_init(r19041);
        mpfr_init_set_str(r19042, "0.0001789971", 10, MPFR_RNDN);
        mpfr_init(r19043);
        mpfr_init(r19044);
        mpfr_init(r19045);
        mpfr_init(r19046);
        mpfr_init_set_str(r19047, "0.0424060604", 10, MPFR_RNDN);
        mpfr_init(r19048);
        mpfr_init_set_str(r19049, "0.1049934947", 10, MPFR_RNDN);
        mpfr_init(r19050);
        mpfr_init_set_str(r19051, "1", 10, MPFR_RNDN);
        mpfr_init(r19052);
        mpfr_init(r19053);
        mpfr_init(r19054);
        mpfr_init_set_str(r19055, "0.0005064034", 10, MPFR_RNDN);
        mpfr_init(r19056);
        mpfr_init_set_str(r19057, "0.0072644182", 10, MPFR_RNDN);
        mpfr_init(r19058);
        mpfr_init(r19059);
        mpfr_init(r19060);
        mpfr_init(r19061);
        mpfr_init(r19062);
        mpfr_init_set_str(r19063, "2", 10, MPFR_RNDN);
        mpfr_init(r19064);
        mpfr_init(r19065);
        mpfr_init_set_str(r19066, "0.0140005442", 10, MPFR_RNDN);
        mpfr_init_set_str(r19067, "0.0694555761", 10, MPFR_RNDN);
        mpfr_init(r19068);
        mpfr_init(r19069);
        mpfr_init(r19070);
        mpfr_init_set_str(r19071, "0.0008327945", 10, MPFR_RNDN);
        mpfr_init_set_str(r19072, "0.2909738639", 10, MPFR_RNDN);
        mpfr_init_set_str(r19073, "0.7715471019", 10, MPFR_RNDN);
        mpfr_init(r19074);
        mpfr_init(r19075);
        mpfr_init(r19076);
        mpfr_init(r19077);
        mpfr_init(r19078);
        mpfr_init(r19079);
        mpfr_init(r19080);
        mpfr_init(r19081);
        mpfr_init(r19082);
}

double f_dm(double x) {
        mpfr_set_d(r19041, x, MPFR_RNDN);
        ;
        mpfr_mul(r19043, r19041, r19041, MPFR_RNDN); mpfr_mul(r19043, r19043, r19041, MPFR_RNDN);
        mpfr_sqr(r19044, r19041, MPFR_RNDN);
        mpfr_mul(r19045, r19043, r19044, MPFR_RNDN);
        mpfr_sqr(r19046, r19045, MPFR_RNDN);
        ;
        mpfr_mul(r19048, r19044, r19044, MPFR_RNDN);
        ;
        mpfr_mul(r19050, r19041, r19049, MPFR_RNDN);
        ;
        mpfr_fma(r19052, r19050, r19041, r19051, MPFR_RNDN);
        mpfr_fma(r19053, r19047, r19048, r19052, MPFR_RNDN);
        mpfr_fma(r19054, r19042, r19046, r19053, MPFR_RNDN);
        ;
        mpfr_mul(r19056, r19048, r19048, MPFR_RNDN);
        ;
        mpfr_sqr(r19058, r19043, MPFR_RNDN);
        mpfr_mul(r19059, r19057, r19058, MPFR_RNDN);
        mpfr_fma(r19060, r19055, r19056, r19059, MPFR_RNDN);
        mpfr_add(r19061, r19054, r19060, MPFR_RNDN);
        mpfr_mul(r19062, r19041, r19061, MPFR_RNDN);
        ;
        mpfr_mul(r19064, r19042, r19063, MPFR_RNDN);
        mpfr_mul(r19065, r19058, r19058, MPFR_RNDN);
        ;
        ;
        mpfr_mul(r19068, r19044, r19067, MPFR_RNDN);
        mpfr_mul(r19069, r19048, r19068, MPFR_RNDN);
        mpfr_fma(r19070, r19056, r19066, r19069, MPFR_RNDN);
        ;
        ;
        ;
        mpfr_mul(r19074, r19041, r19073, MPFR_RNDN);
        mpfr_fma(r19075, r19074, r19041, r19051, MPFR_RNDN);
        mpfr_fma(r19076, r19072, r19048, r19075, MPFR_RNDN);
        mpfr_fma(r19077, r19071, r19046, r19076, MPFR_RNDN);
        mpfr_add(r19078, r19070, r19077, MPFR_RNDN);
        mpfr_fma(r19079, r19064, r19065, r19078, MPFR_RNDN);
        mpfr_div(r19080, r19062, r19079, MPFR_RNDN);
        mpfr_expm1(r19081, r19080, MPFR_RNDN);
        mpfr_log1p(r19082, r19081, MPFR_RNDN);
        return mpfr_get_d(r19082, MPFR_RNDN);
}

