#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 r29847 = atan2(1.0, 0.0);
        float r29848 = z;
        float r29849 = r29847 * r29848;
        float r29850 = sin(r29849);
        float r29851 = r29847 / r29850;
        float r29852 = 2;
        float r29853 = r29847 * r29852;
        float r29854 = sqrt(r29853);
        float r29855 = 1;
        float r29856 = r29855 - r29848;
        float r29857 = r29856 - r29855;
        float r29858 = 7;
        float r29859 = r29857 + r29858;
        float r29860 = 0.5;
        float r29861 = r29859 + r29860;
        float r29862 = r29857 + r29860;
        float r29863 = pow(r29861, r29862);
        float r29864 = r29854 * r29863;
        float r29865 = -r29861;
        float r29866 = exp(r29865);
        float r29867 = r29864 * r29866;
        float r29868 = 0.9999999999998099;
        float r29869 = 676.5203681218851;
        float r29870 = r29857 + r29855;
        float r29871 = r29869 / r29870;
        float r29872 = r29868 + r29871;
        float r29873 = -1259.1392167224028;
        float r29874 = r29857 + r29852;
        float r29875 = r29873 / r29874;
        float r29876 = r29872 + r29875;
        float r29877 = 771.3234287776531;
        float r29878 = 3;
        float r29879 = r29857 + r29878;
        float r29880 = r29877 / r29879;
        float r29881 = r29876 + r29880;
        float r29882 = -176.6150291621406;
        float r29883 = 4;
        float r29884 = r29857 + r29883;
        float r29885 = r29882 / r29884;
        float r29886 = r29881 + r29885;
        float r29887 = 12.507343278686905;
        float r29888 = 5;
        float r29889 = r29857 + r29888;
        float r29890 = r29887 / r29889;
        float r29891 = r29886 + r29890;
        float r29892 = -0.13857109526572012;
        float r29893 = 6;
        float r29894 = r29857 + r29893;
        float r29895 = r29892 / r29894;
        float r29896 = r29891 + r29895;
        float r29897 = 9.984369578019572e-06;
        float r29898 = r29897 / r29859;
        float r29899 = r29896 + r29898;
        float r29900 = 1.5056327351493116e-07;
        float r29901 = 8;
        float r29902 = r29857 + r29901;
        float r29903 = r29900 / r29902;
        float r29904 = r29899 + r29903;
        float r29905 = r29867 * r29904;
        float r29906 = r29851 * r29905;
        return r29906;
}

double f_id(double z) {
        double r29907 = atan2(1.0, 0.0);
        double r29908 = z;
        double r29909 = r29907 * r29908;
        double r29910 = sin(r29909);
        double r29911 = r29907 / r29910;
        double r29912 = 2;
        double r29913 = r29907 * r29912;
        double r29914 = sqrt(r29913);
        double r29915 = 1;
        double r29916 = r29915 - r29908;
        double r29917 = r29916 - r29915;
        double r29918 = 7;
        double r29919 = r29917 + r29918;
        double r29920 = 0.5;
        double r29921 = r29919 + r29920;
        double r29922 = r29917 + r29920;
        double r29923 = pow(r29921, r29922);
        double r29924 = r29914 * r29923;
        double r29925 = -r29921;
        double r29926 = exp(r29925);
        double r29927 = r29924 * r29926;
        double r29928 = 0.9999999999998099;
        double r29929 = 676.5203681218851;
        double r29930 = r29917 + r29915;
        double r29931 = r29929 / r29930;
        double r29932 = r29928 + r29931;
        double r29933 = -1259.1392167224028;
        double r29934 = r29917 + r29912;
        double r29935 = r29933 / r29934;
        double r29936 = r29932 + r29935;
        double r29937 = 771.3234287776531;
        double r29938 = 3;
        double r29939 = r29917 + r29938;
        double r29940 = r29937 / r29939;
        double r29941 = r29936 + r29940;
        double r29942 = -176.6150291621406;
        double r29943 = 4;
        double r29944 = r29917 + r29943;
        double r29945 = r29942 / r29944;
        double r29946 = r29941 + r29945;
        double r29947 = 12.507343278686905;
        double r29948 = 5;
        double r29949 = r29917 + r29948;
        double r29950 = r29947 / r29949;
        double r29951 = r29946 + r29950;
        double r29952 = -0.13857109526572012;
        double r29953 = 6;
        double r29954 = r29917 + r29953;
        double r29955 = r29952 / r29954;
        double r29956 = r29951 + r29955;
        double r29957 = 9.984369578019572e-06;
        double r29958 = r29957 / r29919;
        double r29959 = r29956 + r29958;
        double r29960 = 1.5056327351493116e-07;
        double r29961 = 8;
        double r29962 = r29917 + r29961;
        double r29963 = r29960 / r29962;
        double r29964 = r29959 + r29963;
        double r29965 = r29927 * r29964;
        double r29966 = r29911 * r29965;
        return r29966;
}


