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

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

double f_if(float z) {
        float r17895 = atan2(1.0, 0.0);
        float r17896 = 2.0f;
        float r17897 = r17895 * r17896;
        float r17898 = sqrt(r17897);
        float r17899 = z;
        float r17900 = 1.0f;
        float r17901 = r17899 - r17900;
        float r17902 = 7.0f;
        float r17903 = r17901 + r17902;
        float r17904 = 0.5f;
        float r17905 = r17903 + r17904;
        float r17906 = r17901 + r17904;
        float r17907 = pow(r17905, r17906);
        float r17908 = r17898 * r17907;
        float r17909 = -r17905;
        float r17910 = exp(r17909);
        float r17911 = r17908 * r17910;
        float r17912 = 1.0f;
        float r17913 = 676.5203857421875f;
        float r17914 = r17901 + r17900;
        float r17915 = r17913 / r17914;
        float r17916 = r17912 + r17915;
        float r17917 = -1259.13916015625f;
        float r17918 = r17901 + r17896;
        float r17919 = r17917 / r17918;
        float r17920 = r17916 + r17919;
        float r17921 = 771.3234252929688f;
        float r17922 = 3.0f;
        float r17923 = r17901 + r17922;
        float r17924 = r17921 / r17923;
        float r17925 = r17920 + r17924;
        float r17926 = -176.6150360107422f;
        float r17927 = 4.0f;
        float r17928 = r17901 + r17927;
        float r17929 = r17926 / r17928;
        float r17930 = r17925 + r17929;
        float r17931 = 12.507343292236328f;
        float r17932 = 5.0f;
        float r17933 = r17901 + r17932;
        float r17934 = r17931 / r17933;
        float r17935 = r17930 + r17934;
        float r17936 = -0.138571098446846f;
        float r17937 = 6.0f;
        float r17938 = r17901 + r17937;
        float r17939 = r17936 / r17938;
        float r17940 = r17935 + r17939;
        float r17941 = 9.984369171434082e-06f;
        float r17942 = r17941 / r17903;
        float r17943 = r17940 + r17942;
        float r17944 = 1.5056326674312004e-07f;
        float r17945 = 8.0f;
        float r17946 = r17901 + r17945;
        float r17947 = r17944 / r17946;
        float r17948 = r17943 + r17947;
        float r17949 = r17911 * r17948;
        return r17949;
}

double f_id(double z) {
        double r17950 = atan2(1.0, 0.0);
        double r17951 = 2.0;
        double r17952 = r17950 * r17951;
        double r17953 = sqrt(r17952);
        double r17954 = z;
        double r17955 = 1.0;
        double r17956 = r17954 - r17955;
        double r17957 = 7.0;
        double r17958 = r17956 + r17957;
        double r17959 = 0.5;
        double r17960 = r17958 + r17959;
        double r17961 = r17956 + r17959;
        double r17962 = pow(r17960, r17961);
        double r17963 = r17953 * r17962;
        double r17964 = -r17960;
        double r17965 = exp(r17964);
        double r17966 = r17963 * r17965;
        double r17967 = 1.0;
        double r17968 = 676.5203857421875;
        double r17969 = r17956 + r17955;
        double r17970 = r17968 / r17969;
        double r17971 = r17967 + r17970;
        double r17972 = -1259.13916015625;
        double r17973 = r17956 + r17951;
        double r17974 = r17972 / r17973;
        double r17975 = r17971 + r17974;
        double r17976 = 771.3234252929688;
        double r17977 = 3.0;
        double r17978 = r17956 + r17977;
        double r17979 = r17976 / r17978;
        double r17980 = r17975 + r17979;
        double r17981 = -176.6150360107422;
        double r17982 = 4.0;
        double r17983 = r17956 + r17982;
        double r17984 = r17981 / r17983;
        double r17985 = r17980 + r17984;
        double r17986 = 12.507343292236328;
        double r17987 = 5.0;
        double r17988 = r17956 + r17987;
        double r17989 = r17986 / r17988;
        double r17990 = r17985 + r17989;
        double r17991 = -0.138571098446846;
        double r17992 = 6.0;
        double r17993 = r17956 + r17992;
        double r17994 = r17991 / r17993;
        double r17995 = r17990 + r17994;
        double r17996 = 9.984369171434082e-06;
        double r17997 = r17996 / r17958;
        double r17998 = r17995 + r17997;
        double r17999 = 1.5056326674312004e-07;
        double r18000 = 8.0;
        double r18001 = r17956 + r18000;
        double r18002 = r17999 / r18001;
        double r18003 = r17998 + r18002;
        double r18004 = r17966 * r18003;
        return r18004;
}


