#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 r29819 = atan2(1.0, 0.0);
        float r29820 = z;
        float r29821 = r29819 * r29820;
        float r29822 = sin(r29821);
        float r29823 = r29819 / r29822;
        float r29824 = 2;
        float r29825 = r29819 * r29824;
        float r29826 = sqrt(r29825);
        float r29827 = 1;
        float r29828 = r29827 - r29820;
        float r29829 = r29828 - r29827;
        float r29830 = 7;
        float r29831 = r29829 + r29830;
        float r29832 = 0.5;
        float r29833 = r29831 + r29832;
        float r29834 = r29829 + r29832;
        float r29835 = pow(r29833, r29834);
        float r29836 = r29826 * r29835;
        float r29837 = -r29833;
        float r29838 = exp(r29837);
        float r29839 = r29836 * r29838;
        float r29840 = 0.9999999999998099;
        float r29841 = 676.5203681218851;
        float r29842 = r29829 + r29827;
        float r29843 = r29841 / r29842;
        float r29844 = r29840 + r29843;
        float r29845 = -1259.1392167224028;
        float r29846 = r29829 + r29824;
        float r29847 = r29845 / r29846;
        float r29848 = r29844 + r29847;
        float r29849 = 771.3234287776531;
        float r29850 = 3;
        float r29851 = r29829 + r29850;
        float r29852 = r29849 / r29851;
        float r29853 = r29848 + r29852;
        float r29854 = -176.6150291621406;
        float r29855 = 4;
        float r29856 = r29829 + r29855;
        float r29857 = r29854 / r29856;
        float r29858 = r29853 + r29857;
        float r29859 = 12.507343278686905;
        float r29860 = 5;
        float r29861 = r29829 + r29860;
        float r29862 = r29859 / r29861;
        float r29863 = r29858 + r29862;
        float r29864 = -0.13857109526572012;
        float r29865 = 6;
        float r29866 = r29829 + r29865;
        float r29867 = r29864 / r29866;
        float r29868 = r29863 + r29867;
        float r29869 = 9.984369578019572e-06;
        float r29870 = r29869 / r29831;
        float r29871 = r29868 + r29870;
        float r29872 = 1.5056327351493116e-07;
        float r29873 = 8;
        float r29874 = r29829 + r29873;
        float r29875 = r29872 / r29874;
        float r29876 = r29871 + r29875;
        float r29877 = r29839 * r29876;
        float r29878 = r29823 * r29877;
        return r29878;
}

