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

char *name = "Jmat.Real.gamma, branch z less than 0.5";

double f_if(float z) {
        float r22888 = atan2(1.0, 0.0);
        float r22889 = z;
        float r22890 = r22888 * r22889;
        float r22891 = sin(r22890);
        float r22892 = r22888 / r22891;
        float r22893 = 2;
        float r22894 = r22888 * r22893;
        float r22895 = sqrt(r22894);
        float r22896 = 1;
        float r22897 = r22896 - r22889;
        float r22898 = r22897 - r22896;
        float r22899 = 7;
        float r22900 = r22898 + r22899;
        float r22901 = 0.5;
        float r22902 = r22900 + r22901;
        float r22903 = r22898 + r22901;
        float r22904 = pow(r22902, r22903);
        float r22905 = r22895 * r22904;
        float r22906 = -r22902;
        float r22907 = exp(r22906);
        float r22908 = r22905 * r22907;
        float r22909 = 0.9999999999998099;
        float r22910 = 676.5203681218851;
        float r22911 = r22898 + r22896;
        float r22912 = r22910 / r22911;
        float r22913 = r22909 + r22912;
        float r22914 = -1259.1392167224028;
        float r22915 = r22898 + r22893;
        float r22916 = r22914 / r22915;
        float r22917 = r22913 + r22916;
        float r22918 = 771.3234287776531;
        float r22919 = 3;
        float r22920 = r22898 + r22919;
        float r22921 = r22918 / r22920;
        float r22922 = r22917 + r22921;
        float r22923 = -176.6150291621406;
        float r22924 = 4;
        float r22925 = r22898 + r22924;
        float r22926 = r22923 / r22925;
        float r22927 = r22922 + r22926;
        float r22928 = 12.507343278686905;
        float r22929 = 5;
        float r22930 = r22898 + r22929;
        float r22931 = r22928 / r22930;
        float r22932 = r22927 + r22931;
        float r22933 = -0.13857109526572012;
        float r22934 = 6;
        float r22935 = r22898 + r22934;
        float r22936 = r22933 / r22935;
        float r22937 = r22932 + r22936;
        float r22938 = 9.984369578019572e-06;
        float r22939 = r22938 / r22900;
        float r22940 = r22937 + r22939;
        float r22941 = 1.5056327351493116e-07;
        float r22942 = 8;
        float r22943 = r22898 + r22942;
        float r22944 = r22941 / r22943;
        float r22945 = r22940 + r22944;
        float r22946 = r22908 * r22945;
        float r22947 = r22892 * r22946;
        return r22947;
}

double f_id(double z) {
        double r22948 = atan2(1.0, 0.0);
        double r22949 = z;
        double r22950 = r22948 * r22949;
        double r22951 = sin(r22950);
        double r22952 = r22948 / r22951;
        double r22953 = 2;
        double r22954 = r22948 * r22953;
        double r22955 = sqrt(r22954);
        double r22956 = 1;
        double r22957 = r22956 - r22949;
        double r22958 = r22957 - r22956;
        double r22959 = 7;
        double r22960 = r22958 + r22959;
        double r22961 = 0.5;
        double r22962 = r22960 + r22961;
        double r22963 = r22958 + r22961;
        double r22964 = pow(r22962, r22963);
        double r22965 = r22955 * r22964;
        double r22966 = -r22962;
        double r22967 = exp(r22966);
        double r22968 = r22965 * r22967;
        double r22969 = 0.9999999999998099;
        double r22970 = 676.5203681218851;
        double r22971 = r22958 + r22956;
        double r22972 = r22970 / r22971;
        double r22973 = r22969 + r22972;
        double r22974 = -1259.1392167224028;
        double r22975 = r22958 + r22953;
        double r22976 = r22974 / r22975;
        double r22977 = r22973 + r22976;
        double r22978 = 771.3234287776531;
        double r22979 = 3;
        double r22980 = r22958 + r22979;
        double r22981 = r22978 / r22980;
        double r22982 = r22977 + r22981;
        double r22983 = -176.6150291621406;
        double r22984 = 4;
        double r22985 = r22958 + r22984;
        double r22986 = r22983 / r22985;
        double r22987 = r22982 + r22986;
        double r22988 = 12.507343278686905;
        double r22989 = 5;
        double r22990 = r22958 + r22989;
        double r22991 = r22988 / r22990;
        double r22992 = r22987 + r22991;
        double r22993 = -0.13857109526572012;
        double r22994 = 6;
        double r22995 = r22958 + r22994;
        double r22996 = r22993 / r22995;
        double r22997 = r22992 + r22996;
        double r22998 = 9.984369578019572e-06;
        double r22999 = r22998 / r22960;
        double r23000 = r22997 + r22999;
        double r23001 = 1.5056327351493116e-07;
        double r23002 = 8;
        double r23003 = r22958 + r23002;
        double r23004 = r23001 / r23003;
        double r23005 = r23000 + r23004;
        double r23006 = r22968 * r23005;
        double r23007 = r22952 * r23006;
        return r23007;
}