double f_of(float z) {
        float r18005 = z;
        float r18006 = 0.019028428941965103f;
        bool r18007 = r18005 <= r18006;
        float r18008 = 2585.19482421875f;
        float r18009 = 2.0f;
        float r18010 = sqrt(r18009);
        float r18011 = r18005 * r18010;
        float r18012 = 6.5f;
        float r18013 = exp(r18012);
        float r18014 = r18011 / r18013;
        float r18015 = atan2(1.0, 0.0);
        float r18016 = sqrt(r18015);
        float r18017 = 1.0f;
        float r18018 = 1.0f;
        float r18019 = pow(r18012, r18018);
        float r18020 = r18017 / r18019;
        float r18021 = 0.5f;
        float r18022 = pow(r18020, r18021);
        float r18023 = r18016 * r18022;
        float r18024 = r18014 * r18023;
        float r18025 = r18008 * r18024;
        float r18026 = 338.26019287109375f;
        float r18027 = log(r18012);
        float r18028 = r18027 * r18027;
        float r18029 = r18010 * r18028;
        float r18030 = r18005 * r18029;
        float r18031 = r18030 / r18013;
        float r18032 = r18031 * r18023;
        float r18033 = r18026 * r18032;
        float r18034 = 676.5203857421875f;
        float r18035 = r18013 * r18005;
        float r18036 = r18010 / r18035;
        float r18037 = r18036 * r18023;
        float r18038 = r18034 * r18037;
        float r18039 = r18010 * r18027;
        float r18040 = r18039 / r18013;
        float r18041 = r18040 * r18023;
        float r18042 = r18034 * r18041;
        float r18043 = r18038 + r18042;
        float r18044 = r18033 + r18043;
        float r18045 = r18025 + r18044;
        float r18046 = 1656.8104248046875f;
        float r18047 = r18010 / r18013;
        float r18048 = r18047 * r18023;
        float r18049 = r18046 * r18048;
        float r18050 = r18005 * r18039;
        float r18051 = r18050 / r18013;
        float r18052 = r18051 * r18023;
        float r18053 = r18046 * r18052;
        float r18054 = r18049 + r18053;
        float r18055 = r18045 - r18054;
        float r18056 = 1.5056326674312004e-07f;
        float r18057 = r18005 - r18017;
        float r18058 = 8.0f;
        float r18059 = r18057 + r18058;
        float r18060 = r18056 / r18059;
        float r18061 = 9.984369171434082e-06f;
        float r18062 = 7.0f;
        float r18063 = r18062 + r18057;
        float r18064 = r18061 / r18063;
        float r18065 = r18060 + r18064;
        float r18066 = -0.138571098446846f;
        float r18067 = 6.0f;
        float r18068 = r18057 + r18067;
        float r18069 = r18066 / r18068;
        float r18070 = 12.507343292236328f;
        float r18071 = 5.0f;
        float r18072 = r18071 + r18005;
        float r18073 = r18072 - r18017;
        float r18074 = r18070 / r18073;
        float r18075 = r18069 + r18074;
        float r18076 = r18065 + r18075;
        float r18077 = 0.0f;
        float r18078 = r18005 - r18077;
        float r18079 = r18034 / r18078;
        float r18080 = 1.0f;
        float r18081 = r18079 + r18080;
        float r18082 = -176.6150360107422f;
        float r18083 = 4.0f;
        float r18084 = r18057 + r18083;
        float r18085 = r18082 / r18084;
        float r18086 = r18081 + r18085;
        float r18087 = -1259.13916015625f;
        float r18088 = r18017 - r18009;
        float r18089 = r18005 - r18088;
        float r18090 = r18087 / r18089;
        float r18091 = 771.3234252929688f;
        float r18092 = 3.0f;
        float r18093 = r18057 + r18092;
        float r18094 = r18091 / r18093;
        float r18095 = r18090 + r18094;
        float r18096 = r18086 + r18095;
        float r18097 = r18076 + r18096;
        float r18098 = r18062 + r18005;
        float r18099 = sqrt(r18098);
        float r18100 = r18017 - r18021;
        float r18101 = sqrt(r18100);
        float r18102 = r18099 + r18101;
        float r18103 = r18021 + r18057;
        float r18104 = pow(r18102, r18103);
        float r18105 = r18104 / r18017;
        float r18106 = r18097 * r18105;
        float r18107 = r18099 - r18101;
        float r18108 = pow(r18107, r18103);
        float r18109 = exp(r18062);
        float r18110 = r18108 / r18109;
        float r18111 = r18106 * r18110;
        float r18112 = r18009 * r18015;
        float r18113 = sqrt(r18112);
        float r18114 = r18005 - r18100;
        float r18115 = exp(r18114);
        float r18116 = r18113 / r18115;
        float r18117 = r18111 * r18116;
        float r18118 = r18007 ? r18055 : r18117;
        return r18118;
}