double f_id(double z) {
        double r29879 = atan2(1.0, 0.0);
        double r29880 = z;
        double r29881 = r29879 * r29880;
        double r29882 = sin(r29881);
        double r29883 = r29879 / r29882;
        double r29884 = 2;
        double r29885 = r29879 * r29884;
        double r29886 = sqrt(r29885);
        double r29887 = 1;
        double r29888 = r29887 - r29880;
        double r29889 = r29888 - r29887;
        double r29890 = 7;
        double r29891 = r29889 + r29890;
        double r29892 = 0.5;
        double r29893 = r29891 + r29892;
        double r29894 = r29889 + r29892;
        double r29895 = pow(r29893, r29894);
        double r29896 = r29886 * r29895;
        double r29897 = -r29893;
        double r29898 = exp(r29897);
        double r29899 = r29896 * r29898;
        double r29900 = 0.9999999999998099;
        double r29901 = 676.5203681218851;
        double r29902 = r29889 + r29887;
        double r29903 = r29901 / r29902;
        double r29904 = r29900 + r29903;
        double r29905 = -1259.1392167224028;
        double r29906 = r29889 + r29884;
        double r29907 = r29905 / r29906;
        double r29908 = r29904 + r29907;
        double r29909 = 771.3234287776531;
        double r29910 = 3;
        double r29911 = r29889 + r29910;
        double r29912 = r29909 / r29911;
        double r29913 = r29908 + r29912;
        double r29914 = -176.6150291621406;
        double r29915 = 4;
        double r29916 = r29889 + r29915;
        double r29917 = r29914 / r29916;
        double r29918 = r29913 + r29917;
        double r29919 = 12.507343278686905;
        double r29920 = 5;
        double r29921 = r29889 + r29920;
        double r29922 = r29919 / r29921;
        double r29923 = r29918 + r29922;
        double r29924 = -0.13857109526572012;
        double r29925 = 6;
        double r29926 = r29889 + r29925;
        double r29927 = r29924 / r29926;
        double r29928 = r29923 + r29927;
        double r29929 = 9.984369578019572e-06;
        double r29930 = r29929 / r29891;
        double r29931 = r29928 + r29930;
        double r29932 = 1.5056327351493116e-07;
        double r29933 = 8;
        double r29934 = r29889 + r29933;
        double r29935 = r29932 / r29934;
        double r29936 = r29931 + r29935;
        double r29937 = r29899 * r29936;
        double r29938 = r29883 * r29937;
        return r29938;
}


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

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

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 r30091, r30092, r30093, r30094, r30095, r30096, r30097, r30098, r30099, r30100, r30101, r30102, r30103, r30104, r30105, r30106, r30107, r30108, r30109, r30110, r30111, r30112, r30113, r30114, r30115, r30116, r30117, r30118, 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;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(400);
        mpfr_init(r30091);
        mpfr_init(r30092);
        mpfr_init(r30093);
        mpfr_init(r30094);
        mpfr_init(r30095);
        mpfr_init_set_str(r30096, "2", 10, MPFR_RNDN);
        mpfr_init(r30097);
        mpfr_init(r30098);
        mpfr_init_set_str(r30099, "1", 10, MPFR_RNDN);
        mpfr_init(r30100);
        mpfr_init(r30101);
        mpfr_init_set_str(r30102, "7", 10, MPFR_RNDN);
        mpfr_init(r30103);
        mpfr_init_set_str(r30104, "0.5", 10, MPFR_RNDN);
        mpfr_init(r30105);
        mpfr_init(r30106);
        mpfr_init(r30107);
        mpfr_init(r30108);
        mpfr_init(r30109);
        mpfr_init(r30110);
        mpfr_init(r30111);
        mpfr_init_set_str(r30112, "0.9999999999998099", 10, MPFR_RNDN);
        mpfr_init_set_str(r30113, "676.5203681218851", 10, MPFR_RNDN);
        mpfr_init(r30114);
        mpfr_init(r30115);
        mpfr_init(r30116);
        mpfr_init_set_str(r30117, "-1259.1392167224028", 10, MPFR_RNDN);
        mpfr_init(r30118);
        mpfr_init(r30119);
        mpfr_init(r30120);
        mpfr_init_set_str(r30121, "771.3234287776531", 10, MPFR_RNDN);
        mpfr_init_set_str(r30122, "3", 10, MPFR_RNDN);
        mpfr_init(r30123);
        mpfr_init(r30124);
        mpfr_init(r30125);
        mpfr_init_set_str(r30126, "-176.6150291621406", 10, MPFR_RNDN);
        mpfr_init_set_str(r30127, "4", 10, MPFR_RNDN);
        mpfr_init(r30128);
        mpfr_init(r30129);
        mpfr_init(r30130);
        mpfr_init_set_str(r30131, "12.507343278686905", 10, MPFR_RNDN);
        mpfr_init_set_str(r30132, "5", 10, MPFR_RNDN);
        mpfr_init(r30133);
        mpfr_init(r30134);
        mpfr_init(r30135);
        mpfr_init_set_str(r30136, "-0.13857109526572012", 10, MPFR_RNDN);
        mpfr_init_set_str(r30137, "6", 10, MPFR_RNDN);
        mpfr_init(r30138);
        mpfr_init(r30139);
        mpfr_init(r30140);
        mpfr_init_set_str(r30141, "9.984369578019572e-06", 10, MPFR_RNDN);
        mpfr_init(r30142);
        mpfr_init(r30143);
        mpfr_init_set_str(r30144, "1.5056327351493116e-07", 10, MPFR_RNDN);
        mpfr_init_set_str(r30145, "8", 10, MPFR_RNDN);
        mpfr_init(r30146);
        mpfr_init(r30147);
        mpfr_init(r30148);
        mpfr_init(r30149);
        mpfr_init(r30150);
}