double f_of(float z) {
        float r29967 = atan2(1.0, 0.0);
        float r29968 = r29967 + r29967;
        float r29969 = sqrt(r29968);
        float r29970 = z;
        float r29971 = r29970 * r29967;
        float r29972 = sin(r29971);
        float r29973 = r29967 / r29972;
        float r29974 = r29969 * r29973;
        float r29975 = 0.5;
        float r29976 = 7;
        float r29977 = r29970 - r29976;
        float r29978 = r29975 - r29977;
        float r29979 = cbrt(r29978);
        float r29980 = r29979 * r29979;
        float r29981 = r29975 - r29970;
        float r29982 = pow(r29980, r29981);
        float r29983 = r29976 - r29970;
        float r29984 = r29983 + r29975;
        float r29985 = cbrt(r29984);
        float r29986 = pow(r29985, r29981);
        float r29987 = r29982 * r29986;
        float r29988 = r29974 * r29987;
        float r29989 = 1;
        float r29990 = r29976 + r29989;
        float r29991 = r29989 + r29970;
        float r29992 = r29990 - r29991;
        float r29993 = r29975 + r29992;
        float r29994 = exp(r29993);
        float r29995 = r29988 / r29994;
        float r29996 = 9.984369578019572e-06;
        float r29997 = r29996 / r29992;
        float r29998 = 1.5056327351493116e-07;
        float r29999 = r29989 - r29970;
        float r30000 = 8;
        float r30001 = r29989 - r30000;
        float r30002 = r29999 - r30001;
        float r30003 = r29998 / r30002;
        float r30004 = r29997 + r30003;
        float r30005 = -0.13857109526572012;
        float r30006 = 6;
        float r30007 = r30006 + r29989;
        float r30008 = r30007 - r29991;
        float r30009 = r30005 / r30008;
        float r30010 = 12.507343278686905;
        float r30011 = 5;
        float r30012 = r29989 - r30011;
        float r30013 = r29999 - r30012;
        float r30014 = r30010 / r30013;
        float r30015 = r30009 + r30014;
        float r30016 = 771.3234287776531;
        float r30017 = 3;
        float r30018 = r29989 - r30017;
        float r30019 = r29999 - r30018;
        float r30020 = r30016 / r30019;
        float r30021 = -176.6150291621406;
        float r30022 = 4;
        float r30023 = r30022 + r29989;
        float r30024 = r30023 - r29991;
        float r30025 = r30021 / r30024;
        float r30026 = r30020 + r30025;
        float r30027 = r30015 + r30026;
        float r30028 = 0.9999999999998099;
        float r30029 = -1259.1392167224028;
        float r30030 = 2;
        float r30031 = r29989 - r30030;
        float r30032 = r29999 - r30031;
        float r30033 = r30029 / r30032;
        float r30034 = r30028 + r30033;
        float r30035 = 676.5203681218851;
        float r30036 = 0;
        float r30037 = r29999 - r30036;
        float r30038 = r30035 / r30037;
        float r30039 = r30034 + r30038;
        float r30040 = r30027 + r30039;
        float r30041 = r30004 + r30040;
        float r30042 = r29995 * r30041;
        return r30042;
}