double f_od(double z) {
        double r18119 = z;
        double r18120 = 0.019028428941965103;
        bool r18121 = r18119 <= r18120;
        double r18122 = 2585.19482421875;
        double r18123 = 2.0;
        double r18124 = sqrt(r18123);
        double r18125 = r18119 * r18124;
        double r18126 = 6.5;
        double r18127 = exp(r18126);
        double r18128 = r18125 / r18127;
        double r18129 = atan2(1.0, 0.0);
        double r18130 = sqrt(r18129);
        double r18131 = 1.0;
        double r18132 = 1.0;
        double r18133 = pow(r18126, r18132);
        double r18134 = r18131 / r18133;
        double r18135 = 0.5;
        double r18136 = pow(r18134, r18135);
        double r18137 = r18130 * r18136;
        double r18138 = r18128 * r18137;
        double r18139 = r18122 * r18138;
        double r18140 = 338.26019287109375;
        double r18141 = log(r18126);
        double r18142 = r18141 * r18141;
        double r18143 = r18124 * r18142;
        double r18144 = r18119 * r18143;
        double r18145 = r18144 / r18127;
        double r18146 = r18145 * r18137;
        double r18147 = r18140 * r18146;
        double r18148 = 676.5203857421875;
        double r18149 = r18127 * r18119;
        double r18150 = r18124 / r18149;
        double r18151 = r18150 * r18137;
        double r18152 = r18148 * r18151;
        double r18153 = r18124 * r18141;
        double r18154 = r18153 / r18127;
        double r18155 = r18154 * r18137;
        double r18156 = r18148 * r18155;
        double r18157 = r18152 + r18156;
        double r18158 = r18147 + r18157;
        double r18159 = r18139 + r18158;
        double r18160 = 1656.8104248046875;
        double r18161 = r18124 / r18127;
        double r18162 = r18161 * r18137;
        double r18163 = r18160 * r18162;
        double r18164 = r18119 * r18153;
        double r18165 = r18164 / r18127;
        double r18166 = r18165 * r18137;
        double r18167 = r18160 * r18166;
        double r18168 = r18163 + r18167;
        double r18169 = r18159 - r18168;
        double r18170 = 1.5056326674312004e-07;
        double r18171 = r18119 - r18131;
        double r18172 = 8.0;
        double r18173 = r18171 + r18172;
        double r18174 = r18170 / r18173;
        double r18175 = 9.984369171434082e-06;
        double r18176 = 7.0;
        double r18177 = r18176 + r18171;
        double r18178 = r18175 / r18177;
        double r18179 = r18174 + r18178;
        double r18180 = -0.138571098446846;
        double r18181 = 6.0;
        double r18182 = r18171 + r18181;
        double r18183 = r18180 / r18182;
        double r18184 = 12.507343292236328;
        double r18185 = 5.0;
        double r18186 = r18185 + r18119;
        double r18187 = r18186 - r18131;
        double r18188 = r18184 / r18187;
        double r18189 = r18183 + r18188;
        double r18190 = r18179 + r18189;
        double r18191 = 0.0;
        double r18192 = r18119 - r18191;
        double r18193 = r18148 / r18192;
        double r18194 = 1.0;
        double r18195 = r18193 + r18194;
        double r18196 = -176.6150360107422;
        double r18197 = 4.0;
        double r18198 = r18171 + r18197;
        double r18199 = r18196 / r18198;
        double r18200 = r18195 + r18199;
        double r18201 = -1259.13916015625;
        double r18202 = r18131 - r18123;
        double r18203 = r18119 - r18202;
        double r18204 = r18201 / r18203;
        double r18205 = 771.3234252929688;
        double r18206 = 3.0;
        double r18207 = r18171 + r18206;
        double r18208 = r18205 / r18207;
        double r18209 = r18204 + r18208;
        double r18210 = r18200 + r18209;
        double r18211 = r18190 + r18210;
        double r18212 = r18176 + r18119;
        double r18213 = sqrt(r18212);
        double r18214 = r18131 - r18135;
        double r18215 = sqrt(r18214);
        double r18216 = r18213 + r18215;
        double r18217 = r18135 + r18171;
        double r18218 = pow(r18216, r18217);
        double r18219 = r18218 / r18131;
        double r18220 = r18211 * r18219;
        double r18221 = r18213 - r18215;
        double r18222 = pow(r18221, r18217);
        double r18223 = exp(r18176);
        double r18224 = r18222 / r18223;
        double r18225 = r18220 * r18224;
        double r18226 = r18123 * r18129;
        double r18227 = sqrt(r18226);
        double r18228 = r18119 - r18214;
        double r18229 = exp(r18228);
        double r18230 = r18227 / r18229;
        double r18231 = r18225 * r18230;
        double r18232 = r18121 ? r18169 : r18231;
        return r18232;
}

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 r18233, r18234, r18235, r18236, r18237, r18238, r18239, r18240, r18241, r18242, r18243, r18244, r18245, r18246, r18247, r18248, r18249, r18250, r18251, r18252, r18253, r18254, r18255, r18256, r18257, r18258, r18259, r18260, r18261, r18262, r18263, r18264, r18265, r18266, r18267, r18268, r18269, r18270, r18271, r18272, r18273, r18274, r18275, r18276, r18277, r18278, r18279, r18280, r18281, r18282, r18283, r18284, r18285, r18286, r18287;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(144);
        mpfr_init(r18233);
        mpfr_init_set_str(r18234, "2", 10, MPFR_RNDN);
        mpfr_init(r18235);
        mpfr_init(r18236);
        mpfr_init(r18237);
        mpfr_init_set_str(r18238, "1", 10, MPFR_RNDN);
        mpfr_init(r18239);
        mpfr_init_set_str(r18240, "7", 10, MPFR_RNDN);
        mpfr_init(r18241);
        mpfr_init_set_str(r18242, "0.5", 10, MPFR_RNDN);
        mpfr_init(r18243);
        mpfr_init(r18244);
        mpfr_init(r18245);
        mpfr_init(r18246);
        mpfr_init(r18247);
        mpfr_init(r18248);
        mpfr_init(r18249);
        mpfr_init_set_str(r18250, "0.9999999999998099", 10, MPFR_RNDN);
        mpfr_init_set_str(r18251, "676.5203681218851", 10, MPFR_RNDN);
        mpfr_init(r18252);
        mpfr_init(r18253);
        mpfr_init(r18254);
        mpfr_init_set_str(r18255, "-1259.1392167224028", 10, MPFR_RNDN);
        mpfr_init(r18256);
        mpfr_init(r18257);
        mpfr_init(r18258);
        mpfr_init_set_str(r18259, "771.3234287776531", 10, MPFR_RNDN);
        mpfr_init_set_str(r18260, "3", 10, MPFR_RNDN);
        mpfr_init(r18261);
        mpfr_init(r18262);
        mpfr_init(r18263);
        mpfr_init_set_str(r18264, "-176.6150291621406", 10, MPFR_RNDN);
        mpfr_init_set_str(r18265, "4", 10, MPFR_RNDN);
        mpfr_init(r18266);
        mpfr_init(r18267);
        mpfr_init(r18268);
        mpfr_init_set_str(r18269, "12.507343278686905", 10, MPFR_RNDN);
        mpfr_init_set_str(r18270, "5", 10, MPFR_RNDN);
        mpfr_init(r18271);
        mpfr_init(r18272);
        mpfr_init(r18273);
        mpfr_init_set_str(r18274, "-0.13857109526572012", 10, MPFR_RNDN);
        mpfr_init_set_str(r18275, "6", 10, MPFR_RNDN);
        mpfr_init(r18276);
        mpfr_init(r18277);
        mpfr_init(r18278);
        mpfr_init_set_str(r18279, "9.984369578019572e-06", 10, MPFR_RNDN);
        mpfr_init(r18280);
        mpfr_init(r18281);
        mpfr_init_set_str(r18282, "1.5056327351493116e-07", 10, MPFR_RNDN);
        mpfr_init_set_str(r18283, "8", 10, MPFR_RNDN);
        mpfr_init(r18284);
        mpfr_init(r18285);
        mpfr_init(r18286);
        mpfr_init(r18287);
}

