#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 r18739 = 1.0f;
        float r18740 = 0.10499349236488342f;
        float r18741 = x;
        float r18742 = r18741 * r18741;
        float r18743 = r18740 * r18742;
        float r18744 = r18739 + r18743;
        float r18745 = 0.04240605980157852f;
        float r18746 = r18742 * r18742;
        float r18747 = r18745 * r18746;
        float r18748 = r18744 + r18747;
        float r18749 = 0.007264418061822653f;
        float r18750 = r18746 * r18742;
        float r18751 = r18749 * r18750;
        float r18752 = r18748 + r18751;
        float r18753 = 0.0005064033903181553f;
        float r18754 = r18750 * r18742;
        float r18755 = r18753 * r18754;
        float r18756 = r18752 + r18755;
        float r18757 = 0.00017899709928315133f;
        float r18758 = r18754 * r18742;
        float r18759 = r18757 * r18758;
        float r18760 = r18756 + r18759;
        float r18761 = 0.7715470790863037f;
        float r18762 = r18761 * r18742;
        float r18763 = r18739 + r18762;
        float r18764 = 0.29097387194633484f;
        float r18765 = r18764 * r18746;
        float r18766 = r18763 + r18765;
        float r18767 = 0.0694555789232254f;
        float r18768 = r18767 * r18750;
        float r18769 = r18766 + r18768;
        float r18770 = 0.01400054432451725f;
        float r18771 = r18770 * r18754;
        float r18772 = r18769 + r18771;
        float r18773 = 0.0008327945251949131f;
        float r18774 = r18773 * r18758;
        float r18775 = r18772 + r18774;
        float r18776 = 2.0f;
        float r18777 = r18776 * r18757;
        float r18778 = r18758 * r18742;
        float r18779 = r18777 * r18778;
        float r18780 = r18775 + r18779;
        float r18781 = r18760 / r18780;
        float r18782 = r18781 * r18741;
        return r18782;
}

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


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

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

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 r18911, r18912, r18913, r18914, r18915, r18916, r18917, r18918, r18919, r18920, r18921, r18922, r18923, r18924, r18925, r18926, r18927, r18928, r18929, r18930, r18931, r18932, r18933, r18934, r18935, r18936, r18937, r18938, r18939, r18940, r18941, r18942, r18943, r18944, r18945, r18946, r18947, r18948, r18949, r18950, r18951, r18952, r18953, r18954;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(144);
        mpfr_init_set_str(r18911, "1", 10, MPFR_RNDN);
        mpfr_init_set_str(r18912, "0.1049934947", 10, MPFR_RNDN);
        mpfr_init(r18913);
        mpfr_init(r18914);
        mpfr_init(r18915);
        mpfr_init(r18916);
        mpfr_init_set_str(r18917, "0.0424060604", 10, MPFR_RNDN);
        mpfr_init(r18918);
        mpfr_init(r18919);
        mpfr_init(r18920);
        mpfr_init_set_str(r18921, "0.0072644182", 10, MPFR_RNDN);
        mpfr_init(r18922);
        mpfr_init(r18923);
        mpfr_init(r18924);
        mpfr_init_set_str(r18925, "0.0005064034", 10, MPFR_RNDN);
        mpfr_init(r18926);
        mpfr_init(r18927);
        mpfr_init(r18928);
        mpfr_init_set_str(r18929, "0.0001789971", 10, MPFR_RNDN);
        mpfr_init(r18930);
        mpfr_init(r18931);
        mpfr_init(r18932);
        mpfr_init_set_str(r18933, "0.7715471019", 10, MPFR_RNDN);
        mpfr_init(r18934);
        mpfr_init(r18935);
        mpfr_init_set_str(r18936, "0.2909738639", 10, MPFR_RNDN);
        mpfr_init(r18937);
        mpfr_init(r18938);
        mpfr_init_set_str(r18939, "0.0694555761", 10, MPFR_RNDN);
        mpfr_init(r18940);
        mpfr_init(r18941);
        mpfr_init_set_str(r18942, "0.0140005442", 10, MPFR_RNDN);
        mpfr_init(r18943);
        mpfr_init(r18944);
        mpfr_init_set_str(r18945, "0.0008327945", 10, MPFR_RNDN);
        mpfr_init(r18946);
        mpfr_init(r18947);
        mpfr_init_set_str(r18948, "2", 10, MPFR_RNDN);
        mpfr_init(r18949);
        mpfr_init(r18950);
        mpfr_init(r18951);
        mpfr_init(r18952);
        mpfr_init(r18953);
        mpfr_init(r18954);
}