double f_od(double z) {
        double r30043 = atan2(1.0, 0.0);
        double r30044 = r30043 + r30043;
        double r30045 = sqrt(r30044);
        double r30046 = z;
        double r30047 = r30046 * r30043;
        double r30048 = sin(r30047);
        double r30049 = r30043 / r30048;
        double r30050 = r30045 * r30049;
        double r30051 = 0.5;
        double r30052 = 7;
        double r30053 = r30046 - r30052;
        double r30054 = r30051 - r30053;
        double r30055 = cbrt(r30054);
        double r30056 = r30055 * r30055;
        double r30057 = r30051 - r30046;
        double r30058 = pow(r30056, r30057);
        double r30059 = r30052 - r30046;
        double r30060 = r30059 + r30051;
        double r30061 = cbrt(r30060);
        double r30062 = pow(r30061, r30057);
        double r30063 = r30058 * r30062;
        double r30064 = r30050 * r30063;
        double r30065 = 1;
        double r30066 = r30052 + r30065;
        double r30067 = r30065 + r30046;
        double r30068 = r30066 - r30067;
        double r30069 = r30051 + r30068;
        double r30070 = exp(r30069);
        double r30071 = r30064 / r30070;
        double r30072 = 9.984369578019572e-06;
        double r30073 = r30072 / r30068;
        double r30074 = 1.5056327351493116e-07;
        double r30075 = r30065 - r30046;
        double r30076 = 8;
        double r30077 = r30065 - r30076;
        double r30078 = r30075 - r30077;
        double r30079 = r30074 / r30078;
        double r30080 = r30073 + r30079;
        double r30081 = -0.13857109526572012;
        double r30082 = 6;
        double r30083 = r30082 + r30065;
        double r30084 = r30083 - r30067;
        double r30085 = r30081 / r30084;
        double r30086 = 12.507343278686905;
        double r30087 = 5;
        double r30088 = r30065 - r30087;
        double r30089 = r30075 - r30088;
        double r30090 = r30086 / r30089;
        double r30091 = r30085 + r30090;
        double r30092 = 771.3234287776531;
        double r30093 = 3;
        double r30094 = r30065 - r30093;
        double r30095 = r30075 - r30094;
        double r30096 = r30092 / r30095;
        double r30097 = -176.6150291621406;
        double r30098 = 4;
        double r30099 = r30098 + r30065;
        double r30100 = r30099 - r30067;
        double r30101 = r30097 / r30100;
        double r30102 = r30096 + r30101;
        double r30103 = r30091 + r30102;
        double r30104 = 0.9999999999998099;
        double r30105 = -1259.1392167224028;
        double r30106 = 2;
        double r30107 = r30065 - r30106;
        double r30108 = r30075 - r30107;
        double r30109 = r30105 / r30108;
        double r30110 = r30104 + r30109;
        double r30111 = 676.5203681218851;
        double r30112 = 0;
        double r30113 = r30075 - r30112;
        double r30114 = r30111 / r30113;
        double r30115 = r30110 + r30114;
        double r30116 = r30103 + r30115;
        double r30117 = r30080 + r30116;
        double r30118 = r30071 * r30117;
        return r30118;
}

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 r30119, r30120, r30121, r30122, r30123, r30124, r30125, r30126, r30127, r30128, r30129, r30130, r30131, r30132, r30133, r30134, r30135, r30136, r30137, r30138, r30139, r30140, r30141, r30142, r30143, r30144, r30145, r30146, r30147, r30148, r30149, r30150, r30151, r30152, r30153, r30154, r30155, r30156, r30157, r30158, r30159, r30160, r30161, r30162, r30163, r30164, r30165, r30166, r30167, r30168, r30169, r30170, r30171, r30172, r30173, r30174, r30175, r30176, r30177, r30178;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(400);
        mpfr_init(r30119);
        mpfr_init(r30120);
        mpfr_init(r30121);
        mpfr_init(r30122);
        mpfr_init(r30123);
        mpfr_init_set_str(r30124, "2", 10, MPFR_RNDN);
        mpfr_init(r30125);
        mpfr_init(r30126);
        mpfr_init_set_str(r30127, "1", 10, MPFR_RNDN);
        mpfr_init(r30128);
        mpfr_init(r30129);
        mpfr_init_set_str(r30130, "7", 10, MPFR_RNDN);
        mpfr_init(r30131);
        mpfr_init_set_str(r30132, "0.5", 10, MPFR_RNDN);
        mpfr_init(r30133);
        mpfr_init(r30134);
        mpfr_init(r30135);
        mpfr_init(r30136);
        mpfr_init(r30137);
        mpfr_init(r30138);
        mpfr_init(r30139);
        mpfr_init_set_str(r30140, "0.9999999999998099", 10, MPFR_RNDN);
        mpfr_init_set_str(r30141, "676.5203681218851", 10, MPFR_RNDN);
        mpfr_init(r30142);
        mpfr_init(r30143);
        mpfr_init(r30144);
        mpfr_init_set_str(r30145, "-1259.1392167224028", 10, MPFR_RNDN);
        mpfr_init(r30146);
        mpfr_init(r30147);
        mpfr_init(r30148);
        mpfr_init_set_str(r30149, "771.3234287776531", 10, MPFR_RNDN);
        mpfr_init_set_str(r30150, "3", 10, MPFR_RNDN);
        mpfr_init(r30151);
        mpfr_init(r30152);
        mpfr_init(r30153);
        mpfr_init_set_str(r30154, "-176.6150291621406", 10, MPFR_RNDN);
        mpfr_init_set_str(r30155, "4", 10, MPFR_RNDN);
        mpfr_init(r30156);
        mpfr_init(r30157);
        mpfr_init(r30158);
        mpfr_init_set_str(r30159, "12.507343278686905", 10, MPFR_RNDN);
        mpfr_init_set_str(r30160, "5", 10, MPFR_RNDN);
        mpfr_init(r30161);
        mpfr_init(r30162);
        mpfr_init(r30163);
        mpfr_init_set_str(r30164, "-0.13857109526572012", 10, MPFR_RNDN);
        mpfr_init_set_str(r30165, "6", 10, MPFR_RNDN);
        mpfr_init(r30166);
        mpfr_init(r30167);
        mpfr_init(r30168);
        mpfr_init_set_str(r30169, "9.984369578019572e-06", 10, MPFR_RNDN);
        mpfr_init(r30170);
        mpfr_init(r30171);
        mpfr_init_set_str(r30172, "1.5056327351493116e-07", 10, MPFR_RNDN);
        mpfr_init_set_str(r30173, "8", 10, MPFR_RNDN);
        mpfr_init(r30174);
        mpfr_init(r30175);
        mpfr_init(r30176);
        mpfr_init(r30177);
        mpfr_init(r30178);
}

