#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 r29895 = atan2(1.0, 0.0);
        float r29896 = z;
        float r29897 = r29895 * r29896;
        float r29898 = sin(r29897);
        float r29899 = r29895 / r29898;
        float r29900 = 2;
        float r29901 = r29895 * r29900;
        float r29902 = sqrt(r29901);
        float r29903 = 1;
        float r29904 = r29903 - r29896;
        float r29905 = r29904 - r29903;
        float r29906 = 7;
        float r29907 = r29905 + r29906;
        float r29908 = 0.5;
        float r29909 = r29907 + r29908;
        float r29910 = r29905 + r29908;
        float r29911 = pow(r29909, r29910);
        float r29912 = r29902 * r29911;
        float r29913 = -r29909;
        float r29914 = exp(r29913);
        float r29915 = r29912 * r29914;
        float r29916 = 0.9999999999998099;
        float r29917 = 676.5203681218851;
        float r29918 = r29905 + r29903;
        float r29919 = r29917 / r29918;
        float r29920 = r29916 + r29919;
        float r29921 = -1259.1392167224028;
        float r29922 = r29905 + r29900;
        float r29923 = r29921 / r29922;
        float r29924 = r29920 + r29923;
        float r29925 = 771.3234287776531;
        float r29926 = 3;
        float r29927 = r29905 + r29926;
        float r29928 = r29925 / r29927;
        float r29929 = r29924 + r29928;
        float r29930 = -176.6150291621406;
        float r29931 = 4;
        float r29932 = r29905 + r29931;
        float r29933 = r29930 / r29932;
        float r29934 = r29929 + r29933;
        float r29935 = 12.507343278686905;
        float r29936 = 5;
        float r29937 = r29905 + r29936;
        float r29938 = r29935 / r29937;
        float r29939 = r29934 + r29938;
        float r29940 = -0.13857109526572012;
        float r29941 = 6;
        float r29942 = r29905 + r29941;
        float r29943 = r29940 / r29942;
        float r29944 = r29939 + r29943;
        float r29945 = 9.984369578019572e-06;
        float r29946 = r29945 / r29907;
        float r29947 = r29944 + r29946;
        float r29948 = 1.5056327351493116e-07;
        float r29949 = 8;
        float r29950 = r29905 + r29949;
        float r29951 = r29948 / r29950;
        float r29952 = r29947 + r29951;
        float r29953 = r29915 * r29952;
        float r29954 = r29899 * r29953;
        return r29954;
}

double f_id(double z) {
        double r29955 = atan2(1.0, 0.0);
        double r29956 = z;
        double r29957 = r29955 * r29956;
        double r29958 = sin(r29957);
        double r29959 = r29955 / r29958;
        double r29960 = 2;
        double r29961 = r29955 * r29960;
        double r29962 = sqrt(r29961);
        double r29963 = 1;
        double r29964 = r29963 - r29956;
        double r29965 = r29964 - r29963;
        double r29966 = 7;
        double r29967 = r29965 + r29966;
        double r29968 = 0.5;
        double r29969 = r29967 + r29968;
        double r29970 = r29965 + r29968;
        double r29971 = pow(r29969, r29970);
        double r29972 = r29962 * r29971;
        double r29973 = -r29969;
        double r29974 = exp(r29973);
        double r29975 = r29972 * r29974;
        double r29976 = 0.9999999999998099;
        double r29977 = 676.5203681218851;
        double r29978 = r29965 + r29963;
        double r29979 = r29977 / r29978;
        double r29980 = r29976 + r29979;
        double r29981 = -1259.1392167224028;
        double r29982 = r29965 + r29960;
        double r29983 = r29981 / r29982;
        double r29984 = r29980 + r29983;
        double r29985 = 771.3234287776531;
        double r29986 = 3;
        double r29987 = r29965 + r29986;
        double r29988 = r29985 / r29987;
        double r29989 = r29984 + r29988;
        double r29990 = -176.6150291621406;
        double r29991 = 4;
        double r29992 = r29965 + r29991;
        double r29993 = r29990 / r29992;
        double r29994 = r29989 + r29993;
        double r29995 = 12.507343278686905;
        double r29996 = 5;
        double r29997 = r29965 + r29996;
        double r29998 = r29995 / r29997;
        double r29999 = r29994 + r29998;
        double r30000 = -0.13857109526572012;
        double r30001 = 6;
        double r30002 = r29965 + r30001;
        double r30003 = r30000 / r30002;
        double r30004 = r29999 + r30003;
        double r30005 = 9.984369578019572e-06;
        double r30006 = r30005 / r29967;
        double r30007 = r30004 + r30006;
        double r30008 = 1.5056327351493116e-07;
        double r30009 = 8;
        double r30010 = r29965 + r30009;
        double r30011 = r30008 / r30010;
        double r30012 = r30007 + r30011;
        double r30013 = r29975 * r30012;
        double r30014 = r29959 * r30013;
        return r30014;
}