double f_of(float z) {
        float r23008 = 0.5;
        float r23009 = z;
        float r23010 = 7;
        float r23011 = r23009 - r23010;
        float r23012 = r23008 - r23011;
        float r23013 = pow(r23012, r23008);
        float r23014 = exp(r23012);
        float r23015 = sqrt(r23014);
        float r23016 = r23013 / r23015;
        float r23017 = r23008 - r23009;
        float r23018 = r23017 + r23010;
        float r23019 = -r23009;
        float r23020 = pow(r23018, r23019);
        float r23021 = exp(r23018);
        float r23022 = sqrt(r23021);
        float r23023 = r23020 / r23022;
        float r23024 = r23016 * r23023;
        float r23025 = atan2(1.0, 0.0);
        float r23026 = r23025 + r23025;
        float r23027 = sqrt(r23026);
        float r23028 = r23009 * r23025;
        float r23029 = sin(r23028);
        float r23030 = r23025 / r23029;
        float r23031 = r23027 * r23030;
        float r23032 = r23024 * r23031;
        float r23033 = 9.984369578019572e-06;
        float r23034 = 1;
        float r23035 = r23010 + r23034;
        float r23036 = r23034 + r23009;
        float r23037 = r23035 - r23036;
        float r23038 = r23033 / r23037;
        float r23039 = 1.5056327351493116e-07;
        float r23040 = r23034 - r23009;
        float r23041 = 8;
        float r23042 = r23034 - r23041;
        float r23043 = r23040 - r23042;
        float r23044 = r23039 / r23043;
        float r23045 = r23038 + r23044;
        float r23046 = -0.13857109526572012;
        float r23047 = 6;
        float r23048 = r23047 + r23034;
        float r23049 = r23048 - r23036;
        float r23050 = r23046 / r23049;
        float r23051 = 12.507343278686905;
        float r23052 = 5;
        float r23053 = r23052 + r23034;
        float r23054 = r23053 - r23036;
        float r23055 = r23051 / r23054;
        float r23056 = r23050 + r23055;
        float r23057 = -176.6150291621406;
        float r23058 = 4;
        float r23059 = r23034 - r23058;
        float r23060 = r23040 - r23059;
        float r23061 = r23057 / r23060;
        float r23062 = r23056 + r23061;
        float r23063 = 771.3234287776531;
        float r23064 = 3;
        float r23065 = r23034 + r23064;
        float r23066 = r23065 - r23036;
        float r23067 = r23063 / r23066;
        float r23068 = 0.9999999999998099;
        float r23069 = r23067 + r23068;
        float r23070 = 676.5203681218851;
        float r23071 = 0;
        float r23072 = r23040 - r23071;
        float r23073 = r23070 / r23072;
        float r23074 = -1259.1392167224028;
        float r23075 = 2;
        float r23076 = r23075 + r23034;
        float r23077 = r23076 - r23036;
        float r23078 = r23074 / r23077;
        float r23079 = r23073 + r23078;
        float r23080 = r23069 + r23079;
        float r23081 = r23062 + r23080;
        float r23082 = r23045 + r23081;
        float r23083 = r23032 * r23082;
        return r23083;
}

