#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 r56508861 = 1;
        float r56508862 = 0.1049934947;
        float r56508863 = x;
        float r56508864 = r56508863 * r56508863;
        float r56508865 = r56508862 * r56508864;
        float r56508866 = r56508861 + r56508865;
        float r56508867 = 0.0424060604;
        float r56508868 = r56508864 * r56508864;
        float r56508869 = r56508867 * r56508868;
        float r56508870 = r56508866 + r56508869;
        float r56508871 = 0.0072644182;
        float r56508872 = r56508868 * r56508864;
        float r56508873 = r56508871 * r56508872;
        float r56508874 = r56508870 + r56508873;
        float r56508875 = 0.0005064034;
        float r56508876 = r56508872 * r56508864;
        float r56508877 = r56508875 * r56508876;
        float r56508878 = r56508874 + r56508877;
        float r56508879 = 0.0001789971;
        float r56508880 = r56508876 * r56508864;
        float r56508881 = r56508879 * r56508880;
        float r56508882 = r56508878 + r56508881;
        float r56508883 = 0.7715471019;
        float r56508884 = r56508883 * r56508864;
        float r56508885 = r56508861 + r56508884;
        float r56508886 = 0.2909738639;
        float r56508887 = r56508886 * r56508868;
        float r56508888 = r56508885 + r56508887;
        float r56508889 = 0.0694555761;
        float r56508890 = r56508889 * r56508872;
        float r56508891 = r56508888 + r56508890;
        float r56508892 = 0.0140005442;
        float r56508893 = r56508892 * r56508876;
        float r56508894 = r56508891 + r56508893;
        float r56508895 = 0.0008327945;
        float r56508896 = r56508895 * r56508880;
        float r56508897 = r56508894 + r56508896;
        float r56508898 = 2;
        float r56508899 = r56508898 * r56508879;
        float r56508900 = r56508880 * r56508864;
        float r56508901 = r56508899 * r56508900;
        float r56508902 = r56508897 + r56508901;
        float r56508903 = r56508882 / r56508902;
        float r56508904 = r56508903 * r56508863;
        return r56508904;
}

double f_id(double x) {
        double r56508905 = 1;
        double r56508906 = 0.1049934947;
        double r56508907 = x;
        double r56508908 = r56508907 * r56508907;
        double r56508909 = r56508906 * r56508908;
        double r56508910 = r56508905 + r56508909;
        double r56508911 = 0.0424060604;
        double r56508912 = r56508908 * r56508908;
        double r56508913 = r56508911 * r56508912;
        double r56508914 = r56508910 + r56508913;
        double r56508915 = 0.0072644182;
        double r56508916 = r56508912 * r56508908;
        double r56508917 = r56508915 * r56508916;
        double r56508918 = r56508914 + r56508917;
        double r56508919 = 0.0005064034;
        double r56508920 = r56508916 * r56508908;
        double r56508921 = r56508919 * r56508920;
        double r56508922 = r56508918 + r56508921;
        double r56508923 = 0.0001789971;
        double r56508924 = r56508920 * r56508908;
        double r56508925 = r56508923 * r56508924;
        double r56508926 = r56508922 + r56508925;
        double r56508927 = 0.7715471019;
        double r56508928 = r56508927 * r56508908;
        double r56508929 = r56508905 + r56508928;
        double r56508930 = 0.2909738639;
        double r56508931 = r56508930 * r56508912;
        double r56508932 = r56508929 + r56508931;
        double r56508933 = 0.0694555761;
        double r56508934 = r56508933 * r56508916;
        double r56508935 = r56508932 + r56508934;
        double r56508936 = 0.0140005442;
        double r56508937 = r56508936 * r56508920;
        double r56508938 = r56508935 + r56508937;
        double r56508939 = 0.0008327945;
        double r56508940 = r56508939 * r56508924;
        double r56508941 = r56508938 + r56508940;
        double r56508942 = 2;
        double r56508943 = r56508942 * r56508923;
        double r56508944 = r56508924 * r56508908;
        double r56508945 = r56508943 * r56508944;
        double r56508946 = r56508941 + r56508945;
        double r56508947 = r56508926 / r56508946;
        double r56508948 = r56508947 * r56508907;
        return r56508948;
}