double f_of(float z) {
        float r30015 = atan2(1.0, 0.0);
        float r30016 = r30015 + r30015;
        float r30017 = sqrt(r30016);
        float r30018 = z;
        float r30019 = r30018 * r30015;
        float r30020 = sin(r30019);
        float r30021 = r30015 / r30020;
        float r30022 = r30017 * r30021;
        float r30023 = 0.5;
        float r30024 = 7;
        float r30025 = r30018 - r30024;
        float r30026 = r30023 - r30025;
        float r30027 = cbrt(r30026);
        float r30028 = r30027 * r30027;
        float r30029 = r30023 - r30018;
        float r30030 = pow(r30028, r30029);
        float r30031 = r30024 - r30018;
        float r30032 = r30031 + r30023;
        float r30033 = cbrt(r30032);
        float r30034 = pow(r30033, r30029);
        float r30035 = r30030 * r30034;
        float r30036 = r30022 * r30035;
        float r30037 = 1;
        float r30038 = r30024 + r30037;
        float r30039 = r30037 + r30018;
        float r30040 = r30038 - r30039;
        float r30041 = r30023 + r30040;
        float r30042 = exp(r30041);
        float r30043 = r30036 / r30042;
        float r30044 = 9.984369578019572e-06;
        float r30045 = r30044 / r30040;
        float r30046 = 1.5056327351493116e-07;
        float r30047 = r30037 - r30018;
        float r30048 = 8;
        float r30049 = r30037 - r30048;
        float r30050 = r30047 - r30049;
        float r30051 = r30046 / r30050;
        float r30052 = r30045 + r30051;
        float r30053 = -0.13857109526572012;
        float r30054 = 6;
        float r30055 = r30054 + r30037;
        float r30056 = r30055 - r30039;
        float r30057 = r30053 / r30056;
        float r30058 = 12.507343278686905;
        float r30059 = 5;
        float r30060 = r30037 - r30059;
        float r30061 = r30047 - r30060;
        float r30062 = r30058 / r30061;
        float r30063 = r30057 + r30062;
        float r30064 = 771.3234287776531;
        float r30065 = 3;
        float r30066 = r30037 - r30065;
        float r30067 = r30047 - r30066;
        float r30068 = r30064 / r30067;
        float r30069 = -176.6150291621406;
        float r30070 = 4;
        float r30071 = r30070 + r30037;
        float r30072 = r30071 - r30039;
        float r30073 = r30069 / r30072;
        float r30074 = r30068 + r30073;
        float r30075 = r30063 + r30074;
        float r30076 = 0.9999999999998099;
        float r30077 = -1259.1392167224028;
        float r30078 = 2;
        float r30079 = r30037 - r30078;
        float r30080 = r30047 - r30079;
        float r30081 = r30077 / r30080;
        float r30082 = r30076 + r30081;
        float r30083 = 676.5203681218851;
        float r30084 = 0;
        float r30085 = r30047 - r30084;
        float r30086 = r30083 / r30085;
        float r30087 = r30082 + r30086;
        float r30088 = r30075 + r30087;
        float r30089 = r30052 + r30088;
        float r30090 = r30043 * r30089;
        return r30090;
}