double f_im(double z) {
        mpfr_const_pi(r30091, MPFR_RNDN);
        mpfr_set_d(r30092, z, MPFR_RNDN);
        mpfr_mul(r30093, r30091, r30092, MPFR_RNDN);
        mpfr_sin(r30094, r30093, MPFR_RNDN);
        mpfr_div(r30095, r30091, r30094, MPFR_RNDN);
        ;
        mpfr_mul(r30097, r30091, r30096, MPFR_RNDN);
        mpfr_sqrt(r30098, r30097, MPFR_RNDN);
        ;
        mpfr_sub(r30100, r30099, r30092, MPFR_RNDN);
        mpfr_sub(r30101, r30100, r30099, MPFR_RNDN);
        ;
        mpfr_add(r30103, r30101, r30102, MPFR_RNDN);
        ;
        mpfr_add(r30105, r30103, r30104, MPFR_RNDN);
        mpfr_add(r30106, r30101, r30104, MPFR_RNDN);
        mpfr_pow(r30107, r30105, r30106, MPFR_RNDN);
        mpfr_mul(r30108, r30098, r30107, MPFR_RNDN);
        mpfr_neg(r30109, r30105, MPFR_RNDN);
        mpfr_exp(r30110, r30109, MPFR_RNDN);
        mpfr_mul(r30111, r30108, r30110, MPFR_RNDN);
        ;
        ;
        mpfr_add(r30114, r30101, r30099, MPFR_RNDN);
        mpfr_div(r30115, r30113, r30114, MPFR_RNDN);
        mpfr_add(r30116, r30112, r30115, MPFR_RNDN);
        ;
        mpfr_add(r30118, r30101, r30096, MPFR_RNDN);
        mpfr_div(r30119, r30117, r30118, MPFR_RNDN);
        mpfr_add(r30120, r30116, r30119, MPFR_RNDN);
        ;
        ;
        mpfr_add(r30123, r30101, r30122, MPFR_RNDN);
        mpfr_div(r30124, r30121, r30123, MPFR_RNDN);
        mpfr_add(r30125, r30120, r30124, MPFR_RNDN);
        ;
        ;
        mpfr_add(r30128, r30101, r30127, MPFR_RNDN);
        mpfr_div(r30129, r30126, r30128, MPFR_RNDN);
        mpfr_add(r30130, r30125, r30129, MPFR_RNDN);
        ;
        ;
        mpfr_add(r30133, r30101, r30132, MPFR_RNDN);
        mpfr_div(r30134, r30131, r30133, MPFR_RNDN);
        mpfr_add(r30135, r30130, r30134, MPFR_RNDN);
        ;
        ;
        mpfr_add(r30138, r30101, r30137, MPFR_RNDN);
        mpfr_div(r30139, r30136, r30138, MPFR_RNDN);
        mpfr_add(r30140, r30135, r30139, MPFR_RNDN);
        ;
        mpfr_div(r30142, r30141, r30103, MPFR_RNDN);
        mpfr_add(r30143, r30140, r30142, MPFR_RNDN);
        ;
        ;
        mpfr_add(r30146, r30101, r30145, MPFR_RNDN);
        mpfr_div(r30147, r30144, r30146, MPFR_RNDN);
        mpfr_add(r30148, r30143, r30147, MPFR_RNDN);
        mpfr_mul(r30149, r30111, r30148, MPFR_RNDN);
        mpfr_mul(r30150, r30095, r30149, MPFR_RNDN);
        return mpfr_get_d(r30150, MPFR_RNDN);
}