double f_od(double z) {
        double r23084 = 0.5;
        double r23085 = z;
        double r23086 = 7;
        double r23087 = r23085 - r23086;
        double r23088 = r23084 - r23087;
        double r23089 = pow(r23088, r23084);
        double r23090 = exp(r23088);
        double r23091 = sqrt(r23090);
        double r23092 = r23089 / r23091;
        double r23093 = r23084 - r23085;
        double r23094 = r23093 + r23086;
        double r23095 = -r23085;
        double r23096 = pow(r23094, r23095);
        double r23097 = exp(r23094);
        double r23098 = sqrt(r23097);
        double r23099 = r23096 / r23098;
        double r23100 = r23092 * r23099;
        double r23101 = atan2(1.0, 0.0);
        double r23102 = r23101 + r23101;
        double r23103 = sqrt(r23102);
        double r23104 = r23085 * r23101;
        double r23105 = sin(r23104);
        double r23106 = r23101 / r23105;
        double r23107 = r23103 * r23106;
        double r23108 = r23100 * r23107;
        double r23109 = 9.984369578019572e-06;
        double r23110 = 1;
        double r23111 = r23086 + r23110;
        double r23112 = r23110 + r23085;
        double r23113 = r23111 - r23112;
        double r23114 = r23109 / r23113;
        double r23115 = 1.5056327351493116e-07;
        double r23116 = r23110 - r23085;
        double r23117 = 8;
        double r23118 = r23110 - r23117;
        double r23119 = r23116 - r23118;
        double r23120 = r23115 / r23119;
        double r23121 = r23114 + r23120;
        double r23122 = -0.13857109526572012;
        double r23123 = 6;
        double r23124 = r23123 + r23110;
        double r23125 = r23124 - r23112;
        double r23126 = r23122 / r23125;
        double r23127 = 12.507343278686905;
        double r23128 = 5;
        double r23129 = r23128 + r23110;
        double r23130 = r23129 - r23112;
        double r23131 = r23127 / r23130;
        double r23132 = r23126 + r23131;
        double r23133 = -176.6150291621406;
        double r23134 = 4;
        double r23135 = r23110 - r23134;
        double r23136 = r23116 - r23135;
        double r23137 = r23133 / r23136;
        double r23138 = r23132 + r23137;
        double r23139 = 771.3234287776531;
        double r23140 = 3;
        double r23141 = r23110 + r23140;
        double r23142 = r23141 - r23112;
        double r23143 = r23139 / r23142;
        double r23144 = 0.9999999999998099;
        double r23145 = r23143 + r23144;
        double r23146 = 676.5203681218851;
        double r23147 = 0;
        double r23148 = r23116 - r23147;
        double r23149 = r23146 / r23148;
        double r23150 = -1259.1392167224028;
        double r23151 = 2;
        double r23152 = r23151 + r23110;
        double r23153 = r23152 - r23112;
        double r23154 = r23150 / r23153;
        double r23155 = r23149 + r23154;
        double r23156 = r23145 + r23155;
        double r23157 = r23138 + r23156;
        double r23158 = r23121 + r23157;
        double r23159 = r23108 * r23158;
        return r23159;
}

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 r23160, r23161, r23162, r23163, r23164, r23165, r23166, r23167, r23168, r23169, r23170, r23171, r23172, r23173, r23174, r23175, r23176, r23177, r23178, r23179, r23180, r23181, r23182, r23183, r23184, r23185, r23186, r23187, r23188, r23189, r23190, r23191, r23192, r23193, r23194, r23195, r23196, r23197, r23198, r23199, r23200, r23201, r23202, r23203, r23204, r23205, r23206, r23207, r23208, r23209, r23210, r23211, r23212, r23213, r23214, r23215, r23216, r23217, r23218, r23219;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(400);
        mpfr_init(r23160);
        mpfr_init(r23161);
        mpfr_init(r23162);
        mpfr_init(r23163);
        mpfr_init(r23164);
        mpfr_init_set_str(r23165, "2", 10, MPFR_RNDN);
        mpfr_init(r23166);
        mpfr_init(r23167);
        mpfr_init_set_str(r23168, "1", 10, MPFR_RNDN);
        mpfr_init(r23169);
        mpfr_init(r23170);
        mpfr_init_set_str(r23171, "7", 10, MPFR_RNDN);
        mpfr_init(r23172);
        mpfr_init_set_str(r23173, "0.5", 10, MPFR_RNDN);
        mpfr_init(r23174);
        mpfr_init(r23175);
        mpfr_init(r23176);
        mpfr_init(r23177);
        mpfr_init(r23178);
        mpfr_init(r23179);
        mpfr_init(r23180);
        mpfr_init_set_str(r23181, "0.9999999999998099", 10, MPFR_RNDN);
        mpfr_init_set_str(r23182, "676.5203681218851", 10, MPFR_RNDN);
        mpfr_init(r23183);
        mpfr_init(r23184);
        mpfr_init(r23185);
        mpfr_init_set_str(r23186, "-1259.1392167224028", 10, MPFR_RNDN);
        mpfr_init(r23187);
        mpfr_init(r23188);
        mpfr_init(r23189);
        mpfr_init_set_str(r23190, "771.3234287776531", 10, MPFR_RNDN);
        mpfr_init_set_str(r23191, "3", 10, MPFR_RNDN);
        mpfr_init(r23192);
        mpfr_init(r23193);
        mpfr_init(r23194);
        mpfr_init_set_str(r23195, "-176.6150291621406", 10, MPFR_RNDN);
        mpfr_init_set_str(r23196, "4", 10, MPFR_RNDN);
        mpfr_init(r23197);
        mpfr_init(r23198);
        mpfr_init(r23199);
        mpfr_init_set_str(r23200, "12.507343278686905", 10, MPFR_RNDN);
        mpfr_init_set_str(r23201, "5", 10, MPFR_RNDN);
        mpfr_init(r23202);
        mpfr_init(r23203);
        mpfr_init(r23204);
        mpfr_init_set_str(r23205, "-0.13857109526572012", 10, MPFR_RNDN);
        mpfr_init_set_str(r23206, "6", 10, MPFR_RNDN);
        mpfr_init(r23207);
        mpfr_init(r23208);
        mpfr_init(r23209);
        mpfr_init_set_str(r23210, "9.984369578019572e-06", 10, MPFR_RNDN);
        mpfr_init(r23211);
        mpfr_init(r23212);
        mpfr_init_set_str(r23213, "1.5056327351493116e-07", 10, MPFR_RNDN);
        mpfr_init_set_str(r23214, "8", 10, MPFR_RNDN);
        mpfr_init(r23215);
        mpfr_init(r23216);
        mpfr_init(r23217);
        mpfr_init(r23218);
        mpfr_init(r23219);
}