double f_of(float x) {
        float r56508949 = x;
        float r56508950 = -329338277685.85504;
        bool r56508951 = r56508949 <= r56508950;
        float r56508952 = 0.5;
        float r56508953 = r56508952 / r56508949;
        float r56508954 = 0.15298196345929327;
        float r56508955 = 6;
        float r56508956 = pow(r56508949, r56508955);
        float r56508957 = r56508954 / r56508956;
        float r56508958 = 0.2514179000665375;
        float r56508959 = 4;
        float r56508960 = pow(r56508949, r56508959);
        float r56508961 = r56508958 / r56508960;
        float r56508962 = r56508957 + r56508961;
        float r56508963 = r56508962 * r56508949;
        float r56508964 = r56508953 + r56508963;
        float r56508965 = 1200.1186130961028;
        bool r56508966 = r56508949 <= r56508965;
        float r56508967 = 1;
        float r56508968 = 0.1049934947;
        float r56508969 = r56508949 * r56508949;
        float r56508970 = r56508968 * r56508969;
        float r56508971 = r56508967 + r56508970;
        float r56508972 = 0.0424060604;
        float r56508973 = r56508969 * r56508969;
        float r56508974 = r56508972 * r56508973;
        float r56508975 = r56508971 + r56508974;
        float r56508976 = 0.0072644182;
        float r56508977 = r56508973 * r56508969;
        float r56508978 = r56508976 * r56508977;
        float r56508979 = r56508975 + r56508978;
        float r56508980 = 0.0005064034;
        float r56508981 = r56508977 * r56508969;
        float r56508982 = r56508980 * r56508981;
        float r56508983 = r56508979 + r56508982;
        float r56508984 = 0.0001789971;
        float r56508985 = r56508981 * r56508969;
        float r56508986 = r56508984 * r56508985;
        float r56508987 = r56508983 + r56508986;
        float r56508988 = 0.7715471019;
        float r56508989 = r56508988 * r56508969;
        float r56508990 = r56508967 + r56508989;
        float r56508991 = 0.2909738639;
        float r56508992 = r56508991 * r56508973;
        float r56508993 = r56508990 + r56508992;
        float r56508994 = 0.0694555761;
        float r56508995 = r56508994 * r56508977;
        float r56508996 = r56508993 + r56508995;
        float r56508997 = 0.0140005442;
        float r56508998 = r56508997 * r56508981;
        float r56508999 = r56508996 + r56508998;
        float r56509000 = 0.0008327945;
        float r56509001 = r56509000 * r56508985;
        float r56509002 = r56508999 + r56509001;
        float r56509003 = 2;
        float r56509004 = r56509003 * r56508984;
        float r56509005 = r56508985 * r56508969;
        float r56509006 = r56509004 * r56509005;
        float r56509007 = r56509002 + r56509006;
        float r56509008 = r56508987 / r56509007;
        float r56509009 = r56509008 * r56508949;
        float r56509010 = r56508966 ? r56509009 : r56508964;
        float r56509011 = r56508951 ? r56508964 : r56509010;
        return r56509011;
}