double f_im(double z) {
        mpfr_const_pi(r18233, MPFR_RNDN);
        ;
        mpfr_mul(r18235, r18233, r18234, MPFR_RNDN);
        mpfr_sqrt(r18236, r18235, MPFR_RNDN);
        mpfr_set_d(r18237, z, MPFR_RNDN);
        ;
        mpfr_sub(r18239, r18237, r18238, MPFR_RNDN);
        ;
        mpfr_add(r18241, r18239, r18240, MPFR_RNDN);
        ;
        mpfr_add(r18243, r18241, r18242, MPFR_RNDN);
        mpfr_add(r18244, r18239, r18242, MPFR_RNDN);
        mpfr_pow(r18245, r18243, r18244, MPFR_RNDN);
        mpfr_mul(r18246, r18236, r18245, MPFR_RNDN);
        mpfr_neg(r18247, r18243, MPFR_RNDN);
        mpfr_exp(r18248, r18247, MPFR_RNDN);
        mpfr_mul(r18249, r18246, r18248, MPFR_RNDN);
        ;
        ;
        mpfr_add(r18252, r18239, r18238, MPFR_RNDN);
        mpfr_div(r18253, r18251, r18252, MPFR_RNDN);
        mpfr_add(r18254, r18250, r18253, MPFR_RNDN);
        ;
        mpfr_add(r18256, r18239, r18234, MPFR_RNDN);
        mpfr_div(r18257, r18255, r18256, MPFR_RNDN);
        mpfr_add(r18258, r18254, r18257, MPFR_RNDN);
        ;
        ;
        mpfr_add(r18261, r18239, r18260, MPFR_RNDN);
        mpfr_div(r18262, r18259, r18261, MPFR_RNDN);
        mpfr_add(r18263, r18258, r18262, MPFR_RNDN);
        ;
        ;
        mpfr_add(r18266, r18239, r18265, MPFR_RNDN);
        mpfr_div(r18267, r18264, r18266, MPFR_RNDN);
        mpfr_add(r18268, r18263, r18267, MPFR_RNDN);
        ;
        ;
        mpfr_add(r18271, r18239, r18270, MPFR_RNDN);
        mpfr_div(r18272, r18269, r18271, MPFR_RNDN);
        mpfr_add(r18273, r18268, r18272, MPFR_RNDN);
        ;
        ;
        mpfr_add(r18276, r18239, r18275, MPFR_RNDN);
        mpfr_div(r18277, r18274, r18276, MPFR_RNDN);
        mpfr_add(r18278, r18273, r18277, MPFR_RNDN);
        ;
        mpfr_div(r18280, r18279, r18241, MPFR_RNDN);
        mpfr_add(r18281, r18278, r18280, MPFR_RNDN);
        ;
        ;
        mpfr_add(r18284, r18239, r18283, MPFR_RNDN);
        mpfr_div(r18285, r18282, r18284, MPFR_RNDN);
        mpfr_add(r18286, r18281, r18285, MPFR_RNDN);
        mpfr_mul(r18287, r18249, r18286, MPFR_RNDN);
        return mpfr_get_d(r18287, MPFR_RNDN);
}

static mpfr_t r18288, r18289, r18290, r18291, r18292, r18293, r18294, r18295, r18296, r18297, r18298, r18299, r18300, r18301, r18302, r18303, r18304, r18305, r18306, r18307, r18308, r18309, r18310, r18311, r18312, r18313, r18314, r18315, r18316, r18317, r18318, r18319, r18320, r18321, r18322, r18323, r18324, r18325, r18326, r18327, r18328, r18329, r18330, r18331, r18332, r18333, r18334, r18335, r18336, r18337, r18338, r18339, r18340, r18341, r18342, r18343, r18344, r18345, r18346, r18347, r18348, r18349, r18350, r18351, r18352, r18353, r18354, r18355, r18356, r18357, r18358, r18359, r18360, r18361, r18362, r18363, r18364, r18365, r18366, r18367, r18368, r18369, r18370, r18371, r18372, r18373, r18374, r18375, r18376, r18377, r18378, r18379, r18380, r18381, r18382, r18383, r18384, r18385, r18386, r18387, r18388, r18389, r18390, r18391, r18392, r18393, r18394, r18395, r18396, r18397, r18398, r18399, r18400, r18401;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(144);
        mpfr_init(r18288);
        mpfr_init_set_str(r18289, "0.019028429f0", 10, MPFR_RNDN);
        mpfr_init(r18290);
        mpfr_init_set_str(r18291, "2585.1948787825354", 10, MPFR_RNDN);
        mpfr_init_set_str(r18292, "2", 10, MPFR_RNDN);
        mpfr_init(r18293);
        mpfr_init(r18294);
        mpfr_init_set_str(r18295, "6.5", 10, MPFR_RNDN);
        mpfr_init(r18296);
        mpfr_init(r18297);
        mpfr_init(r18298);
        mpfr_init(r18299);
        mpfr_init_set_str(r18300, "1", 10, MPFR_RNDN);
        mpfr_init_set_str(r18301, "1.0", 10, MPFR_RNDN);
        mpfr_init(r18302);
        mpfr_init(r18303);
        mpfr_init_set_str(r18304, "0.5", 10, MPFR_RNDN);
        mpfr_init(r18305);
        mpfr_init(r18306);
        mpfr_init(r18307);
        mpfr_init(r18308);
        mpfr_init_set_str(r18309, "338.26018406094255", 10, MPFR_RNDN);
        mpfr_init(r18310);
        mpfr_init(r18311);
        mpfr_init(r18312);
        mpfr_init(r18313);
        mpfr_init(r18314);
        mpfr_init(r18315);
        mpfr_init(r18316);
        mpfr_init_set_str(r18317, "676.5203681218851", 10, MPFR_RNDN);
        mpfr_init(r18318);
        mpfr_init(r18319);
        mpfr_init(r18320);
        mpfr_init(r18321);
        mpfr_init(r18322);
        mpfr_init(r18323);
        mpfr_init(r18324);
        mpfr_init(r18325);
        mpfr_init(r18326);
        mpfr_init(r18327);
        mpfr_init(r18328);
        mpfr_init_set_str(r18329, "1656.8104518737205", 10, MPFR_RNDN);
        mpfr_init(r18330);
        mpfr_init(r18331);
        mpfr_init(r18332);
        mpfr_init(r18333);
        mpfr_init(r18334);
        mpfr_init(r18335);
        mpfr_init(r18336);
        mpfr_init(r18337);
        mpfr_init(r18338);
        mpfr_init_set_str(r18339, "1.5056327351493116e-07", 10, MPFR_RNDN);
        mpfr_init(r18340);
        mpfr_init_set_str(r18341, "8", 10, MPFR_RNDN);
        mpfr_init(r18342);
        mpfr_init(r18343);
        mpfr_init_set_str(r18344, "9.984369578019572e-06", 10, MPFR_RNDN);
        mpfr_init_set_str(r18345, "7", 10, MPFR_RNDN);
        mpfr_init(r18346);
        mpfr_init(r18347);
        mpfr_init(r18348);
        mpfr_init_set_str(r18349, "-0.13857109526572012", 10, MPFR_RNDN);
        mpfr_init_set_str(r18350, "6", 10, MPFR_RNDN);
        mpfr_init(r18351);
        mpfr_init(r18352);
        mpfr_init_set_str(r18353, "12.507343278686905", 10, MPFR_RNDN);
        mpfr_init_set_str(r18354, "5", 10, MPFR_RNDN);
        mpfr_init(r18355);
        mpfr_init(r18356);
        mpfr_init(r18357);
        mpfr_init(r18358);
        mpfr_init(r18359);
        mpfr_init_set_str(r18360, "0", 10, MPFR_RNDN);
        mpfr_init(r18361);
        mpfr_init(r18362);
        mpfr_init_set_str(r18363, "0.9999999999998099", 10, MPFR_RNDN);
        mpfr_init(r18364);
        mpfr_init_set_str(r18365, "-176.6150291621406", 10, MPFR_RNDN);
        mpfr_init_set_str(r18366, "4", 10, MPFR_RNDN);
        mpfr_init(r18367);
        mpfr_init(r18368);
        mpfr_init(r18369);
        mpfr_init_set_str(r18370, "-1259.1392167224028", 10, MPFR_RNDN);
        mpfr_init(r18371);
        mpfr_init(r18372);
        mpfr_init(r18373);
        mpfr_init_set_str(r18374, "771.3234287776531", 10, MPFR_RNDN);
        mpfr_init_set_str(r18375, "3", 10, MPFR_RNDN);
        mpfr_init(r18376);
        mpfr_init(r18377);
        mpfr_init(r18378);
        mpfr_init(r18379);
        mpfr_init(r18380);
        mpfr_init(r18381);
        mpfr_init(r18382);
        mpfr_init(r18383);
        mpfr_init(r18384);
        mpfr_init(r18385);
        mpfr_init(r18386);
        mpfr_init(r18387);
        mpfr_init(r18388);
        mpfr_init(r18389);
        mpfr_init(r18390);
        mpfr_init(r18391);
        mpfr_init(r18392);
        mpfr_init(r18393);
        mpfr_init(r18394);
        mpfr_init(r18395);
        mpfr_init(r18396);
        mpfr_init(r18397);
        mpfr_init(r18398);
        mpfr_init(r18399);
        mpfr_init(r18400);
        mpfr_init(r18401);
}