double f_im(double z) {
        mpfr_const_pi(r23160, MPFR_RNDN);
        mpfr_set_d(r23161, z, MPFR_RNDN);
        mpfr_mul(r23162, r23160, r23161, MPFR_RNDN);
        mpfr_sin(r23163, r23162, MPFR_RNDN);
        mpfr_div(r23164, r23160, r23163, MPFR_RNDN);
        ;
        mpfr_mul(r23166, r23160, r23165, MPFR_RNDN);
        mpfr_sqrt(r23167, r23166, MPFR_RNDN);
        ;
        mpfr_sub(r23169, r23168, r23161, MPFR_RNDN);
        mpfr_sub(r23170, r23169, r23168, MPFR_RNDN);
        ;
        mpfr_add(r23172, r23170, r23171, MPFR_RNDN);
        ;
        mpfr_add(r23174, r23172, r23173, MPFR_RNDN);
        mpfr_add(r23175, r23170, r23173, MPFR_RNDN);
        mpfr_pow(r23176, r23174, r23175, MPFR_RNDN);
        mpfr_mul(r23177, r23167, r23176, MPFR_RNDN);
        mpfr_neg(r23178, r23174, MPFR_RNDN);
        mpfr_exp(r23179, r23178, MPFR_RNDN);
        mpfr_mul(r23180, r23177, r23179, MPFR_RNDN);
        ;
        ;
        mpfr_add(r23183, r23170, r23168, MPFR_RNDN);
        mpfr_div(r23184, r23182, r23183, MPFR_RNDN);
        mpfr_add(r23185, r23181, r23184, MPFR_RNDN);
        ;
        mpfr_add(r23187, r23170, r23165, MPFR_RNDN);
        mpfr_div(r23188, r23186, r23187, MPFR_RNDN);
        mpfr_add(r23189, r23185, r23188, MPFR_RNDN);
        ;
        ;
        mpfr_add(r23192, r23170, r23191, MPFR_RNDN);
        mpfr_div(r23193, r23190, r23192, MPFR_RNDN);
        mpfr_add(r23194, r23189, r23193, MPFR_RNDN);
        ;
        ;
        mpfr_add(r23197, r23170, r23196, MPFR_RNDN);
        mpfr_div(r23198, r23195, r23197, MPFR_RNDN);
        mpfr_add(r23199, r23194, r23198, MPFR_RNDN);
        ;
        ;
        mpfr_add(r23202, r23170, r23201, MPFR_RNDN);
        mpfr_div(r23203, r23200, r23202, MPFR_RNDN);
        mpfr_add(r23204, r23199, r23203, MPFR_RNDN);
        ;
        ;
        mpfr_add(r23207, r23170, r23206, MPFR_RNDN);
        mpfr_div(r23208, r23205, r23207, MPFR_RNDN);
        mpfr_add(r23209, r23204, r23208, MPFR_RNDN);
        ;
        mpfr_div(r23211, r23210, r23172, MPFR_RNDN);
        mpfr_add(r23212, r23209, r23211, MPFR_RNDN);
        ;
        ;
        mpfr_add(r23215, r23170, r23214, MPFR_RNDN);
        mpfr_div(r23216, r23213, r23215, MPFR_RNDN);
        mpfr_add(r23217, r23212, r23216, MPFR_RNDN);
        mpfr_mul(r23218, r23180, r23217, MPFR_RNDN);
        mpfr_mul(r23219, r23164, r23218, MPFR_RNDN);
        return mpfr_get_d(r23219, MPFR_RNDN);
}