double f_od(double x) {
        double r56509012 = x;
        double r56509013 = -329338277685.85504;
        bool r56509014 = r56509012 <= r56509013;
        double r56509015 = 0.5;
        double r56509016 = r56509015 / r56509012;
        double r56509017 = 0.15298196345929327;
        double r56509018 = 6;
        double r56509019 = pow(r56509012, r56509018);
        double r56509020 = r56509017 / r56509019;
        double r56509021 = 0.2514179000665375;
        double r56509022 = 4;
        double r56509023 = pow(r56509012, r56509022);
        double r56509024 = r56509021 / r56509023;
        double r56509025 = r56509020 + r56509024;
        double r56509026 = r56509025 * r56509012;
        double r56509027 = r56509016 + r56509026;
        double r56509028 = 1200.1186130961028;
        bool r56509029 = r56509012 <= r56509028;
        double r56509030 = 1;
        double r56509031 = 0.1049934947;
        double r56509032 = r56509012 * r56509012;
        double r56509033 = r56509031 * r56509032;
        double r56509034 = r56509030 + r56509033;
        double r56509035 = 0.0424060604;
        double r56509036 = r56509032 * r56509032;
        double r56509037 = r56509035 * r56509036;
        double r56509038 = r56509034 + r56509037;
        double r56509039 = 0.0072644182;
        double r56509040 = r56509036 * r56509032;
        double r56509041 = r56509039 * r56509040;
        double r56509042 = r56509038 + r56509041;
        double r56509043 = 0.0005064034;
        double r56509044 = r56509040 * r56509032;
        double r56509045 = r56509043 * r56509044;
        double r56509046 = r56509042 + r56509045;
        double r56509047 = 0.0001789971;
        double r56509048 = r56509044 * r56509032;
        double r56509049 = r56509047 * r56509048;
        double r56509050 = r56509046 + r56509049;
        double r56509051 = 0.7715471019;
        double r56509052 = r56509051 * r56509032;
        double r56509053 = r56509030 + r56509052;
        double r56509054 = 0.2909738639;
        double r56509055 = r56509054 * r56509036;
        double r56509056 = r56509053 + r56509055;
        double r56509057 = 0.0694555761;
        double r56509058 = r56509057 * r56509040;
        double r56509059 = r56509056 + r56509058;
        double r56509060 = 0.0140005442;
        double r56509061 = r56509060 * r56509044;
        double r56509062 = r56509059 + r56509061;
        double r56509063 = 0.0008327945;
        double r56509064 = r56509063 * r56509048;
        double r56509065 = r56509062 + r56509064;
        double r56509066 = 2;
        double r56509067 = r56509066 * r56509047;
        double r56509068 = r56509048 * r56509032;
        double r56509069 = r56509067 * r56509068;
        double r56509070 = r56509065 + r56509069;
        double r56509071 = r56509050 / r56509070;
        double r56509072 = r56509071 * r56509012;
        double r56509073 = r56509029 ? r56509072 : r56509027;
        double r56509074 = r56509014 ? r56509027 : r56509073;
        return r56509074;
}

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 r56509075, r56509076, r56509077, r56509078, r56509079, r56509080, r56509081, r56509082, r56509083, r56509084, r56509085, r56509086, r56509087, r56509088, r56509089, r56509090, r56509091, r56509092, r56509093, r56509094, r56509095, r56509096, r56509097, r56509098, r56509099, r56509100, r56509101, r56509102, r56509103, r56509104, r56509105, r56509106, r56509107, r56509108, r56509109, r56509110, r56509111, r56509112, r56509113, r56509114, r56509115, r56509116, r56509117, r56509118;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(400);
        mpfr_init_set_str(r56509075, "1", 10, MPFR_RNDN);
        mpfr_init_set_str(r56509076, "0.1049934947", 10, MPFR_RNDN);
        mpfr_init(r56509077);
        mpfr_init(r56509078);
        mpfr_init(r56509079);
        mpfr_init(r56509080);
        mpfr_init_set_str(r56509081, "0.0424060604", 10, MPFR_RNDN);
        mpfr_init(r56509082);
        mpfr_init(r56509083);
        mpfr_init(r56509084);
        mpfr_init_set_str(r56509085, "0.0072644182", 10, MPFR_RNDN);
        mpfr_init(r56509086);
        mpfr_init(r56509087);
        mpfr_init(r56509088);
        mpfr_init_set_str(r56509089, "0.0005064034", 10, MPFR_RNDN);
        mpfr_init(r56509090);
        mpfr_init(r56509091);
        mpfr_init(r56509092);
        mpfr_init_set_str(r56509093, "0.0001789971", 10, MPFR_RNDN);
        mpfr_init(r56509094);
        mpfr_init(r56509095);
        mpfr_init(r56509096);
        mpfr_init_set_str(r56509097, "0.7715471019", 10, MPFR_RNDN);
        mpfr_init(r56509098);
        mpfr_init(r56509099);
        mpfr_init_set_str(r56509100, "0.2909738639", 10, MPFR_RNDN);
        mpfr_init(r56509101);
        mpfr_init(r56509102);
        mpfr_init_set_str(r56509103, "0.0694555761", 10, MPFR_RNDN);
        mpfr_init(r56509104);
        mpfr_init(r56509105);
        mpfr_init_set_str(r56509106, "0.0140005442", 10, MPFR_RNDN);
        mpfr_init(r56509107);
        mpfr_init(r56509108);
        mpfr_init_set_str(r56509109, "0.0008327945", 10, MPFR_RNDN);
        mpfr_init(r56509110);
        mpfr_init(r56509111);
        mpfr_init_set_str(r56509112, "2", 10, MPFR_RNDN);
        mpfr_init(r56509113);
        mpfr_init(r56509114);
        mpfr_init(r56509115);
        mpfr_init(r56509116);
        mpfr_init(r56509117);
        mpfr_init(r56509118);
}