double f_im(double x) {
        ;
        ;
        mpfr_set_d(r18913, x, MPFR_RNDN);
        mpfr_mul(r18914, r18913, r18913, MPFR_RNDN);
        mpfr_mul(r18915, r18912, r18914, MPFR_RNDN);
        mpfr_add(r18916, r18911, r18915, MPFR_RNDN);
        ;
        mpfr_mul(r18918, r18914, r18914, MPFR_RNDN);
        mpfr_mul(r18919, r18917, r18918, MPFR_RNDN);
        mpfr_add(r18920, r18916, r18919, MPFR_RNDN);
        ;
        mpfr_mul(r18922, r18918, r18914, MPFR_RNDN);
        mpfr_mul(r18923, r18921, r18922, MPFR_RNDN);
        mpfr_add(r18924, r18920, r18923, MPFR_RNDN);
        ;
        mpfr_mul(r18926, r18922, r18914, MPFR_RNDN);
        mpfr_mul(r18927, r18925, r18926, MPFR_RNDN);
        mpfr_add(r18928, r18924, r18927, MPFR_RNDN);
        ;
        mpfr_mul(r18930, r18926, r18914, MPFR_RNDN);
        mpfr_mul(r18931, r18929, r18930, MPFR_RNDN);
        mpfr_add(r18932, r18928, r18931, MPFR_RNDN);
        ;
        mpfr_mul(r18934, r18933, r18914, MPFR_RNDN);
        mpfr_add(r18935, r18911, r18934, MPFR_RNDN);
        ;
        mpfr_mul(r18937, r18936, r18918, MPFR_RNDN);
        mpfr_add(r18938, r18935, r18937, MPFR_RNDN);
        ;
        mpfr_mul(r18940, r18939, r18922, MPFR_RNDN);
        mpfr_add(r18941, r18938, r18940, MPFR_RNDN);
        ;
        mpfr_mul(r18943, r18942, r18926, MPFR_RNDN);
        mpfr_add(r18944, r18941, r18943, MPFR_RNDN);
        ;
        mpfr_mul(r18946, r18945, r18930, MPFR_RNDN);
        mpfr_add(r18947, r18944, r18946, MPFR_RNDN);
        ;
        mpfr_mul(r18949, r18948, r18929, MPFR_RNDN);
        mpfr_mul(r18950, r18930, r18914, MPFR_RNDN);
        mpfr_mul(r18951, r18949, r18950, MPFR_RNDN);
        mpfr_add(r18952, r18947, r18951, MPFR_RNDN);
        mpfr_div(r18953, r18932, r18952, MPFR_RNDN);
        mpfr_mul(r18954, r18953, r18913, MPFR_RNDN);
        return mpfr_get_d(r18954, MPFR_RNDN);
}

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;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(144);
        mpfr_init(r18955);
        mpfr_init_set_str(r18956, "0.0001789971", 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_set_str(r18963, "0.1049934947", 10, MPFR_RNDN);
        mpfr_init(r18964);
        mpfr_init_set_str(r18965, "1", 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_set_str(r18971, "0.0072644182", 10, MPFR_RNDN);
        mpfr_init(r18972);
        mpfr_init(r18973);
        mpfr_init(r18974);
        mpfr_init(r18975);
        mpfr_init(r18976);
        mpfr_init_set_str(r18977, "2", 10, MPFR_RNDN);
        mpfr_init(r18978);
        mpfr_init(r18979);
        mpfr_init_set_str(r18980, "0.0140005442", 10, MPFR_RNDN);
        mpfr_init_set_str(r18981, "0.0694555761", 10, MPFR_RNDN);
        mpfr_init(r18982);
        mpfr_init(r18983);
        mpfr_init(r18984);
        mpfr_init_set_str(r18985, "0.0008327945", 10, MPFR_RNDN);
        mpfr_init_set_str(r18986, "0.2909738639", 10, MPFR_RNDN);
        mpfr_init_set_str(r18987, "0.7715471019", 10, MPFR_RNDN);
        mpfr_init(r18988);
        mpfr_init(r18989);
        mpfr_init(r18990);
        mpfr_init(r18991);
        mpfr_init(r18992);
        mpfr_init(r18993);
        mpfr_init(r18994);
        mpfr_init(r18995);
        mpfr_init(r18996);
}

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

static mpfr_t r18997, r18998, 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;

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

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