static mpfr_t r23220, r23221, r23222, r23223, r23224, r23225, r23226, r23227, r23228, r23229, r23230, r23231, r23232, r23233, r23234, r23235, r23236, r23237, r23238, r23239, r23240, r23241, r23242, r23243, r23244, r23245, r23246, r23247, r23248, r23249, r23250, r23251, r23252, r23253, r23254, r23255, r23256, r23257, r23258, r23259, r23260, r23261, r23262, r23263, r23264, r23265, r23266, r23267, r23268, r23269, r23270, r23271, r23272, r23273, r23274, r23275, r23276, r23277, r23278, r23279, r23280, r23281, r23282, r23283, r23284, r23285, r23286, r23287, r23288, r23289, r23290, r23291, r23292, r23293, r23294, r23295;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(400);
        mpfr_init_set_str(r23220, "0.5", 10, MPFR_RNDN);
        mpfr_init(r23221);
        mpfr_init_set_str(r23222, "7", 10, MPFR_RNDN);
        mpfr_init(r23223);
        mpfr_init(r23224);
        mpfr_init(r23225);
        mpfr_init(r23226);
        mpfr_init(r23227);
        mpfr_init(r23228);
        mpfr_init(r23229);
        mpfr_init(r23230);
        mpfr_init(r23231);
        mpfr_init(r23232);
        mpfr_init(r23233);
        mpfr_init(r23234);
        mpfr_init(r23235);
        mpfr_init(r23236);
        mpfr_init(r23237);
        mpfr_init(r23238);
        mpfr_init(r23239);
        mpfr_init(r23240);
        mpfr_init(r23241);
        mpfr_init(r23242);
        mpfr_init(r23243);
        mpfr_init(r23244);
        mpfr_init_set_str(r23245, "9.984369578019572e-06", 10, MPFR_RNDN);
        mpfr_init_set_str(r23246, "1", 10, MPFR_RNDN);
        mpfr_init(r23247);
        mpfr_init(r23248);
        mpfr_init(r23249);
        mpfr_init(r23250);
        mpfr_init_set_str(r23251, "1.5056327351493116e-07", 10, MPFR_RNDN);
        mpfr_init(r23252);
        mpfr_init_set_str(r23253, "8", 10, MPFR_RNDN);
        mpfr_init(r23254);
        mpfr_init(r23255);
        mpfr_init(r23256);
        mpfr_init(r23257);
        mpfr_init_set_str(r23258, "-0.13857109526572012", 10, MPFR_RNDN);
        mpfr_init_set_str(r23259, "6", 10, MPFR_RNDN);
        mpfr_init(r23260);
        mpfr_init(r23261);
        mpfr_init(r23262);
        mpfr_init_set_str(r23263, "12.507343278686905", 10, MPFR_RNDN);
        mpfr_init_set_str(r23264, "5", 10, MPFR_RNDN);
        mpfr_init(r23265);
        mpfr_init(r23266);
        mpfr_init(r23267);
        mpfr_init(r23268);
        mpfr_init_set_str(r23269, "-176.6150291621406", 10, MPFR_RNDN);
        mpfr_init_set_str(r23270, "4", 10, MPFR_RNDN);
        mpfr_init(r23271);
        mpfr_init(r23272);
        mpfr_init(r23273);
        mpfr_init(r23274);
        mpfr_init_set_str(r23275, "771.3234287776531", 10, MPFR_RNDN);
        mpfr_init_set_str(r23276, "3", 10, MPFR_RNDN);
        mpfr_init(r23277);
        mpfr_init(r23278);
        mpfr_init(r23279);
        mpfr_init_set_str(r23280, "0.9999999999998099", 10, MPFR_RNDN);
        mpfr_init(r23281);
        mpfr_init_set_str(r23282, "676.5203681218851", 10, MPFR_RNDN);
        mpfr_init_set_str(r23283, "0", 10, MPFR_RNDN);
        mpfr_init(r23284);
        mpfr_init(r23285);
        mpfr_init_set_str(r23286, "-1259.1392167224028", 10, MPFR_RNDN);
        mpfr_init_set_str(r23287, "2", 10, MPFR_RNDN);
        mpfr_init(r23288);
        mpfr_init(r23289);
        mpfr_init(r23290);
        mpfr_init(r23291);
        mpfr_init(r23292);
        mpfr_init(r23293);
        mpfr_init(r23294);
        mpfr_init(r23295);
}