double f_od(double z) {
        double r30091 = atan2(1.0, 0.0);
        double r30092 = r30091 + r30091;
        double r30093 = sqrt(r30092);
        double r30094 = z;
        double r30095 = r30094 * r30091;
        double r30096 = sin(r30095);
        double r30097 = r30091 / r30096;
        double r30098 = r30093 * r30097;
        double r30099 = 0.5;
        double r30100 = 7;
        double r30101 = r30094 - r30100;
        double r30102 = r30099 - r30101;
        double r30103 = cbrt(r30102);
        double r30104 = r30103 * r30103;
        double r30105 = r30099 - r30094;
        double r30106 = pow(r30104, r30105);
        double r30107 = r30100 - r30094;
        double r30108 = r30107 + r30099;
        double r30109 = cbrt(r30108);
        double r30110 = pow(r30109, r30105);
        double r30111 = r30106 * r30110;
        double r30112 = r30098 * r30111;
        double r30113 = 1;
        double r30114 = r30100 + r30113;
        double r30115 = r30113 + r30094;
        double r30116 = r30114 - r30115;
        double r30117 = r30099 + r30116;
        double r30118 = exp(r30117);
        double r30119 = r30112 / r30118;
        double r30120 = 9.984369578019572e-06;
        double r30121 = r30120 / r30116;
        double r30122 = 1.5056327351493116e-07;
        double r30123 = r30113 - r30094;
        double r30124 = 8;
        double r30125 = r30113 - r30124;
        double r30126 = r30123 - r30125;
        double r30127 = r30122 / r30126;
        double r30128 = r30121 + r30127;
        double r30129 = -0.13857109526572012;
        double r30130 = 6;
        double r30131 = r30130 + r30113;
        double r30132 = r30131 - r30115;
        double r30133 = r30129 / r30132;
        double r30134 = 12.507343278686905;
        double r30135 = 5;
        double r30136 = r30113 - r30135;
        double r30137 = r30123 - r30136;
        double r30138 = r30134 / r30137;
        double r30139 = r30133 + r30138;
        double r30140 = 771.3234287776531;
        double r30141 = 3;
        double r30142 = r30113 - r30141;
        double r30143 = r30123 - r30142;
        double r30144 = r30140 / r30143;
        double r30145 = -176.6150291621406;
        double r30146 = 4;
        double r30147 = r30146 + r30113;
        double r30148 = r30147 - r30115;
        double r30149 = r30145 / r30148;
        double r30150 = r30144 + r30149;
        double r30151 = r30139 + r30150;
        double r30152 = 0.9999999999998099;
        double r30153 = -1259.1392167224028;
        double r30154 = 2;
        double r30155 = r30113 - r30154;
        double r30156 = r30123 - r30155;
        double r30157 = r30153 / r30156;
        double r30158 = r30152 + r30157;
        double r30159 = 676.5203681218851;
        double r30160 = 0;
        double r30161 = r30123 - r30160;
        double r30162 = r30159 / r30161;
        double r30163 = r30158 + r30162;
        double r30164 = r30151 + r30163;
        double r30165 = r30128 + r30164;
        double r30166 = r30119 * r30165;
        return r30166;
}

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 r30167, r30168, r30169, r30170, r30171, r30172, r30173, r30174, r30175, r30176, r30177, r30178, r30179, r30180, r30181, r30182, r30183, r30184, r30185, r30186, r30187, r30188, r30189, r30190, r30191, r30192, r30193, r30194, r30195, r30196, r30197, r30198, r30199, r30200, r30201, r30202, r30203, r30204, r30205, r30206, r30207, r30208, r30209, r30210, r30211, r30212, r30213, r30214, r30215, r30216, r30217, r30218, r30219, r30220, r30221, r30222, r30223, r30224, r30225, r30226;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(400);
        mpfr_init(r30167);
        mpfr_init(r30168);
        mpfr_init(r30169);
        mpfr_init(r30170);
        mpfr_init(r30171);
        mpfr_init_set_str(r30172, "2", 10, MPFR_RNDN);
        mpfr_init(r30173);
        mpfr_init(r30174);
        mpfr_init_set_str(r30175, "1", 10, MPFR_RNDN);
        mpfr_init(r30176);
        mpfr_init(r30177);
        mpfr_init_set_str(r30178, "7", 10, MPFR_RNDN);
        mpfr_init(r30179);
        mpfr_init_set_str(r30180, "0.5", 10, MPFR_RNDN);
        mpfr_init(r30181);
        mpfr_init(r30182);
        mpfr_init(r30183);
        mpfr_init(r30184);
        mpfr_init(r30185);
        mpfr_init(r30186);
        mpfr_init(r30187);
        mpfr_init_set_str(r30188, "0.9999999999998099", 10, MPFR_RNDN);
        mpfr_init_set_str(r30189, "676.5203681218851", 10, MPFR_RNDN);
        mpfr_init(r30190);
        mpfr_init(r30191);
        mpfr_init(r30192);
        mpfr_init_set_str(r30193, "-1259.1392167224028", 10, MPFR_RNDN);
        mpfr_init(r30194);
        mpfr_init(r30195);
        mpfr_init(r30196);
        mpfr_init_set_str(r30197, "771.3234287776531", 10, MPFR_RNDN);
        mpfr_init_set_str(r30198, "3", 10, MPFR_RNDN);
        mpfr_init(r30199);
        mpfr_init(r30200);
        mpfr_init(r30201);
        mpfr_init_set_str(r30202, "-176.6150291621406", 10, MPFR_RNDN);
        mpfr_init_set_str(r30203, "4", 10, MPFR_RNDN);
        mpfr_init(r30204);
        mpfr_init(r30205);
        mpfr_init(r30206);
        mpfr_init_set_str(r30207, "12.507343278686905", 10, MPFR_RNDN);
        mpfr_init_set_str(r30208, "5", 10, MPFR_RNDN);
        mpfr_init(r30209);
        mpfr_init(r30210);
        mpfr_init(r30211);
        mpfr_init_set_str(r30212, "-0.13857109526572012", 10, MPFR_RNDN);
        mpfr_init_set_str(r30213, "6", 10, MPFR_RNDN);
        mpfr_init(r30214);
        mpfr_init(r30215);
        mpfr_init(r30216);
        mpfr_init_set_str(r30217, "9.984369578019572e-06", 10, MPFR_RNDN);
        mpfr_init(r30218);
        mpfr_init(r30219);
        mpfr_init_set_str(r30220, "1.5056327351493116e-07", 10, MPFR_RNDN);
        mpfr_init_set_str(r30221, "8", 10, MPFR_RNDN);
        mpfr_init(r30222);
        mpfr_init(r30223);
        mpfr_init(r30224);
        mpfr_init(r30225);
        mpfr_init(r30226);
}