double f_im(double x) {
        ;
        ;
        mpfr_set_d(r56509077, x, MPFR_RNDN);
        mpfr_mul(r56509078, r56509077, r56509077, MPFR_RNDN);
        mpfr_mul(r56509079, r56509076, r56509078, MPFR_RNDN);
        mpfr_add(r56509080, r56509075, r56509079, MPFR_RNDN);
        ;
        mpfr_mul(r56509082, r56509078, r56509078, MPFR_RNDN);
        mpfr_mul(r56509083, r56509081, r56509082, MPFR_RNDN);
        mpfr_add(r56509084, r56509080, r56509083, MPFR_RNDN);
        ;
        mpfr_mul(r56509086, r56509082, r56509078, MPFR_RNDN);
        mpfr_mul(r56509087, r56509085, r56509086, MPFR_RNDN);
        mpfr_add(r56509088, r56509084, r56509087, MPFR_RNDN);
        ;
        mpfr_mul(r56509090, r56509086, r56509078, MPFR_RNDN);
        mpfr_mul(r56509091, r56509089, r56509090, MPFR_RNDN);
        mpfr_add(r56509092, r56509088, r56509091, MPFR_RNDN);
        ;
        mpfr_mul(r56509094, r56509090, r56509078, MPFR_RNDN);
        mpfr_mul(r56509095, r56509093, r56509094, MPFR_RNDN);
        mpfr_add(r56509096, r56509092, r56509095, MPFR_RNDN);
        ;
        mpfr_mul(r56509098, r56509097, r56509078, MPFR_RNDN);
        mpfr_add(r56509099, r56509075, r56509098, MPFR_RNDN);
        ;
        mpfr_mul(r56509101, r56509100, r56509082, MPFR_RNDN);
        mpfr_add(r56509102, r56509099, r56509101, MPFR_RNDN);
        ;
        mpfr_mul(r56509104, r56509103, r56509086, MPFR_RNDN);
        mpfr_add(r56509105, r56509102, r56509104, MPFR_RNDN);
        ;
        mpfr_mul(r56509107, r56509106, r56509090, MPFR_RNDN);
        mpfr_add(r56509108, r56509105, r56509107, MPFR_RNDN);
        ;
        mpfr_mul(r56509110, r56509109, r56509094, MPFR_RNDN);
        mpfr_add(r56509111, r56509108, r56509110, MPFR_RNDN);
        ;
        mpfr_mul(r56509113, r56509112, r56509093, MPFR_RNDN);
        mpfr_mul(r56509114, r56509094, r56509078, MPFR_RNDN);
        mpfr_mul(r56509115, r56509113, r56509114, MPFR_RNDN);
        mpfr_add(r56509116, r56509111, r56509115, MPFR_RNDN);
        mpfr_div(r56509117, r56509096, r56509116, MPFR_RNDN);
        mpfr_mul(r56509118, r56509117, r56509077, MPFR_RNDN);
        return mpfr_get_d(r56509118, MPFR_RNDN);
}