double f_fm(double z) {
        mpfr_set_d(r18288, z, MPFR_RNDN);
        ;
        mpfr_set_si(r18290, mpfr_cmp(r18288, r18289) <= 0, MPFR_RNDN);
        ;
        ;
        mpfr_sqrt(r18293, r18292, MPFR_RNDN);
        mpfr_mul(r18294, r18288, r18293, MPFR_RNDN);
        ;
        mpfr_exp(r18296, r18295, MPFR_RNDN);
        mpfr_div(r18297, r18294, r18296, MPFR_RNDN);
        mpfr_const_pi(r18298, MPFR_RNDN);
        mpfr_sqrt(r18299, r18298, MPFR_RNDN);
        ;
        ;
        mpfr_pow(r18302, r18295, r18301, MPFR_RNDN);
        mpfr_div(r18303, r18300, r18302, MPFR_RNDN);
        ;
        mpfr_pow(r18305, r18303, r18304, MPFR_RNDN);
        mpfr_mul(r18306, r18299, r18305, MPFR_RNDN);
        mpfr_mul(r18307, r18297, r18306, MPFR_RNDN);
        mpfr_mul(r18308, r18291, r18307, MPFR_RNDN);
        ;
        mpfr_log(r18310, r18295, MPFR_RNDN);
        mpfr_sqr(r18311, r18310, MPFR_RNDN);
        mpfr_mul(r18312, r18293, r18311, MPFR_RNDN);
        mpfr_mul(r18313, r18288, r18312, MPFR_RNDN);
        mpfr_div(r18314, r18313, r18296, MPFR_RNDN);
        mpfr_mul(r18315, r18314, r18306, MPFR_RNDN);
        mpfr_mul(r18316, r18309, r18315, MPFR_RNDN);
        ;
        mpfr_mul(r18318, r18296, r18288, MPFR_RNDN);
        mpfr_div(r18319, r18293, r18318, MPFR_RNDN);
        mpfr_mul(r18320, r18319, r18306, MPFR_RNDN);
        mpfr_mul(r18321, r18317, r18320, MPFR_RNDN);
        mpfr_mul(r18322, r18293, r18310, MPFR_RNDN);
        mpfr_div(r18323, r18322, r18296, MPFR_RNDN);
        mpfr_mul(r18324, r18323, r18306, MPFR_RNDN);
        mpfr_mul(r18325, r18317, r18324, MPFR_RNDN);
        mpfr_add(r18326, r18321, r18325, MPFR_RNDN);
        mpfr_add(r18327, r18316, r18326, MPFR_RNDN);
        mpfr_add(r18328, r18308, r18327, MPFR_RNDN);
        ;
        mpfr_div(r18330, r18293, r18296, MPFR_RNDN);
        mpfr_mul(r18331, r18330, r18306, MPFR_RNDN);
        mpfr_mul(r18332, r18329, r18331, MPFR_RNDN);
        mpfr_mul(r18333, r18288, r18322, MPFR_RNDN);
        mpfr_div(r18334, r18333, r18296, MPFR_RNDN);
        mpfr_mul(r18335, r18334, r18306, MPFR_RNDN);
        mpfr_mul(r18336, r18329, r18335, MPFR_RNDN);
        mpfr_add(r18337, r18332, r18336, MPFR_RNDN);
        mpfr_sub(r18338, r18328, r18337, MPFR_RNDN);
        ;
        mpfr_sub(r18340, r18288, r18300, MPFR_RNDN);
        ;
        mpfr_add(r18342, r18340, r18341, MPFR_RNDN);
        mpfr_div(r18343, r18339, r18342, MPFR_RNDN);
        ;
        ;
        mpfr_add(r18346, r18345, r18340, MPFR_RNDN);
        mpfr_div(r18347, r18344, r18346, MPFR_RNDN);
        mpfr_add(r18348, r18343, r18347, MPFR_RNDN);
        ;
        ;
        mpfr_add(r18351, r18340, r18350, MPFR_RNDN);
        mpfr_div(r18352, r18349, r18351, MPFR_RNDN);
        ;
        ;
        mpfr_add(r18355, r18354, r18288, MPFR_RNDN);
        mpfr_sub(r18356, r18355, r18300, MPFR_RNDN);
        mpfr_div(r18357, r18353, r18356, MPFR_RNDN);
        mpfr_add(r18358, r18352, r18357, MPFR_RNDN);
        mpfr_add(r18359, r18348, r18358, MPFR_RNDN);
        ;
        mpfr_sub(r18361, r18288, r18360, MPFR_RNDN);
        mpfr_div(r18362, r18317, r18361, MPFR_RNDN);
        ;
        mpfr_add(r18364, r18362, r18363, MPFR_RNDN);
        ;
        ;
        mpfr_add(r18367, r18340, r18366, MPFR_RNDN);
        mpfr_div(r18368, r18365, r18367, MPFR_RNDN);
        mpfr_add(r18369, r18364, r18368, MPFR_RNDN);
        ;
        mpfr_sub(r18371, r18300, r18292, MPFR_RNDN);
        mpfr_sub(r18372, r18288, r18371, MPFR_RNDN);
        mpfr_div(r18373, r18370, r18372, MPFR_RNDN);
        ;
        ;
        mpfr_add(r18376, r18340, r18375, MPFR_RNDN);
        mpfr_div(r18377, r18374, r18376, MPFR_RNDN);
        mpfr_add(r18378, r18373, r18377, MPFR_RNDN);
        mpfr_add(r18379, r18369, r18378, MPFR_RNDN);
        mpfr_add(r18380, r18359, r18379, MPFR_RNDN);
        mpfr_add(r18381, r18345, r18288, MPFR_RNDN);
        mpfr_sqrt(r18382, r18381, MPFR_RNDN);
        mpfr_sub(r18383, r18300, r18304, MPFR_RNDN);
        mpfr_sqrt(r18384, r18383, MPFR_RNDN);
        mpfr_add(r18385, r18382, r18384, MPFR_RNDN);
        mpfr_add(r18386, r18304, r18340, MPFR_RNDN);
        mpfr_pow(r18387, r18385, r18386, MPFR_RNDN);
        mpfr_div(r18388, r18387, r18300, MPFR_RNDN);
        mpfr_mul(r18389, r18380, r18388, MPFR_RNDN);
        mpfr_sub(r18390, r18382, r18384, MPFR_RNDN);
        mpfr_pow(r18391, r18390, r18386, MPFR_RNDN);
        mpfr_exp(r18392, r18345, MPFR_RNDN);
        mpfr_div(r18393, r18391, r18392, MPFR_RNDN);
        mpfr_mul(r18394, r18389, r18393, MPFR_RNDN);
        mpfr_mul(r18395, r18292, r18298, MPFR_RNDN);
        mpfr_sqrt(r18396, r18395, MPFR_RNDN);
        mpfr_sub(r18397, r18288, r18383, MPFR_RNDN);
        mpfr_exp(r18398, r18397, MPFR_RNDN);
        mpfr_div(r18399, r18396, r18398, MPFR_RNDN);
        mpfr_mul(r18400, r18394, r18399, MPFR_RNDN);
        if (mpfr_get_si(r18290, MPFR_RNDN)) { mpfr_set(r18401, r18338, MPFR_RNDN); } else { mpfr_set(r18401, r18400, MPFR_RNDN); };
        return mpfr_get_d(r18401, MPFR_RNDN);
}