double f_im(double z) {
        mpfr_const_pi(r30167, MPFR_RNDN);
        mpfr_set_d(r30168, z, MPFR_RNDN);
        mpfr_mul(r30169, r30167, r30168, MPFR_RNDN);
        mpfr_sin(r30170, r30169, MPFR_RNDN);
        mpfr_div(r30171, r30167, r30170, MPFR_RNDN);
        ;
        mpfr_mul(r30173, r30167, r30172, MPFR_RNDN);
        mpfr_sqrt(r30174, r30173, MPFR_RNDN);
        ;
        mpfr_sub(r30176, r30175, r30168, MPFR_RNDN);
        mpfr_sub(r30177, r30176, r30175, MPFR_RNDN);
        ;
        mpfr_add(r30179, r30177, r30178, MPFR_RNDN);
        ;
        mpfr_add(r30181, r30179, r30180, MPFR_RNDN);
        mpfr_add(r30182, r30177, r30180, MPFR_RNDN);
        mpfr_pow(r30183, r30181, r30182, MPFR_RNDN);
        mpfr_mul(r30184, r30174, r30183, MPFR_RNDN);
        mpfr_neg(r30185, r30181, MPFR_RNDN);
        mpfr_exp(r30186, r30185, MPFR_RNDN);
        mpfr_mul(r30187, r30184, r30186, MPFR_RNDN);
        ;
        ;
        mpfr_add(r30190, r30177, r30175, MPFR_RNDN);
        mpfr_div(r30191, r30189, r30190, MPFR_RNDN);
        mpfr_add(r30192, r30188, r30191, MPFR_RNDN);
        ;
        mpfr_add(r30194, r30177, r30172, MPFR_RNDN);
        mpfr_div(r30195, r30193, r30194, MPFR_RNDN);
        mpfr_add(r30196, r30192, r30195, MPFR_RNDN);
        ;
        ;
        mpfr_add(r30199, r30177, r30198, MPFR_RNDN);
        mpfr_div(r30200, r30197, r30199, MPFR_RNDN);
        mpfr_add(r30201, r30196, r30200, MPFR_RNDN);
        ;
        ;
        mpfr_add(r30204, r30177, r30203, MPFR_RNDN);
        mpfr_div(r30205, r30202, r30204, MPFR_RNDN);
        mpfr_add(r30206, r30201, r30205, MPFR_RNDN);
        ;
        ;
        mpfr_add(r30209, r30177, r30208, MPFR_RNDN);
        mpfr_div(r30210, r30207, r30209, MPFR_RNDN);
        mpfr_add(r30211, r30206, r30210, MPFR_RNDN);
        ;
        ;
        mpfr_add(r30214, r30177, r30213, MPFR_RNDN);
        mpfr_div(r30215, r30212, r30214, MPFR_RNDN);
        mpfr_add(r30216, r30211, r30215, MPFR_RNDN);
        ;
        mpfr_div(r30218, r30217, r30179, MPFR_RNDN);
        mpfr_add(r30219, r30216, r30218, MPFR_RNDN);
        ;
        ;
        mpfr_add(r30222, r30177, r30221, MPFR_RNDN);
        mpfr_div(r30223, r30220, r30222, MPFR_RNDN);
        mpfr_add(r30224, r30219, r30223, MPFR_RNDN);
        mpfr_mul(r30225, r30187, r30224, MPFR_RNDN);
        mpfr_mul(r30226, r30171, r30225, MPFR_RNDN);
        return mpfr_get_d(r30226, MPFR_RNDN);
}