static mpfr_t 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, 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_fm() {
        mpfr_set_default_prec(400);
        mpfr_init(r30151);
        mpfr_init(r30152);
        mpfr_init(r30153);
        mpfr_init(r30154);
        mpfr_init(r30155);
        mpfr_init(r30156);
        mpfr_init(r30157);
        mpfr_init(r30158);
        mpfr_init_set_str(r30159, "0.5", 10, MPFR_RNDN);
        mpfr_init_set_str(r30160, "7", 10, MPFR_RNDN);
        mpfr_init(r30161);
        mpfr_init(r30162);
        mpfr_init(r30163);
        mpfr_init(r30164);
        mpfr_init(r30165);
        mpfr_init(r30166);
        mpfr_init(r30167);
        mpfr_init(r30168);
        mpfr_init(r30169);
        mpfr_init(r30170);
        mpfr_init(r30171);
        mpfr_init(r30172);
        mpfr_init_set_str(r30173, "1", 10, MPFR_RNDN);
        mpfr_init(r30174);
        mpfr_init(r30175);
        mpfr_init(r30176);
        mpfr_init(r30177);
        mpfr_init(r30178);
        mpfr_init(r30179);
        mpfr_init_set_str(r30180, "9.984369578019572e-06", 10, MPFR_RNDN);
        mpfr_init(r30181);
        mpfr_init_set_str(r30182, "1.5056327351493116e-07", 10, MPFR_RNDN);
        mpfr_init(r30183);
        mpfr_init_set_str(r30184, "8", 10, MPFR_RNDN);
        mpfr_init(r30185);
        mpfr_init(r30186);
        mpfr_init(r30187);
        mpfr_init(r30188);
        mpfr_init_set_str(r30189, "-0.13857109526572012", 10, MPFR_RNDN);
        mpfr_init_set_str(r30190, "6", 10, MPFR_RNDN);
        mpfr_init(r30191);
        mpfr_init(r30192);
        mpfr_init(r30193);
        mpfr_init_set_str(r30194, "12.507343278686905", 10, MPFR_RNDN);
        mpfr_init_set_str(r30195, "5", 10, MPFR_RNDN);
        mpfr_init(r30196);
        mpfr_init(r30197);
        mpfr_init(r30198);
        mpfr_init(r30199);
        mpfr_init_set_str(r30200, "771.3234287776531", 10, MPFR_RNDN);
        mpfr_init_set_str(r30201, "3", 10, MPFR_RNDN);
        mpfr_init(r30202);
        mpfr_init(r30203);
        mpfr_init(r30204);
        mpfr_init_set_str(r30205, "-176.6150291621406", 10, MPFR_RNDN);
        mpfr_init_set_str(r30206, "4", 10, MPFR_RNDN);
        mpfr_init(r30207);
        mpfr_init(r30208);
        mpfr_init(r30209);
        mpfr_init(r30210);
        mpfr_init(r30211);
        mpfr_init_set_str(r30212, "0.9999999999998099", 10, MPFR_RNDN);
        mpfr_init_set_str(r30213, "-1259.1392167224028", 10, MPFR_RNDN);
        mpfr_init_set_str(r30214, "2", 10, MPFR_RNDN);
        mpfr_init(r30215);
        mpfr_init(r30216);
        mpfr_init(r30217);
        mpfr_init(r30218);
        mpfr_init_set_str(r30219, "676.5203681218851", 10, MPFR_RNDN);
        mpfr_init_set_str(r30220, "0", 10, MPFR_RNDN);
        mpfr_init(r30221);
        mpfr_init(r30222);
        mpfr_init(r30223);
        mpfr_init(r30224);
        mpfr_init(r30225);
        mpfr_init(r30226);
}