static mpfr_t r18402, r18403, r18404, r18405, r18406, r18407, r18408, r18409, r18410, r18411, r18412, r18413, r18414, r18415, r18416, r18417, r18418, r18419, r18420, r18421, r18422, r18423, r18424, r18425, r18426, r18427, r18428, r18429, r18430, r18431, r18432, r18433, r18434, r18435, r18436, r18437, r18438, r18439, r18440, r18441, r18442, r18443, r18444, r18445, r18446, r18447, r18448, r18449, r18450, r18451, r18452, r18453, r18454, r18455, r18456, r18457, r18458, r18459, r18460, r18461, r18462, r18463, r18464, r18465, r18466, r18467, r18468, r18469, r18470, r18471, r18472, r18473, r18474, r18475, r18476, r18477, r18478, r18479, r18480, r18481, r18482, r18483, r18484, r18485, r18486, r18487, r18488, r18489, r18490, r18491, r18492, r18493, r18494, r18495, r18496, r18497, r18498, r18499, r18500, r18501, r18502, r18503, r18504, r18505, r18506, r18507, r18508, r18509, r18510, r18511, r18512, r18513, r18514, r18515;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(144);
        mpfr_init(r18402);
        mpfr_init_set_str(r18403, "0.019028429f0", 10, MPFR_RNDN);
        mpfr_init(r18404);
        mpfr_init_set_str(r18405, "2585.1948787825354", 10, MPFR_RNDN);
        mpfr_init_set_str(r18406, "2", 10, MPFR_RNDN);
        mpfr_init(r18407);
        mpfr_init(r18408);
        mpfr_init_set_str(r18409, "6.5", 10, MPFR_RNDN);
        mpfr_init(r18410);
        mpfr_init(r18411);
        mpfr_init(r18412);
        mpfr_init(r18413);
        mpfr_init_set_str(r18414, "1", 10, MPFR_RNDN);
        mpfr_init_set_str(r18415, "1.0", 10, MPFR_RNDN);
        mpfr_init(r18416);
        mpfr_init(r18417);
        mpfr_init_set_str(r18418, "0.5", 10, MPFR_RNDN);
        mpfr_init(r18419);
        mpfr_init(r18420);
        mpfr_init(r18421);
        mpfr_init(r18422);
        mpfr_init_set_str(r18423, "338.26018406094255", 10, MPFR_RNDN);
        mpfr_init(r18424);
        mpfr_init(r18425);
        mpfr_init(r18426);
        mpfr_init(r18427);
        mpfr_init(r18428);
        mpfr_init(r18429);
        mpfr_init(r18430);
        mpfr_init_set_str(r18431, "676.5203681218851", 10, MPFR_RNDN);
        mpfr_init(r18432);
        mpfr_init(r18433);
        mpfr_init(r18434);
        mpfr_init(r18435);
        mpfr_init(r18436);
        mpfr_init(r18437);
        mpfr_init(r18438);
        mpfr_init(r18439);
        mpfr_init(r18440);
        mpfr_init(r18441);
        mpfr_init(r18442);
        mpfr_init_set_str(r18443, "1656.8104518737205", 10, MPFR_RNDN);
        mpfr_init(r18444);
        mpfr_init(r18445);
        mpfr_init(r18446);
        mpfr_init(r18447);
        mpfr_init(r18448);
        mpfr_init(r18449);
        mpfr_init(r18450);
        mpfr_init(r18451);
        mpfr_init(r18452);
        mpfr_init_set_str(r18453, "1.5056327351493116e-07", 10, MPFR_RNDN);
        mpfr_init(r18454);
        mpfr_init_set_str(r18455, "8", 10, MPFR_RNDN);
        mpfr_init(r18456);
        mpfr_init(r18457);
        mpfr_init_set_str(r18458, "9.984369578019572e-06", 10, MPFR_RNDN);
        mpfr_init_set_str(r18459, "7", 10, MPFR_RNDN);
        mpfr_init(r18460);
        mpfr_init(r18461);
        mpfr_init(r18462);
        mpfr_init_set_str(r18463, "-0.13857109526572012", 10, MPFR_RNDN);
        mpfr_init_set_str(r18464, "6", 10, MPFR_RNDN);
        mpfr_init(r18465);
        mpfr_init(r18466);
        mpfr_init_set_str(r18467, "12.507343278686905", 10, MPFR_RNDN);
        mpfr_init_set_str(r18468, "5", 10, MPFR_RNDN);
        mpfr_init(r18469);
        mpfr_init(r18470);
        mpfr_init(r18471);
        mpfr_init(r18472);
        mpfr_init(r18473);
        mpfr_init_set_str(r18474, "0", 10, MPFR_RNDN);
        mpfr_init(r18475);
        mpfr_init(r18476);
        mpfr_init_set_str(r18477, "0.9999999999998099", 10, MPFR_RNDN);
        mpfr_init(r18478);
        mpfr_init_set_str(r18479, "-176.6150291621406", 10, MPFR_RNDN);
        mpfr_init_set_str(r18480, "4", 10, MPFR_RNDN);
        mpfr_init(r18481);
        mpfr_init(r18482);
        mpfr_init(r18483);
        mpfr_init_set_str(r18484, "-1259.1392167224028", 10, MPFR_RNDN);
        mpfr_init(r18485);
        mpfr_init(r18486);
        mpfr_init(r18487);
        mpfr_init_set_str(r18488, "771.3234287776531", 10, MPFR_RNDN);
        mpfr_init_set_str(r18489, "3", 10, MPFR_RNDN);
        mpfr_init(r18490);
        mpfr_init(r18491);
        mpfr_init(r18492);
        mpfr_init(r18493);
        mpfr_init(r18494);
        mpfr_init(r18495);
        mpfr_init(r18496);
        mpfr_init(r18497);
        mpfr_init(r18498);
        mpfr_init(r18499);
        mpfr_init(r18500);
        mpfr_init(r18501);
        mpfr_init(r18502);
        mpfr_init(r18503);
        mpfr_init(r18504);
        mpfr_init(r18505);
        mpfr_init(r18506);
        mpfr_init(r18507);
        mpfr_init(r18508);
        mpfr_init(r18509);
        mpfr_init(r18510);
        mpfr_init(r18511);
        mpfr_init(r18512);
        mpfr_init(r18513);
        mpfr_init(r18514);
        mpfr_init(r18515);
}