static mpfr_t r30227, r30228, r30229, r30230, r30231, r30232, r30233, r30234, r30235, r30236, r30237, r30238, r30239, r30240, r30241, r30242, r30243, r30244, r30245, r30246, r30247, r30248, r30249, r30250, r30251, r30252, r30253, r30254, r30255, r30256, r30257, r30258, r30259, r30260, r30261, r30262, r30263, r30264, r30265, r30266, r30267, r30268, r30269, r30270, r30271, r30272, r30273, r30274, r30275, r30276, r30277, r30278, r30279, r30280, r30281, r30282, r30283, r30284, r30285, r30286, r30287, r30288, r30289, r30290, r30291, r30292, r30293, r30294, r30295, r30296, r30297, r30298, r30299, r30300, r30301, r30302;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(400);
        mpfr_init(r30227);
        mpfr_init(r30228);
        mpfr_init(r30229);
        mpfr_init(r30230);
        mpfr_init(r30231);
        mpfr_init(r30232);
        mpfr_init(r30233);
        mpfr_init(r30234);
        mpfr_init_set_str(r30235, "0.5", 10, MPFR_RNDN);
        mpfr_init_set_str(r30236, "7", 10, MPFR_RNDN);
        mpfr_init(r30237);
        mpfr_init(r30238);
        mpfr_init(r30239);
        mpfr_init(r30240);
        mpfr_init(r30241);
        mpfr_init(r30242);
        mpfr_init(r30243);
        mpfr_init(r30244);
        mpfr_init(r30245);
        mpfr_init(r30246);
        mpfr_init(r30247);
        mpfr_init(r30248);
        mpfr_init_set_str(r30249, "1", 10, MPFR_RNDN);
        mpfr_init(r30250);
        mpfr_init(r30251);
        mpfr_init(r30252);
        mpfr_init(r30253);
        mpfr_init(r30254);
        mpfr_init(r30255);
        mpfr_init_set_str(r30256, "9.984369578019572e-06", 10, MPFR_RNDN);
        mpfr_init(r30257);
        mpfr_init_set_str(r30258, "1.5056327351493116e-07", 10, MPFR_RNDN);
        mpfr_init(r30259);
        mpfr_init_set_str(r30260, "8", 10, MPFR_RNDN);
        mpfr_init(r30261);
        mpfr_init(r30262);
        mpfr_init(r30263);
        mpfr_init(r30264);
        mpfr_init_set_str(r30265, "-0.13857109526572012", 10, MPFR_RNDN);
        mpfr_init_set_str(r30266, "6", 10, MPFR_RNDN);
        mpfr_init(r30267);
        mpfr_init(r30268);
        mpfr_init(r30269);
        mpfr_init_set_str(r30270, "12.507343278686905", 10, MPFR_RNDN);
        mpfr_init_set_str(r30271, "5", 10, MPFR_RNDN);
        mpfr_init(r30272);
        mpfr_init(r30273);
        mpfr_init(r30274);
        mpfr_init(r30275);
        mpfr_init_set_str(r30276, "771.3234287776531", 10, MPFR_RNDN);
        mpfr_init_set_str(r30277, "3", 10, MPFR_RNDN);
        mpfr_init(r30278);
        mpfr_init(r30279);
        mpfr_init(r30280);
        mpfr_init_set_str(r30281, "-176.6150291621406", 10, MPFR_RNDN);
        mpfr_init_set_str(r30282, "4", 10, MPFR_RNDN);
        mpfr_init(r30283);
        mpfr_init(r30284);
        mpfr_init(r30285);
        mpfr_init(r30286);
        mpfr_init(r30287);
        mpfr_init_set_str(r30288, "0.9999999999998099", 10, MPFR_RNDN);
        mpfr_init_set_str(r30289, "-1259.1392167224028", 10, MPFR_RNDN);
        mpfr_init_set_str(r30290, "2", 10, MPFR_RNDN);
        mpfr_init(r30291);
        mpfr_init(r30292);
        mpfr_init(r30293);
        mpfr_init(r30294);
        mpfr_init_set_str(r30295, "676.5203681218851", 10, MPFR_RNDN);
        mpfr_init_set_str(r30296, "0", 10, MPFR_RNDN);
        mpfr_init(r30297);
        mpfr_init(r30298);
        mpfr_init(r30299);
        mpfr_init(r30300);
        mpfr_init(r30301);
        mpfr_init(r30302);
}