double f_im(double z) {
        mpfr_const_pi(r30119, MPFR_RNDN);
        mpfr_set_d(r30120, z, MPFR_RNDN);
        mpfr_mul(r30121, r30119, r30120, MPFR_RNDN);
        mpfr_sin(r30122, r30121, MPFR_RNDN);
        mpfr_div(r30123, r30119, r30122, MPFR_RNDN);
        ;
        mpfr_mul(r30125, r30119, r30124, MPFR_RNDN);
        mpfr_sqrt(r30126, r30125, MPFR_RNDN);
        ;
        mpfr_sub(r30128, r30127, r30120, MPFR_RNDN);
        mpfr_sub(r30129, r30128, r30127, MPFR_RNDN);
        ;
        mpfr_add(r30131, r30129, r30130, MPFR_RNDN);
        ;
        mpfr_add(r30133, r30131, r30132, MPFR_RNDN);
        mpfr_add(r30134, r30129, r30132, MPFR_RNDN);
        mpfr_pow(r30135, r30133, r30134, MPFR_RNDN);
        mpfr_mul(r30136, r30126, r30135, MPFR_RNDN);
        mpfr_neg(r30137, r30133, MPFR_RNDN);
        mpfr_exp(r30138, r30137, MPFR_RNDN);
        mpfr_mul(r30139, r30136, r30138, MPFR_RNDN);
        ;
        ;
        mpfr_add(r30142, r30129, r30127, MPFR_RNDN);
        mpfr_div(r30143, r30141, r30142, MPFR_RNDN);
        mpfr_add(r30144, r30140, r30143, MPFR_RNDN);
        ;
        mpfr_add(r30146, r30129, r30124, MPFR_RNDN);
        mpfr_div(r30147, r30145, r30146, MPFR_RNDN);
        mpfr_add(r30148, r30144, r30147, MPFR_RNDN);
        ;
        ;
        mpfr_add(r30151, r30129, r30150, MPFR_RNDN);
        mpfr_div(r30152, r30149, r30151, MPFR_RNDN);
        mpfr_add(r30153, r30148, r30152, MPFR_RNDN);
        ;
        ;
        mpfr_add(r30156, r30129, r30155, MPFR_RNDN);
        mpfr_div(r30157, r30154, r30156, MPFR_RNDN);
        mpfr_add(r30158, r30153, r30157, MPFR_RNDN);
        ;
        ;
        mpfr_add(r30161, r30129, r30160, MPFR_RNDN);
        mpfr_div(r30162, r30159, r30161, MPFR_RNDN);
        mpfr_add(r30163, r30158, r30162, MPFR_RNDN);
        ;
        ;
        mpfr_add(r30166, r30129, r30165, MPFR_RNDN);
        mpfr_div(r30167, r30164, r30166, MPFR_RNDN);
        mpfr_add(r30168, r30163, r30167, MPFR_RNDN);
        ;
        mpfr_div(r30170, r30169, r30131, MPFR_RNDN);
        mpfr_add(r30171, r30168, r30170, MPFR_RNDN);
        ;
        ;
        mpfr_add(r30174, r30129, r30173, MPFR_RNDN);
        mpfr_div(r30175, r30172, r30174, MPFR_RNDN);
        mpfr_add(r30176, r30171, r30175, MPFR_RNDN);
        mpfr_mul(r30177, r30139, r30176, MPFR_RNDN);
        mpfr_mul(r30178, r30123, r30177, MPFR_RNDN);
        return mpfr_get_d(r30178, MPFR_RNDN);
}

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

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(400);
        mpfr_init(r30179);
        mpfr_init(r30180);
        mpfr_init(r30181);
        mpfr_init(r30182);
        mpfr_init(r30183);
        mpfr_init(r30184);
        mpfr_init(r30185);
        mpfr_init(r30186);
        mpfr_init_set_str(r30187, "0.5", 10, MPFR_RNDN);
        mpfr_init_set_str(r30188, "7", 10, MPFR_RNDN);
        mpfr_init(r30189);
        mpfr_init(r30190);
        mpfr_init(r30191);
        mpfr_init(r30192);
        mpfr_init(r30193);
        mpfr_init(r30194);
        mpfr_init(r30195);
        mpfr_init(r30196);
        mpfr_init(r30197);
        mpfr_init(r30198);
        mpfr_init(r30199);
        mpfr_init(r30200);
        mpfr_init_set_str(r30201, "1", 10, MPFR_RNDN);
        mpfr_init(r30202);
        mpfr_init(r30203);
        mpfr_init(r30204);
        mpfr_init(r30205);
        mpfr_init(r30206);
        mpfr_init(r30207);
        mpfr_init_set_str(r30208, "9.984369578019572e-06", 10, MPFR_RNDN);
        mpfr_init(r30209);
        mpfr_init_set_str(r30210, "1.5056327351493116e-07", 10, MPFR_RNDN);
        mpfr_init(r30211);
        mpfr_init_set_str(r30212, "8", 10, MPFR_RNDN);
        mpfr_init(r30213);
        mpfr_init(r30214);
        mpfr_init(r30215);
        mpfr_init(r30216);
        mpfr_init_set_str(r30217, "-0.13857109526572012", 10, MPFR_RNDN);
        mpfr_init_set_str(r30218, "6", 10, MPFR_RNDN);
        mpfr_init(r30219);
        mpfr_init(r30220);
        mpfr_init(r30221);
        mpfr_init_set_str(r30222, "12.507343278686905", 10, MPFR_RNDN);
        mpfr_init_set_str(r30223, "5", 10, MPFR_RNDN);
        mpfr_init(r30224);
        mpfr_init(r30225);
        mpfr_init(r30226);
        mpfr_init(r30227);
        mpfr_init_set_str(r30228, "771.3234287776531", 10, MPFR_RNDN);
        mpfr_init_set_str(r30229, "3", 10, MPFR_RNDN);
        mpfr_init(r30230);
        mpfr_init(r30231);
        mpfr_init(r30232);
        mpfr_init_set_str(r30233, "-176.6150291621406", 10, MPFR_RNDN);
        mpfr_init_set_str(r30234, "4", 10, MPFR_RNDN);
        mpfr_init(r30235);
        mpfr_init(r30236);
        mpfr_init(r30237);
        mpfr_init(r30238);
        mpfr_init(r30239);
        mpfr_init_set_str(r30240, "0.9999999999998099", 10, MPFR_RNDN);
        mpfr_init_set_str(r30241, "-1259.1392167224028", 10, MPFR_RNDN);
        mpfr_init_set_str(r30242, "2", 10, MPFR_RNDN);
        mpfr_init(r30243);
        mpfr_init(r30244);
        mpfr_init(r30245);
        mpfr_init(r30246);
        mpfr_init_set_str(r30247, "676.5203681218851", 10, MPFR_RNDN);
        mpfr_init_set_str(r30248, "0", 10, MPFR_RNDN);
        mpfr_init(r30249);
        mpfr_init(r30250);
        mpfr_init(r30251);
        mpfr_init(r30252);
        mpfr_init(r30253);
        mpfr_init(r30254);
}