static mpfr_t r56509119, r56509120, r56509121, r56509122, r56509123, r56509124, r56509125, r56509126, r56509127, r56509128, r56509129, r56509130, r56509131, r56509132, r56509133, r56509134, r56509135, r56509136, r56509137, r56509138, r56509139, r56509140, r56509141, r56509142, r56509143, r56509144, r56509145, r56509146, r56509147, r56509148, r56509149, r56509150, r56509151, r56509152, r56509153, r56509154, r56509155, r56509156, r56509157, r56509158, r56509159, r56509160, r56509161, r56509162, r56509163, r56509164, r56509165, r56509166, r56509167, r56509168, r56509169, r56509170, r56509171, r56509172, r56509173, r56509174, r56509175, r56509176, r56509177, r56509178, r56509179, r56509180, r56509181;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(400);
        mpfr_init(r56509119);
        mpfr_init_set_str(r56509120, "-329338277685.85504", 10, MPFR_RNDN);
        mpfr_init(r56509121);
        mpfr_init_set_str(r56509122, "0.5", 10, MPFR_RNDN);
        mpfr_init(r56509123);
        mpfr_init_set_str(r56509124, "0.15298196345929327", 10, MPFR_RNDN);
        mpfr_init_set_str(r56509125, "6", 10, MPFR_RNDN);
        mpfr_init(r56509126);
        mpfr_init(r56509127);
        mpfr_init_set_str(r56509128, "0.2514179000665375", 10, MPFR_RNDN);
        mpfr_init_set_str(r56509129, "4", 10, MPFR_RNDN);
        mpfr_init(r56509130);
        mpfr_init(r56509131);
        mpfr_init(r56509132);
        mpfr_init(r56509133);
        mpfr_init(r56509134);
        mpfr_init_set_str(r56509135, "1200.1186130961028", 10, MPFR_RNDN);
        mpfr_init(r56509136);
        mpfr_init_set_str(r56509137, "1", 10, MPFR_RNDN);
        mpfr_init_set_str(r56509138, "0.1049934947", 10, MPFR_RNDN);
        mpfr_init(r56509139);
        mpfr_init(r56509140);
        mpfr_init(r56509141);
        mpfr_init_set_str(r56509142, "0.0424060604", 10, MPFR_RNDN);
        mpfr_init(r56509143);
        mpfr_init(r56509144);
        mpfr_init(r56509145);
        mpfr_init_set_str(r56509146, "0.0072644182", 10, MPFR_RNDN);
        mpfr_init(r56509147);
        mpfr_init(r56509148);
        mpfr_init(r56509149);
        mpfr_init_set_str(r56509150, "0.0005064034", 10, MPFR_RNDN);
        mpfr_init(r56509151);
        mpfr_init(r56509152);
        mpfr_init(r56509153);
        mpfr_init_set_str(r56509154, "0.0001789971", 10, MPFR_RNDN);
        mpfr_init(r56509155);
        mpfr_init(r56509156);
        mpfr_init(r56509157);
        mpfr_init_set_str(r56509158, "0.7715471019", 10, MPFR_RNDN);
        mpfr_init(r56509159);
        mpfr_init(r56509160);
        mpfr_init_set_str(r56509161, "0.2909738639", 10, MPFR_RNDN);
        mpfr_init(r56509162);
        mpfr_init(r56509163);
        mpfr_init_set_str(r56509164, "0.0694555761", 10, MPFR_RNDN);
        mpfr_init(r56509165);
        mpfr_init(r56509166);
        mpfr_init_set_str(r56509167, "0.0140005442", 10, MPFR_RNDN);
        mpfr_init(r56509168);
        mpfr_init(r56509169);
        mpfr_init_set_str(r56509170, "0.0008327945", 10, MPFR_RNDN);
        mpfr_init(r56509171);
        mpfr_init(r56509172);
        mpfr_init_set_str(r56509173, "2", 10, MPFR_RNDN);
        mpfr_init(r56509174);
        mpfr_init(r56509175);
        mpfr_init(r56509176);
        mpfr_init(r56509177);
        mpfr_init(r56509178);
        mpfr_init(r56509179);
        mpfr_init(r56509180);
        mpfr_init(r56509181);
}