double f_fm(double z) {
        mpfr_const_pi(r30227, MPFR_RNDN);
        mpfr_add(r30228, r30227, r30227, MPFR_RNDN);
        mpfr_sqrt(r30229, r30228, MPFR_RNDN);
        mpfr_set_d(r30230, z, MPFR_RNDN);
        mpfr_mul(r30231, r30230, r30227, MPFR_RNDN);
        mpfr_sin(r30232, r30231, MPFR_RNDN);
        mpfr_div(r30233, r30227, r30232, MPFR_RNDN);
        mpfr_mul(r30234, r30229, r30233, MPFR_RNDN);
        ;
        ;
        mpfr_sub(r30237, r30230, r30236, MPFR_RNDN);
        mpfr_sub(r30238, r30235, r30237, MPFR_RNDN);
        mpfr_cbrt(r30239, r30238, MPFR_RNDN);
        mpfr_mul(r30240, r30239, r30239, MPFR_RNDN);
        mpfr_sub(r30241, r30235, r30230, MPFR_RNDN);
        mpfr_pow(r30242, r30240, r30241, MPFR_RNDN);
        mpfr_sub(r30243, r30236, r30230, MPFR_RNDN);
        mpfr_add(r30244, r30243, r30235, MPFR_RNDN);
        mpfr_cbrt(r30245, r30244, MPFR_RNDN);
        mpfr_pow(r30246, r30245, r30241, MPFR_RNDN);
        mpfr_mul(r30247, r30242, r30246, MPFR_RNDN);
        mpfr_mul(r30248, r30234, r30247, MPFR_RNDN);
        ;
        mpfr_add(r30250, r30236, r30249, MPFR_RNDN);
        mpfr_add(r30251, r30249, r30230, MPFR_RNDN);
        mpfr_sub(r30252, r30250, r30251, MPFR_RNDN);
        mpfr_add(r30253, r30235, r30252, MPFR_RNDN);
        mpfr_exp(r30254, r30253, MPFR_RNDN);
        mpfr_div(r30255, r30248, r30254, MPFR_RNDN);
        ;
        mpfr_div(r30257, r30256, r30252, MPFR_RNDN);
        ;
        mpfr_sub(r30259, r30249, r30230, MPFR_RNDN);
        ;
        mpfr_sub(r30261, r30249, r30260, MPFR_RNDN);
        mpfr_sub(r30262, r30259, r30261, MPFR_RNDN);
        mpfr_div(r30263, r30258, r30262, MPFR_RNDN);
        mpfr_add(r30264, r30257, r30263, MPFR_RNDN);
        ;
        ;
        mpfr_add(r30267, r30266, r30249, MPFR_RNDN);
        mpfr_sub(r30268, r30267, r30251, MPFR_RNDN);
        mpfr_div(r30269, r30265, r30268, MPFR_RNDN);
        ;
        ;
        mpfr_sub(r30272, r30249, r30271, MPFR_RNDN);
        mpfr_sub(r30273, r30259, r30272, MPFR_RNDN);
        mpfr_div(r30274, r30270, r30273, MPFR_RNDN);
        mpfr_add(r30275, r30269, r30274, MPFR_RNDN);
        ;
        ;
        mpfr_sub(r30278, r30249, r30277, MPFR_RNDN);
        mpfr_sub(r30279, r30259, r30278, MPFR_RNDN);
        mpfr_div(r30280, r30276, r30279, MPFR_RNDN);
        ;
        ;
        mpfr_add(r30283, r30282, r30249, MPFR_RNDN);
        mpfr_sub(r30284, r30283, r30251, MPFR_RNDN);
        mpfr_div(r30285, r30281, r30284, MPFR_RNDN);
        mpfr_add(r30286, r30280, r30285, MPFR_RNDN);
        mpfr_add(r30287, r30275, r30286, MPFR_RNDN);
        ;
        ;
        ;
        mpfr_sub(r30291, r30249, r30290, MPFR_RNDN);
        mpfr_sub(r30292, r30259, r30291, MPFR_RNDN);
        mpfr_div(r30293, r30289, r30292, MPFR_RNDN);
        mpfr_add(r30294, r30288, r30293, MPFR_RNDN);
        ;
        ;
        mpfr_sub(r30297, r30259, r30296, MPFR_RNDN);
        mpfr_div(r30298, r30295, r30297, MPFR_RNDN);
        mpfr_add(r30299, r30294, r30298, MPFR_RNDN);
        mpfr_add(r30300, r30287, r30299, MPFR_RNDN);
        mpfr_add(r30301, r30264, r30300, MPFR_RNDN);
        mpfr_mul(r30302, r30255, r30301, MPFR_RNDN);
        return mpfr_get_d(r30302, MPFR_RNDN);
}