double f_fm(double z) {
        ;
        mpfr_set_d(r23221, z, MPFR_RNDN);
        ;
        mpfr_sub(r23223, r23221, r23222, MPFR_RNDN);
        mpfr_sub(r23224, r23220, r23223, MPFR_RNDN);
        mpfr_pow(r23225, r23224, r23220, MPFR_RNDN);
        mpfr_exp(r23226, r23224, MPFR_RNDN);
        mpfr_sqrt(r23227, r23226, MPFR_RNDN);
        mpfr_div(r23228, r23225, r23227, MPFR_RNDN);
        mpfr_sub(r23229, r23220, r23221, MPFR_RNDN);
        mpfr_add(r23230, r23229, r23222, MPFR_RNDN);
        mpfr_neg(r23231, r23221, MPFR_RNDN);
        mpfr_pow(r23232, r23230, r23231, MPFR_RNDN);
        mpfr_exp(r23233, r23230, MPFR_RNDN);
        mpfr_sqrt(r23234, r23233, MPFR_RNDN);
        mpfr_div(r23235, r23232, r23234, MPFR_RNDN);
        mpfr_mul(r23236, r23228, r23235, MPFR_RNDN);
        mpfr_const_pi(r23237, MPFR_RNDN);
        mpfr_add(r23238, r23237, r23237, MPFR_RNDN);
        mpfr_sqrt(r23239, r23238, MPFR_RNDN);
        mpfr_mul(r23240, r23221, r23237, MPFR_RNDN);
        mpfr_sin(r23241, r23240, MPFR_RNDN);
        mpfr_div(r23242, r23237, r23241, MPFR_RNDN);
        mpfr_mul(r23243, r23239, r23242, MPFR_RNDN);
        mpfr_mul(r23244, r23236, r23243, MPFR_RNDN);
        ;
        ;
        mpfr_add(r23247, r23222, r23246, MPFR_RNDN);
        mpfr_add(r23248, r23246, r23221, MPFR_RNDN);
        mpfr_sub(r23249, r23247, r23248, MPFR_RNDN);
        mpfr_div(r23250, r23245, r23249, MPFR_RNDN);
        ;
        mpfr_sub(r23252, r23246, r23221, MPFR_RNDN);
        ;
        mpfr_sub(r23254, r23246, r23253, MPFR_RNDN);
        mpfr_sub(r23255, r23252, r23254, MPFR_RNDN);
        mpfr_div(r23256, r23251, r23255, MPFR_RNDN);
        mpfr_add(r23257, r23250, r23256, MPFR_RNDN);
        ;
        ;
        mpfr_add(r23260, r23259, r23246, MPFR_RNDN);
        mpfr_sub(r23261, r23260, r23248, MPFR_RNDN);
        mpfr_div(r23262, r23258, r23261, MPFR_RNDN);
        ;
        ;
        mpfr_add(r23265, r23264, r23246, MPFR_RNDN);
        mpfr_sub(r23266, r23265, r23248, MPFR_RNDN);
        mpfr_div(r23267, r23263, r23266, MPFR_RNDN);
        mpfr_add(r23268, r23262, r23267, MPFR_RNDN);
        ;
        ;
        mpfr_sub(r23271, r23246, r23270, MPFR_RNDN);
        mpfr_sub(r23272, r23252, r23271, MPFR_RNDN);
        mpfr_div(r23273, r23269, r23272, MPFR_RNDN);
        mpfr_add(r23274, r23268, r23273, MPFR_RNDN);
        ;
        ;
        mpfr_add(r23277, r23246, r23276, MPFR_RNDN);
        mpfr_sub(r23278, r23277, r23248, MPFR_RNDN);
        mpfr_div(r23279, r23275, r23278, MPFR_RNDN);
        ;
        mpfr_add(r23281, r23279, r23280, MPFR_RNDN);
        ;
        ;
        mpfr_sub(r23284, r23252, r23283, MPFR_RNDN);
        mpfr_div(r23285, r23282, r23284, MPFR_RNDN);
        ;
        ;
        mpfr_add(r23288, r23287, r23246, MPFR_RNDN);
        mpfr_sub(r23289, r23288, r23248, MPFR_RNDN);
        mpfr_div(r23290, r23286, r23289, MPFR_RNDN);
        mpfr_add(r23291, r23285, r23290, MPFR_RNDN);
        mpfr_add(r23292, r23281, r23291, MPFR_RNDN);
        mpfr_add(r23293, r23274, r23292, MPFR_RNDN);
        mpfr_add(r23294, r23257, r23293, MPFR_RNDN);
        mpfr_mul(r23295, r23244, r23294, MPFR_RNDN);
        return mpfr_get_d(r23295, MPFR_RNDN);
}