double f_dm(double z) {
        mpfr_set_d(r18402, z, MPFR_RNDN);
        ;
        mpfr_set_si(r18404, mpfr_cmp(r18402, r18403) <= 0, MPFR_RNDN);
        ;
        ;
        mpfr_sqrt(r18407, r18406, MPFR_RNDN);
        mpfr_mul(r18408, r18402, r18407, MPFR_RNDN);
        ;
        mpfr_exp(r18410, r18409, MPFR_RNDN);
        mpfr_div(r18411, r18408, r18410, MPFR_RNDN);
        mpfr_const_pi(r18412, MPFR_RNDN);
        mpfr_sqrt(r18413, r18412, MPFR_RNDN);
        ;
        ;
        mpfr_pow(r18416, r18409, r18415, MPFR_RNDN);
        mpfr_div(r18417, r18414, r18416, MPFR_RNDN);
        ;
        mpfr_pow(r18419, r18417, r18418, MPFR_RNDN);
        mpfr_mul(r18420, r18413, r18419, MPFR_RNDN);
        mpfr_mul(r18421, r18411, r18420, MPFR_RNDN);
        mpfr_mul(r18422, r18405, r18421, MPFR_RNDN);
        ;
        mpfr_log(r18424, r18409, MPFR_RNDN);
        mpfr_sqr(r18425, r18424, MPFR_RNDN);
        mpfr_mul(r18426, r18407, r18425, MPFR_RNDN);
        mpfr_mul(r18427, r18402, r18426, MPFR_RNDN);
        mpfr_div(r18428, r18427, r18410, MPFR_RNDN);
        mpfr_mul(r18429, r18428, r18420, MPFR_RNDN);
        mpfr_mul(r18430, r18423, r18429, MPFR_RNDN);
        ;
        mpfr_mul(r18432, r18410, r18402, MPFR_RNDN);
        mpfr_div(r18433, r18407, r18432, MPFR_RNDN);
        mpfr_mul(r18434, r18433, r18420, MPFR_RNDN);
        mpfr_mul(r18435, r18431, r18434, MPFR_RNDN);
        mpfr_mul(r18436, r18407, r18424, MPFR_RNDN);
        mpfr_div(r18437, r18436, r18410, MPFR_RNDN);
        mpfr_mul(r18438, r18437, r18420, MPFR_RNDN);
        mpfr_mul(r18439, r18431, r18438, MPFR_RNDN);
        mpfr_add(r18440, r18435, r18439, MPFR_RNDN);
        mpfr_add(r18441, r18430, r18440, MPFR_RNDN);
        mpfr_add(r18442, r18422, r18441, MPFR_RNDN);
        ;
        mpfr_div(r18444, r18407, r18410, MPFR_RNDN);
        mpfr_mul(r18445, r18444, r18420, MPFR_RNDN);
        mpfr_mul(r18446, r18443, r18445, MPFR_RNDN);
        mpfr_mul(r18447, r18402, r18436, MPFR_RNDN);
        mpfr_div(r18448, r18447, r18410, MPFR_RNDN);
        mpfr_mul(r18449, r18448, r18420, MPFR_RNDN);
        mpfr_mul(r18450, r18443, r18449, MPFR_RNDN);
        mpfr_add(r18451, r18446, r18450, MPFR_RNDN);
        mpfr_sub(r18452, r18442, r18451, MPFR_RNDN);
        ;
        mpfr_sub(r18454, r18402, r18414, MPFR_RNDN);
        ;
        mpfr_add(r18456, r18454, r18455, MPFR_RNDN);
        mpfr_div(r18457, r18453, r18456, MPFR_RNDN);
        ;
        ;
        mpfr_add(r18460, r18459, r18454, MPFR_RNDN);
        mpfr_div(r18461, r18458, r18460, MPFR_RNDN);
        mpfr_add(r18462, r18457, r18461, MPFR_RNDN);
        ;
        ;
        mpfr_add(r18465, r18454, r18464, MPFR_RNDN);
        mpfr_div(r18466, r18463, r18465, MPFR_RNDN);
        ;
        ;
        mpfr_add(r18469, r18468, r18402, MPFR_RNDN);
        mpfr_sub(r18470, r18469, r18414, MPFR_RNDN);
        mpfr_div(r18471, r18467, r18470, MPFR_RNDN);
        mpfr_add(r18472, r18466, r18471, MPFR_RNDN);
        mpfr_add(r18473, r18462, r18472, MPFR_RNDN);
        ;
        mpfr_sub(r18475, r18402, r18474, MPFR_RNDN);
        mpfr_div(r18476, r18431, r18475, MPFR_RNDN);
        ;
        mpfr_add(r18478, r18476, r18477, MPFR_RNDN);
        ;
        ;
        mpfr_add(r18481, r18454, r18480, MPFR_RNDN);
        mpfr_div(r18482, r18479, r18481, MPFR_RNDN);
        mpfr_add(r18483, r18478, r18482, MPFR_RNDN);
        ;
        mpfr_sub(r18485, r18414, r18406, MPFR_RNDN);
        mpfr_sub(r18486, r18402, r18485, MPFR_RNDN);
        mpfr_div(r18487, r18484, r18486, MPFR_RNDN);
        ;
        ;
        mpfr_add(r18490, r18454, r18489, MPFR_RNDN);
        mpfr_div(r18491, r18488, r18490, MPFR_RNDN);
        mpfr_add(r18492, r18487, r18491, MPFR_RNDN);
        mpfr_add(r18493, r18483, r18492, MPFR_RNDN);
        mpfr_add(r18494, r18473, r18493, MPFR_RNDN);
        mpfr_add(r18495, r18459, r18402, MPFR_RNDN);
        mpfr_sqrt(r18496, r18495, MPFR_RNDN);
        mpfr_sub(r18497, r18414, r18418, MPFR_RNDN);
        mpfr_sqrt(r18498, r18497, MPFR_RNDN);
        mpfr_add(r18499, r18496, r18498, MPFR_RNDN);
        mpfr_add(r18500, r18418, r18454, MPFR_RNDN);
        mpfr_pow(r18501, r18499, r18500, MPFR_RNDN);
        mpfr_div(r18502, r18501, r18414, MPFR_RNDN);
        mpfr_mul(r18503, r18494, r18502, MPFR_RNDN);
        mpfr_sub(r18504, r18496, r18498, MPFR_RNDN);
        mpfr_pow(r18505, r18504, r18500, MPFR_RNDN);
        mpfr_exp(r18506, r18459, MPFR_RNDN);
        mpfr_div(r18507, r18505, r18506, MPFR_RNDN);
        mpfr_mul(r18508, r18503, r18507, MPFR_RNDN);
        mpfr_mul(r18509, r18406, r18412, MPFR_RNDN);
        mpfr_sqrt(r18510, r18509, MPFR_RNDN);
        mpfr_sub(r18511, r18402, r18497, MPFR_RNDN);
        mpfr_exp(r18512, r18511, MPFR_RNDN);
        mpfr_div(r18513, r18510, r18512, MPFR_RNDN);
        mpfr_mul(r18514, r18508, r18513, MPFR_RNDN);
        if (mpfr_get_si(r18404, MPFR_RNDN)) { mpfr_set(r18515, r18452, MPFR_RNDN); } else { mpfr_set(r18515, r18514, MPFR_RNDN); };
        return mpfr_get_d(r18515, MPFR_RNDN);
}