double f_fm(double x) {
        mpfr_set_d(r56509119, x, MPFR_RNDN);
        ;
        mpfr_set_si(r56509121, mpfr_cmp(r56509119, r56509120) <= 0, MPFR_RNDN);
        ;
        mpfr_div(r56509123, r56509122, r56509119, MPFR_RNDN);
        ;
        ;
        mpfr_pow(r56509126, r56509119, r56509125, MPFR_RNDN);
        mpfr_div(r56509127, r56509124, r56509126, MPFR_RNDN);
        ;
        ;
        mpfr_pow(r56509130, r56509119, r56509129, MPFR_RNDN);
        mpfr_div(r56509131, r56509128, r56509130, MPFR_RNDN);
        mpfr_add(r56509132, r56509127, r56509131, MPFR_RNDN);
        mpfr_mul(r56509133, r56509132, r56509119, MPFR_RNDN);
        mpfr_add(r56509134, r56509123, r56509133, MPFR_RNDN);
        ;
        mpfr_set_si(r56509136, mpfr_cmp(r56509119, r56509135) <= 0, MPFR_RNDN);
        ;
        ;
        mpfr_mul(r56509139, r56509119, r56509119, MPFR_RNDN);
        mpfr_mul(r56509140, r56509138, r56509139, MPFR_RNDN);
        mpfr_add(r56509141, r56509137, r56509140, MPFR_RNDN);
        ;
        mpfr_mul(r56509143, r56509139, r56509139, MPFR_RNDN);
        mpfr_mul(r56509144, r56509142, r56509143, MPFR_RNDN);
        mpfr_add(r56509145, r56509141, r56509144, MPFR_RNDN);
        ;
        mpfr_mul(r56509147, r56509143, r56509139, MPFR_RNDN);
        mpfr_mul(r56509148, r56509146, r56509147, MPFR_RNDN);
        mpfr_add(r56509149, r56509145, r56509148, MPFR_RNDN);
        ;
        mpfr_mul(r56509151, r56509147, r56509139, MPFR_RNDN);
        mpfr_mul(r56509152, r56509150, r56509151, MPFR_RNDN);
        mpfr_add(r56509153, r56509149, r56509152, MPFR_RNDN);
        ;
        mpfr_mul(r56509155, r56509151, r56509139, MPFR_RNDN);
        mpfr_mul(r56509156, r56509154, r56509155, MPFR_RNDN);
        mpfr_add(r56509157, r56509153, r56509156, MPFR_RNDN);
        ;
        mpfr_mul(r56509159, r56509158, r56509139, MPFR_RNDN);
        mpfr_add(r56509160, r56509137, r56509159, MPFR_RNDN);
        ;
        mpfr_mul(r56509162, r56509161, r56509143, MPFR_RNDN);
        mpfr_add(r56509163, r56509160, r56509162, MPFR_RNDN);
        ;
        mpfr_mul(r56509165, r56509164, r56509147, MPFR_RNDN);
        mpfr_add(r56509166, r56509163, r56509165, MPFR_RNDN);
        ;
        mpfr_mul(r56509168, r56509167, r56509151, MPFR_RNDN);
        mpfr_add(r56509169, r56509166, r56509168, MPFR_RNDN);
        ;
        mpfr_mul(r56509171, r56509170, r56509155, MPFR_RNDN);
        mpfr_add(r56509172, r56509169, r56509171, MPFR_RNDN);
        ;
        mpfr_mul(r56509174, r56509173, r56509154, MPFR_RNDN);
        mpfr_mul(r56509175, r56509155, r56509139, MPFR_RNDN);
        mpfr_mul(r56509176, r56509174, r56509175, MPFR_RNDN);
        mpfr_add(r56509177, r56509172, r56509176, MPFR_RNDN);
        mpfr_div(r56509178, r56509157, r56509177, MPFR_RNDN);
        mpfr_mul(r56509179, r56509178, r56509119, MPFR_RNDN);
        if (mpfr_get_si(r56509136, MPFR_RNDN)) { mpfr_set(r56509180, r56509179, MPFR_RNDN); } else { mpfr_set(r56509180, r56509134, MPFR_RNDN); };
        if (mpfr_get_si(r56509121, MPFR_RNDN)) { mpfr_set(r56509181, r56509134, MPFR_RNDN); } else { mpfr_set(r56509181, r56509180, MPFR_RNDN); };
        return mpfr_get_d(r56509181, MPFR_RNDN);
}