static mpfr_t r23296, r23297, r23298, r23299, r23300, r23301, r23302, r23303, r23304, r23305, r23306, r23307, r23308, r23309, r23310, r23311, r23312, r23313, r23314, r23315, r23316, r23317, r23318, r23319, r23320, r23321, r23322, r23323, r23324, r23325, r23326, r23327, r23328, r23329, r23330, r23331, r23332, r23333, r23334, r23335, r23336, r23337, r23338, r23339, r23340, r23341, r23342, r23343, r23344, r23345, r23346, r23347, r23348, r23349, r23350, r23351, r23352, r23353, r23354, r23355, r23356, r23357, r23358, r23359, r23360, r23361, r23362, r23363, r23364, r23365, r23366, r23367, r23368, r23369, r23370, r23371;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(400);
        mpfr_init_set_str(r23296, "0.5", 10, MPFR_RNDN);
        mpfr_init(r23297);
        mpfr_init_set_str(r23298, "7", 10, MPFR_RNDN);
        mpfr_init(r23299);
        mpfr_init(r23300);
        mpfr_init(r23301);
        mpfr_init(r23302);
        mpfr_init(r23303);
        mpfr_init(r23304);
        mpfr_init(r23305);
        mpfr_init(r23306);
        mpfr_init(r23307);
        mpfr_init(r23308);
        mpfr_init(r23309);
        mpfr_init(r23310);
        mpfr_init(r23311);
        mpfr_init(r23312);
        mpfr_init(r23313);
        mpfr_init(r23314);
        mpfr_init(r23315);
        mpfr_init(r23316);
        mpfr_init(r23317);
        mpfr_init(r23318);
        mpfr_init(r23319);
        mpfr_init(r23320);
        mpfr_init_set_str(r23321, "9.984369578019572e-06", 10, MPFR_RNDN);
        mpfr_init_set_str(r23322, "1", 10, MPFR_RNDN);
        mpfr_init(r23323);
        mpfr_init(r23324);
        mpfr_init(r23325);
        mpfr_init(r23326);
        mpfr_init_set_str(r23327, "1.5056327351493116e-07", 10, MPFR_RNDN);
        mpfr_init(r23328);
        mpfr_init_set_str(r23329, "8", 10, MPFR_RNDN);
        mpfr_init(r23330);
        mpfr_init(r23331);
        mpfr_init(r23332);
        mpfr_init(r23333);
        mpfr_init_set_str(r23334, "-0.13857109526572012", 10, MPFR_RNDN);
        mpfr_init_set_str(r23335, "6", 10, MPFR_RNDN);
        mpfr_init(r23336);
        mpfr_init(r23337);
        mpfr_init(r23338);
        mpfr_init_set_str(r23339, "12.507343278686905", 10, MPFR_RNDN);
        mpfr_init_set_str(r23340, "5", 10, MPFR_RNDN);
        mpfr_init(r23341);
        mpfr_init(r23342);
        mpfr_init(r23343);
        mpfr_init(r23344);
        mpfr_init_set_str(r23345, "-176.6150291621406", 10, MPFR_RNDN);
        mpfr_init_set_str(r23346, "4", 10, MPFR_RNDN);
        mpfr_init(r23347);
        mpfr_init(r23348);
        mpfr_init(r23349);
        mpfr_init(r23350);
        mpfr_init_set_str(r23351, "771.3234287776531", 10, MPFR_RNDN);
        mpfr_init_set_str(r23352, "3", 10, MPFR_RNDN);
        mpfr_init(r23353);
        mpfr_init(r23354);
        mpfr_init(r23355);
        mpfr_init_set_str(r23356, "0.9999999999998099", 10, MPFR_RNDN);
        mpfr_init(r23357);
        mpfr_init_set_str(r23358, "676.5203681218851", 10, MPFR_RNDN);
        mpfr_init_set_str(r23359, "0", 10, MPFR_RNDN);
        mpfr_init(r23360);
        mpfr_init(r23361);
        mpfr_init_set_str(r23362, "-1259.1392167224028", 10, MPFR_RNDN);
        mpfr_init_set_str(r23363, "2", 10, MPFR_RNDN);
        mpfr_init(r23364);
        mpfr_init(r23365);
        mpfr_init(r23366);
        mpfr_init(r23367);
        mpfr_init(r23368);
        mpfr_init(r23369);
        mpfr_init(r23370);
        mpfr_init(r23371);
}