static mpfr_t r30303, r30304, r30305, r30306, r30307, r30308, r30309, r30310, r30311, r30312, r30313, r30314, r30315, r30316, r30317, r30318, r30319, r30320, r30321, r30322, r30323, r30324, r30325, r30326, r30327, r30328, r30329, r30330, r30331, r30332, r30333, r30334, r30335, r30336, r30337, r30338, r30339, r30340, r30341, r30342, r30343, r30344, r30345, r30346, r30347, r30348, r30349, r30350, r30351, r30352, r30353, r30354, r30355, r30356, r30357, r30358, r30359, r30360, r30361, r30362, r30363, r30364, r30365, r30366, r30367, r30368, r30369, r30370, r30371, r30372, r30373, r30374, r30375, r30376, r30377, r30378;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(400);
        mpfr_init(r30303);
        mpfr_init(r30304);
        mpfr_init(r30305);
        mpfr_init(r30306);
        mpfr_init(r30307);
        mpfr_init(r30308);
        mpfr_init(r30309);
        mpfr_init(r30310);
        mpfr_init_set_str(r30311, "0.5", 10, MPFR_RNDN);
        mpfr_init_set_str(r30312, "7", 10, MPFR_RNDN);
        mpfr_init(r30313);
        mpfr_init(r30314);
        mpfr_init(r30315);
        mpfr_init(r30316);
        mpfr_init(r30317);
        mpfr_init(r30318);
        mpfr_init(r30319);
        mpfr_init(r30320);
        mpfr_init(r30321);
        mpfr_init(r30322);
        mpfr_init(r30323);
        mpfr_init(r30324);
        mpfr_init_set_str(r30325, "1", 10, MPFR_RNDN);
        mpfr_init(r30326);
        mpfr_init(r30327);
        mpfr_init(r30328);
        mpfr_init(r30329);
        mpfr_init(r30330);
        mpfr_init(r30331);
        mpfr_init_set_str(r30332, "9.984369578019572e-06", 10, MPFR_RNDN);
        mpfr_init(r30333);
        mpfr_init_set_str(r30334, "1.5056327351493116e-07", 10, MPFR_RNDN);
        mpfr_init(r30335);
        mpfr_init_set_str(r30336, "8", 10, MPFR_RNDN);
        mpfr_init(r30337);
        mpfr_init(r30338);
        mpfr_init(r30339);
        mpfr_init(r30340);
        mpfr_init_set_str(r30341, "-0.13857109526572012", 10, MPFR_RNDN);
        mpfr_init_set_str(r30342, "6", 10, MPFR_RNDN);
        mpfr_init(r30343);
        mpfr_init(r30344);
        mpfr_init(r30345);
        mpfr_init_set_str(r30346, "12.507343278686905", 10, MPFR_RNDN);
        mpfr_init_set_str(r30347, "5", 10, MPFR_RNDN);
        mpfr_init(r30348);
        mpfr_init(r30349);
        mpfr_init(r30350);
        mpfr_init(r30351);
        mpfr_init_set_str(r30352, "771.3234287776531", 10, MPFR_RNDN);
        mpfr_init_set_str(r30353, "3", 10, MPFR_RNDN);
        mpfr_init(r30354);
        mpfr_init(r30355);
        mpfr_init(r30356);
        mpfr_init_set_str(r30357, "-176.6150291621406", 10, MPFR_RNDN);
        mpfr_init_set_str(r30358, "4", 10, MPFR_RNDN);
        mpfr_init(r30359);
        mpfr_init(r30360);
        mpfr_init(r30361);
        mpfr_init(r30362);
        mpfr_init(r30363);
        mpfr_init_set_str(r30364, "0.9999999999998099", 10, MPFR_RNDN);
        mpfr_init_set_str(r30365, "-1259.1392167224028", 10, MPFR_RNDN);
        mpfr_init_set_str(r30366, "2", 10, MPFR_RNDN);
        mpfr_init(r30367);
        mpfr_init(r30368);
        mpfr_init(r30369);
        mpfr_init(r30370);
        mpfr_init_set_str(r30371, "676.5203681218851", 10, MPFR_RNDN);
        mpfr_init_set_str(r30372, "0", 10, MPFR_RNDN);
        mpfr_init(r30373);
        mpfr_init(r30374);
        mpfr_init(r30375);
        mpfr_init(r30376);
        mpfr_init(r30377);
        mpfr_init(r30378);
}