double f_fm(double z) {
        mpfr_const_pi(r30179, MPFR_RNDN);
        mpfr_add(r30180, r30179, r30179, MPFR_RNDN);
        mpfr_sqrt(r30181, r30180, MPFR_RNDN);
        mpfr_set_d(r30182, z, MPFR_RNDN);
        mpfr_mul(r30183, r30182, r30179, MPFR_RNDN);
        mpfr_sin(r30184, r30183, MPFR_RNDN);
        mpfr_div(r30185, r30179, r30184, MPFR_RNDN);
        mpfr_mul(r30186, r30181, r30185, MPFR_RNDN);
        ;
        ;
        mpfr_sub(r30189, r30182, r30188, MPFR_RNDN);
        mpfr_sub(r30190, r30187, r30189, MPFR_RNDN);
        mpfr_cbrt(r30191, r30190, MPFR_RNDN);
        mpfr_mul(r30192, r30191, r30191, MPFR_RNDN);
        mpfr_sub(r30193, r30187, r30182, MPFR_RNDN);
        mpfr_pow(r30194, r30192, r30193, MPFR_RNDN);
        mpfr_sub(r30195, r30188, r30182, MPFR_RNDN);
        mpfr_add(r30196, r30195, r30187, MPFR_RNDN);
        mpfr_cbrt(r30197, r30196, MPFR_RNDN);
        mpfr_pow(r30198, r30197, r30193, MPFR_RNDN);
        mpfr_mul(r30199, r30194, r30198, MPFR_RNDN);
        mpfr_mul(r30200, r30186, r30199, MPFR_RNDN);
        ;
        mpfr_add(r30202, r30188, r30201, MPFR_RNDN);
        mpfr_add(r30203, r30201, r30182, MPFR_RNDN);
        mpfr_sub(r30204, r30202, r30203, MPFR_RNDN);
        mpfr_add(r30205, r30187, r30204, MPFR_RNDN);
        mpfr_exp(r30206, r30205, MPFR_RNDN);
        mpfr_div(r30207, r30200, r30206, MPFR_RNDN);
        ;
        mpfr_div(r30209, r30208, r30204, MPFR_RNDN);
        ;
        mpfr_sub(r30211, r30201, r30182, MPFR_RNDN);
        ;
        mpfr_sub(r30213, r30201, r30212, MPFR_RNDN);
        mpfr_sub(r30214, r30211, r30213, MPFR_RNDN);
        mpfr_div(r30215, r30210, r30214, MPFR_RNDN);
        mpfr_add(r30216, r30209, r30215, MPFR_RNDN);
        ;
        ;
        mpfr_add(r30219, r30218, r30201, MPFR_RNDN);
        mpfr_sub(r30220, r30219, r30203, MPFR_RNDN);
        mpfr_div(r30221, r30217, r30220, MPFR_RNDN);
        ;
        ;
        mpfr_sub(r30224, r30201, r30223, MPFR_RNDN);
        mpfr_sub(r30225, r30211, r30224, MPFR_RNDN);
        mpfr_div(r30226, r30222, r30225, MPFR_RNDN);
        mpfr_add(r30227, r30221, r30226, MPFR_RNDN);
        ;
        ;
        mpfr_sub(r30230, r30201, r30229, MPFR_RNDN);
        mpfr_sub(r30231, r30211, r30230, MPFR_RNDN);
        mpfr_div(r30232, r30228, r30231, MPFR_RNDN);
        ;
        ;
        mpfr_add(r30235, r30234, r30201, MPFR_RNDN);
        mpfr_sub(r30236, r30235, r30203, MPFR_RNDN);
        mpfr_div(r30237, r30233, r30236, MPFR_RNDN);
        mpfr_add(r30238, r30232, r30237, MPFR_RNDN);
        mpfr_add(r30239, r30227, r30238, MPFR_RNDN);
        ;
        ;
        ;
        mpfr_sub(r30243, r30201, r30242, MPFR_RNDN);
        mpfr_sub(r30244, r30211, r30243, MPFR_RNDN);
        mpfr_div(r30245, r30241, r30244, MPFR_RNDN);
        mpfr_add(r30246, r30240, r30245, MPFR_RNDN);
        ;
        ;
        mpfr_sub(r30249, r30211, r30248, MPFR_RNDN);
        mpfr_div(r30250, r30247, r30249, MPFR_RNDN);
        mpfr_add(r30251, r30246, r30250, MPFR_RNDN);
        mpfr_add(r30252, r30239, r30251, MPFR_RNDN);
        mpfr_add(r30253, r30216, r30252, MPFR_RNDN);
        mpfr_mul(r30254, r30207, r30253, MPFR_RNDN);
        return mpfr_get_d(r30254, MPFR_RNDN);
}

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

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(400);
        mpfr_init(r30255);
        mpfr_init(r30256);
        mpfr_init(r30257);
        mpfr_init(r30258);
        mpfr_init(r30259);
        mpfr_init(r30260);
        mpfr_init(r30261);
        mpfr_init(r30262);
        mpfr_init_set_str(r30263, "0.5", 10, MPFR_RNDN);
        mpfr_init_set_str(r30264, "7", 10, MPFR_RNDN);
        mpfr_init(r30265);
        mpfr_init(r30266);
        mpfr_init(r30267);
        mpfr_init(r30268);
        mpfr_init(r30269);
        mpfr_init(r30270);
        mpfr_init(r30271);
        mpfr_init(r30272);
        mpfr_init(r30273);
        mpfr_init(r30274);
        mpfr_init(r30275);
        mpfr_init(r30276);
        mpfr_init_set_str(r30277, "1", 10, MPFR_RNDN);
        mpfr_init(r30278);
        mpfr_init(r30279);
        mpfr_init(r30280);
        mpfr_init(r30281);
        mpfr_init(r30282);
        mpfr_init(r30283);
        mpfr_init_set_str(r30284, "9.984369578019572e-06", 10, MPFR_RNDN);
        mpfr_init(r30285);
        mpfr_init_set_str(r30286, "1.5056327351493116e-07", 10, MPFR_RNDN);
        mpfr_init(r30287);
        mpfr_init_set_str(r30288, "8", 10, MPFR_RNDN);
        mpfr_init(r30289);
        mpfr_init(r30290);
        mpfr_init(r30291);
        mpfr_init(r30292);
        mpfr_init_set_str(r30293, "-0.13857109526572012", 10, MPFR_RNDN);
        mpfr_init_set_str(r30294, "6", 10, MPFR_RNDN);
        mpfr_init(r30295);
        mpfr_init(r30296);
        mpfr_init(r30297);
        mpfr_init_set_str(r30298, "12.507343278686905", 10, MPFR_RNDN);
        mpfr_init_set_str(r30299, "5", 10, MPFR_RNDN);
        mpfr_init(r30300);
        mpfr_init(r30301);
        mpfr_init(r30302);
        mpfr_init(r30303);
        mpfr_init_set_str(r30304, "771.3234287776531", 10, MPFR_RNDN);
        mpfr_init_set_str(r30305, "3", 10, MPFR_RNDN);
        mpfr_init(r30306);
        mpfr_init(r30307);
        mpfr_init(r30308);
        mpfr_init_set_str(r30309, "-176.6150291621406", 10, MPFR_RNDN);
        mpfr_init_set_str(r30310, "4", 10, MPFR_RNDN);
        mpfr_init(r30311);
        mpfr_init(r30312);
        mpfr_init(r30313);
        mpfr_init(r30314);
        mpfr_init(r30315);
        mpfr_init_set_str(r30316, "0.9999999999998099", 10, MPFR_RNDN);
        mpfr_init_set_str(r30317, "-1259.1392167224028", 10, MPFR_RNDN);
        mpfr_init_set_str(r30318, "2", 10, MPFR_RNDN);
        mpfr_init(r30319);
        mpfr_init(r30320);
        mpfr_init(r30321);
        mpfr_init(r30322);
        mpfr_init_set_str(r30323, "676.5203681218851", 10, MPFR_RNDN);
        mpfr_init_set_str(r30324, "0", 10, MPFR_RNDN);
        mpfr_init(r30325);
        mpfr_init(r30326);
        mpfr_init(r30327);
        mpfr_init(r30328);
        mpfr_init(r30329);
        mpfr_init(r30330);
}