static mpfr_t r56509182, r56509183, r56509184, r56509185, r56509186, r56509187, r56509188, r56509189, r56509190, r56509191, r56509192, r56509193, r56509194, r56509195, r56509196, r56509197, r56509198, r56509199, r56509200, r56509201, r56509202, r56509203, r56509204, r56509205, r56509206, r56509207, r56509208, r56509209, r56509210, r56509211, r56509212, r56509213, r56509214, r56509215, r56509216, r56509217, r56509218, r56509219, r56509220, r56509221, r56509222, r56509223, r56509224, r56509225, r56509226, r56509227, r56509228, r56509229, r56509230, r56509231, r56509232, r56509233, r56509234, r56509235, r56509236, r56509237, r56509238, r56509239, r56509240, r56509241, r56509242, r56509243, r56509244;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(400);
        mpfr_init(r56509182);
        mpfr_init_set_str(r56509183, "-329338277685.85504", 10, MPFR_RNDN);
        mpfr_init(r56509184);
        mpfr_init_set_str(r56509185, "0.5", 10, MPFR_RNDN);
        mpfr_init(r56509186);
        mpfr_init_set_str(r56509187, "0.15298196345929327", 10, MPFR_RNDN);
        mpfr_init_set_str(r56509188, "6", 10, MPFR_RNDN);
        mpfr_init(r56509189);
        mpfr_init(r56509190);
        mpfr_init_set_str(r56509191, "0.2514179000665375", 10, MPFR_RNDN);
        mpfr_init_set_str(r56509192, "4", 10, MPFR_RNDN);
        mpfr_init(r56509193);
        mpfr_init(r56509194);
        mpfr_init(r56509195);
        mpfr_init(r56509196);
        mpfr_init(r56509197);
        mpfr_init_set_str(r56509198, "1200.1186130961028", 10, MPFR_RNDN);
        mpfr_init(r56509199);
        mpfr_init_set_str(r56509200, "1", 10, MPFR_RNDN);
        mpfr_init_set_str(r56509201, "0.1049934947", 10, MPFR_RNDN);
        mpfr_init(r56509202);
        mpfr_init(r56509203);
        mpfr_init(r56509204);
        mpfr_init_set_str(r56509205, "0.0424060604", 10, MPFR_RNDN);
        mpfr_init(r56509206);
        mpfr_init(r56509207);
        mpfr_init(r56509208);
        mpfr_init_set_str(r56509209, "0.0072644182", 10, MPFR_RNDN);
        mpfr_init(r56509210);
        mpfr_init(r56509211);
        mpfr_init(r56509212);
        mpfr_init_set_str(r56509213, "0.0005064034", 10, MPFR_RNDN);
        mpfr_init(r56509214);
        mpfr_init(r56509215);
        mpfr_init(r56509216);
        mpfr_init_set_str(r56509217, "0.0001789971", 10, MPFR_RNDN);
        mpfr_init(r56509218);
        mpfr_init(r56509219);
        mpfr_init(r56509220);
        mpfr_init_set_str(r56509221, "0.7715471019", 10, MPFR_RNDN);
        mpfr_init(r56509222);
        mpfr_init(r56509223);
        mpfr_init_set_str(r56509224, "0.2909738639", 10, MPFR_RNDN);
        mpfr_init(r56509225);
        mpfr_init(r56509226);
        mpfr_init_set_str(r56509227, "0.0694555761", 10, MPFR_RNDN);
        mpfr_init(r56509228);
        mpfr_init(r56509229);
        mpfr_init_set_str(r56509230, "0.0140005442", 10, MPFR_RNDN);
        mpfr_init(r56509231);
        mpfr_init(r56509232);
        mpfr_init_set_str(r56509233, "0.0008327945", 10, MPFR_RNDN);
        mpfr_init(r56509234);
        mpfr_init(r56509235);
        mpfr_init_set_str(r56509236, "2", 10, MPFR_RNDN);
        mpfr_init(r56509237);
        mpfr_init(r56509238);
        mpfr_init(r56509239);
        mpfr_init(r56509240);
        mpfr_init(r56509241);
        mpfr_init(r56509242);
        mpfr_init(r56509243);
        mpfr_init(r56509244);
}