double f_fm(double z) {
        mpfr_const_pi(r30151, MPFR_RNDN);
        mpfr_add(r30152, r30151, r30151, MPFR_RNDN);
        mpfr_sqrt(r30153, r30152, MPFR_RNDN);
        mpfr_set_d(r30154, z, MPFR_RNDN);
        mpfr_mul(r30155, r30154, r30151, MPFR_RNDN);
        mpfr_sin(r30156, r30155, MPFR_RNDN);
        mpfr_div(r30157, r30151, r30156, MPFR_RNDN);
        mpfr_mul(r30158, r30153, r30157, MPFR_RNDN);
        ;
        ;
        mpfr_sub(r30161, r30154, r30160, MPFR_RNDN);
        mpfr_sub(r30162, r30159, r30161, MPFR_RNDN);
        mpfr_cbrt(r30163, r30162, MPFR_RNDN);
        mpfr_mul(r30164, r30163, r30163, MPFR_RNDN);
        mpfr_sub(r30165, r30159, r30154, MPFR_RNDN);
        mpfr_pow(r30166, r30164, r30165, MPFR_RNDN);
        mpfr_sub(r30167, r30160, r30154, MPFR_RNDN);
        mpfr_add(r30168, r30167, r30159, MPFR_RNDN);
        mpfr_cbrt(r30169, r30168, MPFR_RNDN);
        mpfr_pow(r30170, r30169, r30165, MPFR_RNDN);
        mpfr_mul(r30171, r30166, r30170, MPFR_RNDN);
        mpfr_mul(r30172, r30158, r30171, MPFR_RNDN);
        ;
        mpfr_add(r30174, r30160, r30173, MPFR_RNDN);
        mpfr_add(r30175, r30173, r30154, MPFR_RNDN);
        mpfr_sub(r30176, r30174, r30175, MPFR_RNDN);
        mpfr_add(r30177, r30159, r30176, MPFR_RNDN);
        mpfr_exp(r30178, r30177, MPFR_RNDN);
        mpfr_div(r30179, r30172, r30178, MPFR_RNDN);
        ;
        mpfr_div(r30181, r30180, r30176, MPFR_RNDN);
        ;
        mpfr_sub(r30183, r30173, r30154, MPFR_RNDN);
        ;
        mpfr_sub(r30185, r30173, r30184, MPFR_RNDN);
        mpfr_sub(r30186, r30183, r30185, MPFR_RNDN);
        mpfr_div(r30187, r30182, r30186, MPFR_RNDN);
        mpfr_add(r30188, r30181, r30187, MPFR_RNDN);
        ;
        ;
        mpfr_add(r30191, r30190, r30173, MPFR_RNDN);
        mpfr_sub(r30192, r30191, r30175, MPFR_RNDN);
        mpfr_div(r30193, r30189, r30192, MPFR_RNDN);
        ;
        ;
        mpfr_sub(r30196, r30173, r30195, MPFR_RNDN);
        mpfr_sub(r30197, r30183, r30196, MPFR_RNDN);
        mpfr_div(r30198, r30194, r30197, MPFR_RNDN);
        mpfr_add(r30199, r30193, r30198, MPFR_RNDN);
        ;
        ;
        mpfr_sub(r30202, r30173, r30201, MPFR_RNDN);
        mpfr_sub(r30203, r30183, r30202, MPFR_RNDN);
        mpfr_div(r30204, r30200, r30203, MPFR_RNDN);
        ;
        ;
        mpfr_add(r30207, r30206, r30173, MPFR_RNDN);
        mpfr_sub(r30208, r30207, r30175, MPFR_RNDN);
        mpfr_div(r30209, r30205, r30208, MPFR_RNDN);
        mpfr_add(r30210, r30204, r30209, MPFR_RNDN);
        mpfr_add(r30211, r30199, r30210, MPFR_RNDN);
        ;
        ;
        ;
        mpfr_sub(r30215, r30173, r30214, MPFR_RNDN);
        mpfr_sub(r30216, r30183, r30215, MPFR_RNDN);
        mpfr_div(r30217, r30213, r30216, MPFR_RNDN);
        mpfr_add(r30218, r30212, r30217, MPFR_RNDN);
        ;
        ;
        mpfr_sub(r30221, r30183, r30220, MPFR_RNDN);
        mpfr_div(r30222, r30219, r30221, MPFR_RNDN);
        mpfr_add(r30223, r30218, r30222, MPFR_RNDN);
        mpfr_add(r30224, r30211, r30223, MPFR_RNDN);
        mpfr_add(r30225, r30188, r30224, MPFR_RNDN);
        mpfr_mul(r30226, r30179, 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_dm() {
        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_dm(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);
}