double f_dm(double z) {
        ;
        mpfr_set_d(r23297, z, MPFR_RNDN);
        ;
        mpfr_sub(r23299, r23297, r23298, MPFR_RNDN);
        mpfr_sub(r23300, r23296, r23299, MPFR_RNDN);
        mpfr_pow(r23301, r23300, r23296, MPFR_RNDN);
        mpfr_exp(r23302, r23300, MPFR_RNDN);
        mpfr_sqrt(r23303, r23302, MPFR_RNDN);
        mpfr_div(r23304, r23301, r23303, MPFR_RNDN);
        mpfr_sub(r23305, r23296, r23297, MPFR_RNDN);
        mpfr_add(r23306, r23305, r23298, MPFR_RNDN);
        mpfr_neg(r23307, r23297, MPFR_RNDN);
        mpfr_pow(r23308, r23306, r23307, MPFR_RNDN);
        mpfr_exp(r23309, r23306, MPFR_RNDN);
        mpfr_sqrt(r23310, r23309, MPFR_RNDN);
        mpfr_div(r23311, r23308, r23310, MPFR_RNDN);
        mpfr_mul(r23312, r23304, r23311, MPFR_RNDN);
        mpfr_const_pi(r23313, MPFR_RNDN);
        mpfr_add(r23314, r23313, r23313, MPFR_RNDN);
        mpfr_sqrt(r23315, r23314, MPFR_RNDN);
        mpfr_mul(r23316, r23297, r23313, MPFR_RNDN);
        mpfr_sin(r23317, r23316, MPFR_RNDN);
        mpfr_div(r23318, r23313, r23317, MPFR_RNDN);
        mpfr_mul(r23319, r23315, r23318, MPFR_RNDN);
        mpfr_mul(r23320, r23312, r23319, MPFR_RNDN);
        ;
        ;
        mpfr_add(r23323, r23298, r23322, MPFR_RNDN);
        mpfr_add(r23324, r23322, r23297, MPFR_RNDN);
        mpfr_sub(r23325, r23323, r23324, MPFR_RNDN);
        mpfr_div(r23326, r23321, r23325, MPFR_RNDN);
        ;
        mpfr_sub(r23328, r23322, r23297, MPFR_RNDN);
        ;
        mpfr_sub(r23330, r23322, r23329, MPFR_RNDN);
        mpfr_sub(r23331, r23328, r23330, MPFR_RNDN);
        mpfr_div(r23332, r23327, r23331, MPFR_RNDN);
        mpfr_add(r23333, r23326, r23332, MPFR_RNDN);
        ;
        ;
        mpfr_add(r23336, r23335, r23322, MPFR_RNDN);
        mpfr_sub(r23337, r23336, r23324, MPFR_RNDN);
        mpfr_div(r23338, r23334, r23337, MPFR_RNDN);
        ;
        ;
        mpfr_add(r23341, r23340, r23322, MPFR_RNDN);
        mpfr_sub(r23342, r23341, r23324, MPFR_RNDN);
        mpfr_div(r23343, r23339, r23342, MPFR_RNDN);
        mpfr_add(r23344, r23338, r23343, MPFR_RNDN);
        ;
        ;
        mpfr_sub(r23347, r23322, r23346, MPFR_RNDN);
        mpfr_sub(r23348, r23328, r23347, MPFR_RNDN);
        mpfr_div(r23349, r23345, r23348, MPFR_RNDN);
        mpfr_add(r23350, r23344, r23349, MPFR_RNDN);
        ;
        ;
        mpfr_add(r23353, r23322, r23352, MPFR_RNDN);
        mpfr_sub(r23354, r23353, r23324, MPFR_RNDN);
        mpfr_div(r23355, r23351, r23354, MPFR_RNDN);
        ;
        mpfr_add(r23357, r23355, r23356, MPFR_RNDN);
        ;
        ;
        mpfr_sub(r23360, r23328, r23359, MPFR_RNDN);
        mpfr_div(r23361, r23358, r23360, MPFR_RNDN);
        ;
        ;
        mpfr_add(r23364, r23363, r23322, MPFR_RNDN);
        mpfr_sub(r23365, r23364, r23324, MPFR_RNDN);
        mpfr_div(r23366, r23362, r23365, MPFR_RNDN);
        mpfr_add(r23367, r23361, r23366, MPFR_RNDN);
        mpfr_add(r23368, r23357, r23367, MPFR_RNDN);
        mpfr_add(r23369, r23350, r23368, MPFR_RNDN);
        mpfr_add(r23370, r23333, r23369, MPFR_RNDN);
        mpfr_mul(r23371, r23320, r23370, MPFR_RNDN);
        return mpfr_get_d(r23371, MPFR_RNDN);
}