double f_dm(double z) {
        mpfr_const_pi(r30255, MPFR_RNDN);
        mpfr_add(r30256, r30255, r30255, MPFR_RNDN);
        mpfr_sqrt(r30257, r30256, MPFR_RNDN);
        mpfr_set_d(r30258, z, MPFR_RNDN);
        mpfr_mul(r30259, r30258, r30255, MPFR_RNDN);
        mpfr_sin(r30260, r30259, MPFR_RNDN);
        mpfr_div(r30261, r30255, r30260, MPFR_RNDN);
        mpfr_mul(r30262, r30257, r30261, MPFR_RNDN);
        ;
        ;
        mpfr_sub(r30265, r30258, r30264, MPFR_RNDN);
        mpfr_sub(r30266, r30263, r30265, MPFR_RNDN);
        mpfr_cbrt(r30267, r30266, MPFR_RNDN);
        mpfr_mul(r30268, r30267, r30267, MPFR_RNDN);
        mpfr_sub(r30269, r30263, r30258, MPFR_RNDN);
        mpfr_pow(r30270, r30268, r30269, MPFR_RNDN);
        mpfr_sub(r30271, r30264, r30258, MPFR_RNDN);
        mpfr_add(r30272, r30271, r30263, MPFR_RNDN);
        mpfr_cbrt(r30273, r30272, MPFR_RNDN);
        mpfr_pow(r30274, r30273, r30269, MPFR_RNDN);
        mpfr_mul(r30275, r30270, r30274, MPFR_RNDN);
        mpfr_mul(r30276, r30262, r30275, MPFR_RNDN);
        ;
        mpfr_add(r30278, r30264, r30277, MPFR_RNDN);
        mpfr_add(r30279, r30277, r30258, MPFR_RNDN);
        mpfr_sub(r30280, r30278, r30279, MPFR_RNDN);
        mpfr_add(r30281, r30263, r30280, MPFR_RNDN);
        mpfr_exp(r30282, r30281, MPFR_RNDN);
        mpfr_div(r30283, r30276, r30282, MPFR_RNDN);
        ;
        mpfr_div(r30285, r30284, r30280, MPFR_RNDN);
        ;
        mpfr_sub(r30287, r30277, r30258, MPFR_RNDN);
        ;
        mpfr_sub(r30289, r30277, r30288, MPFR_RNDN);
        mpfr_sub(r30290, r30287, r30289, MPFR_RNDN);
        mpfr_div(r30291, r30286, r30290, MPFR_RNDN);
        mpfr_add(r30292, r30285, r30291, MPFR_RNDN);
        ;
        ;
        mpfr_add(r30295, r30294, r30277, MPFR_RNDN);
        mpfr_sub(r30296, r30295, r30279, MPFR_RNDN);
        mpfr_div(r30297, r30293, r30296, MPFR_RNDN);
        ;
        ;
        mpfr_sub(r30300, r30277, r30299, MPFR_RNDN);
        mpfr_sub(r30301, r30287, r30300, MPFR_RNDN);
        mpfr_div(r30302, r30298, r30301, MPFR_RNDN);
        mpfr_add(r30303, r30297, r30302, MPFR_RNDN);
        ;
        ;
        mpfr_sub(r30306, r30277, r30305, MPFR_RNDN);
        mpfr_sub(r30307, r30287, r30306, MPFR_RNDN);
        mpfr_div(r30308, r30304, r30307, MPFR_RNDN);
        ;
        ;
        mpfr_add(r30311, r30310, r30277, MPFR_RNDN);
        mpfr_sub(r30312, r30311, r30279, MPFR_RNDN);
        mpfr_div(r30313, r30309, r30312, MPFR_RNDN);
        mpfr_add(r30314, r30308, r30313, MPFR_RNDN);
        mpfr_add(r30315, r30303, r30314, MPFR_RNDN);
        ;
        ;
        ;
        mpfr_sub(r30319, r30277, r30318, MPFR_RNDN);
        mpfr_sub(r30320, r30287, r30319, MPFR_RNDN);
        mpfr_div(r30321, r30317, r30320, MPFR_RNDN);
        mpfr_add(r30322, r30316, r30321, MPFR_RNDN);
        ;
        ;
        mpfr_sub(r30325, r30287, r30324, MPFR_RNDN);
        mpfr_div(r30326, r30323, r30325, MPFR_RNDN);
        mpfr_add(r30327, r30322, r30326, MPFR_RNDN);
        mpfr_add(r30328, r30315, r30327, MPFR_RNDN);
        mpfr_add(r30329, r30292, r30328, MPFR_RNDN);
        mpfr_mul(r30330, r30283, r30329, MPFR_RNDN);
        return mpfr_get_d(r30330, MPFR_RNDN);
}