double f_dm(double z) {
        mpfr_const_pi(r30303, MPFR_RNDN);
        mpfr_add(r30304, r30303, r30303, MPFR_RNDN);
        mpfr_sqrt(r30305, r30304, MPFR_RNDN);
        mpfr_set_d(r30306, z, MPFR_RNDN);
        mpfr_mul(r30307, r30306, r30303, MPFR_RNDN);
        mpfr_sin(r30308, r30307, MPFR_RNDN);
        mpfr_div(r30309, r30303, r30308, MPFR_RNDN);
        mpfr_mul(r30310, r30305, r30309, MPFR_RNDN);
        ;
        ;
        mpfr_sub(r30313, r30306, r30312, MPFR_RNDN);
        mpfr_sub(r30314, r30311, r30313, MPFR_RNDN);
        mpfr_cbrt(r30315, r30314, MPFR_RNDN);
        mpfr_mul(r30316, r30315, r30315, MPFR_RNDN);
        mpfr_sub(r30317, r30311, r30306, MPFR_RNDN);
        mpfr_pow(r30318, r30316, r30317, MPFR_RNDN);
        mpfr_sub(r30319, r30312, r30306, MPFR_RNDN);
        mpfr_add(r30320, r30319, r30311, MPFR_RNDN);
        mpfr_cbrt(r30321, r30320, MPFR_RNDN);
        mpfr_pow(r30322, r30321, r30317, MPFR_RNDN);
        mpfr_mul(r30323, r30318, r30322, MPFR_RNDN);
        mpfr_mul(r30324, r30310, r30323, MPFR_RNDN);
        ;
        mpfr_add(r30326, r30312, r30325, MPFR_RNDN);
        mpfr_add(r30327, r30325, r30306, MPFR_RNDN);
        mpfr_sub(r30328, r30326, r30327, MPFR_RNDN);
        mpfr_add(r30329, r30311, r30328, MPFR_RNDN);
        mpfr_exp(r30330, r30329, MPFR_RNDN);
        mpfr_div(r30331, r30324, r30330, MPFR_RNDN);
        ;
        mpfr_div(r30333, r30332, r30328, MPFR_RNDN);
        ;
        mpfr_sub(r30335, r30325, r30306, MPFR_RNDN);
        ;
        mpfr_sub(r30337, r30325, r30336, MPFR_RNDN);
        mpfr_sub(r30338, r30335, r30337, MPFR_RNDN);
        mpfr_div(r30339, r30334, r30338, MPFR_RNDN);
        mpfr_add(r30340, r30333, r30339, MPFR_RNDN);
        ;
        ;
        mpfr_add(r30343, r30342, r30325, MPFR_RNDN);
        mpfr_sub(r30344, r30343, r30327, MPFR_RNDN);
        mpfr_div(r30345, r30341, r30344, MPFR_RNDN);
        ;
        ;
        mpfr_sub(r30348, r30325, r30347, MPFR_RNDN);
        mpfr_sub(r30349, r30335, r30348, MPFR_RNDN);
        mpfr_div(r30350, r30346, r30349, MPFR_RNDN);
        mpfr_add(r30351, r30345, r30350, MPFR_RNDN);
        ;
        ;
        mpfr_sub(r30354, r30325, r30353, MPFR_RNDN);
        mpfr_sub(r30355, r30335, r30354, MPFR_RNDN);
        mpfr_div(r30356, r30352, r30355, MPFR_RNDN);
        ;
        ;
        mpfr_add(r30359, r30358, r30325, MPFR_RNDN);
        mpfr_sub(r30360, r30359, r30327, MPFR_RNDN);
        mpfr_div(r30361, r30357, r30360, MPFR_RNDN);
        mpfr_add(r30362, r30356, r30361, MPFR_RNDN);
        mpfr_add(r30363, r30351, r30362, MPFR_RNDN);
        ;
        ;
        ;
        mpfr_sub(r30367, r30325, r30366, MPFR_RNDN);
        mpfr_sub(r30368, r30335, r30367, MPFR_RNDN);
        mpfr_div(r30369, r30365, r30368, MPFR_RNDN);
        mpfr_add(r30370, r30364, r30369, MPFR_RNDN);
        ;
        ;
        mpfr_sub(r30373, r30335, r30372, MPFR_RNDN);
        mpfr_div(r30374, r30371, r30373, MPFR_RNDN);
        mpfr_add(r30375, r30370, r30374, MPFR_RNDN);
        mpfr_add(r30376, r30363, r30375, MPFR_RNDN);
        mpfr_add(r30377, r30340, r30376, MPFR_RNDN);
        mpfr_mul(r30378, r30331, r30377, MPFR_RNDN);
        return mpfr_get_d(r30378, MPFR_RNDN);
}