double f_dm(double x) {
        mpfr_set_d(r56509182, x, MPFR_RNDN);
        ;
        mpfr_set_si(r56509184, mpfr_cmp(r56509182, r56509183) <= 0, MPFR_RNDN);
        ;
        mpfr_div(r56509186, r56509185, r56509182, MPFR_RNDN);
        ;
        ;
        mpfr_pow(r56509189, r56509182, r56509188, MPFR_RNDN);
        mpfr_div(r56509190, r56509187, r56509189, MPFR_RNDN);
        ;
        ;
        mpfr_pow(r56509193, r56509182, r56509192, MPFR_RNDN);
        mpfr_div(r56509194, r56509191, r56509193, MPFR_RNDN);
        mpfr_add(r56509195, r56509190, r56509194, MPFR_RNDN);
        mpfr_mul(r56509196, r56509195, r56509182, MPFR_RNDN);
        mpfr_add(r56509197, r56509186, r56509196, MPFR_RNDN);
        ;
        mpfr_set_si(r56509199, mpfr_cmp(r56509182, r56509198) <= 0, MPFR_RNDN);
        ;
        ;
        mpfr_mul(r56509202, r56509182, r56509182, MPFR_RNDN);
        mpfr_mul(r56509203, r56509201, r56509202, MPFR_RNDN);
        mpfr_add(r56509204, r56509200, r56509203, MPFR_RNDN);
        ;
        mpfr_mul(r56509206, r56509202, r56509202, MPFR_RNDN);
        mpfr_mul(r56509207, r56509205, r56509206, MPFR_RNDN);
        mpfr_add(r56509208, r56509204, r56509207, MPFR_RNDN);
        ;
        mpfr_mul(r56509210, r56509206, r56509202, MPFR_RNDN);
        mpfr_mul(r56509211, r56509209, r56509210, MPFR_RNDN);
        mpfr_add(r56509212, r56509208, r56509211, MPFR_RNDN);
        ;
        mpfr_mul(r56509214, r56509210, r56509202, MPFR_RNDN);
        mpfr_mul(r56509215, r56509213, r56509214, MPFR_RNDN);
        mpfr_add(r56509216, r56509212, r56509215, MPFR_RNDN);
        ;
        mpfr_mul(r56509218, r56509214, r56509202, MPFR_RNDN);
        mpfr_mul(r56509219, r56509217, r56509218, MPFR_RNDN);
        mpfr_add(r56509220, r56509216, r56509219, MPFR_RNDN);
        ;
        mpfr_mul(r56509222, r56509221, r56509202, MPFR_RNDN);
        mpfr_add(r56509223, r56509200, r56509222, MPFR_RNDN);
        ;
        mpfr_mul(r56509225, r56509224, r56509206, MPFR_RNDN);
        mpfr_add(r56509226, r56509223, r56509225, MPFR_RNDN);
        ;
        mpfr_mul(r56509228, r56509227, r56509210, MPFR_RNDN);
        mpfr_add(r56509229, r56509226, r56509228, MPFR_RNDN);
        ;
        mpfr_mul(r56509231, r56509230, r56509214, MPFR_RNDN);
        mpfr_add(r56509232, r56509229, r56509231, MPFR_RNDN);
        ;
        mpfr_mul(r56509234, r56509233, r56509218, MPFR_RNDN);
        mpfr_add(r56509235, r56509232, r56509234, MPFR_RNDN);
        ;
        mpfr_mul(r56509237, r56509236, r56509217, MPFR_RNDN);
        mpfr_mul(r56509238, r56509218, r56509202, MPFR_RNDN);
        mpfr_mul(r56509239, r56509237, r56509238, MPFR_RNDN);
        mpfr_add(r56509240, r56509235, r56509239, MPFR_RNDN);
        mpfr_div(r56509241, r56509220, r56509240, MPFR_RNDN);
        mpfr_mul(r56509242, r56509241, r56509182, MPFR_RNDN);
        if (mpfr_get_si(r56509199, MPFR_RNDN)) { mpfr_set(r56509243, r56509242, MPFR_RNDN); } else { mpfr_set(r56509243, r56509197, MPFR_RNDN); };
        if (mpfr_get_si(r56509184, MPFR_RNDN)) { mpfr_set(r56509244, r56509197, MPFR_RNDN); } else { mpfr_set(r56509244, r56509243, MPFR_RNDN); };
        return mpfr_get_d(r56509244, MPFR_RNDN);
}

