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

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


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

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

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 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, r30151, r30152, r30153, r30154, r30155, r30156, r30157, r30158, r30159, r30160, r30161, r30162, r30163, r30164, r30165, r30166;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(400);
        mpfr_init(r30107);
        mpfr_init(r30108);
        mpfr_init(r30109);
        mpfr_init(r30110);
        mpfr_init(r30111);
        mpfr_init_set_str(r30112, "2", 10, MPFR_RNDN);
        mpfr_init(r30113);
        mpfr_init(r30114);
        mpfr_init_set_str(r30115, "1", 10, MPFR_RNDN);
        mpfr_init(r30116);
        mpfr_init(r30117);
        mpfr_init_set_str(r30118, "7", 10, MPFR_RNDN);
        mpfr_init(r30119);
        mpfr_init_set_str(r30120, "0.5", 10, MPFR_RNDN);
        mpfr_init(r30121);
        mpfr_init(r30122);
        mpfr_init(r30123);
        mpfr_init(r30124);
        mpfr_init(r30125);
        mpfr_init(r30126);
        mpfr_init(r30127);
        mpfr_init_set_str(r30128, "0.9999999999998099", 10, MPFR_RNDN);
        mpfr_init_set_str(r30129, "676.5203681218851", 10, MPFR_RNDN);
        mpfr_init(r30130);
        mpfr_init(r30131);
        mpfr_init(r30132);
        mpfr_init_set_str(r30133, "-1259.1392167224028", 10, MPFR_RNDN);
        mpfr_init(r30134);
        mpfr_init(r30135);
        mpfr_init(r30136);
        mpfr_init_set_str(r30137, "771.3234287776531", 10, MPFR_RNDN);
        mpfr_init_set_str(r30138, "3", 10, MPFR_RNDN);
        mpfr_init(r30139);
        mpfr_init(r30140);
        mpfr_init(r30141);
        mpfr_init_set_str(r30142, "-176.6150291621406", 10, MPFR_RNDN);
        mpfr_init_set_str(r30143, "4", 10, MPFR_RNDN);
        mpfr_init(r30144);
        mpfr_init(r30145);
        mpfr_init(r30146);
        mpfr_init_set_str(r30147, "12.507343278686905", 10, MPFR_RNDN);
        mpfr_init_set_str(r30148, "5", 10, MPFR_RNDN);
        mpfr_init(r30149);
        mpfr_init(r30150);
        mpfr_init(r30151);
        mpfr_init_set_str(r30152, "-0.13857109526572012", 10, MPFR_RNDN);
        mpfr_init_set_str(r30153, "6", 10, MPFR_RNDN);
        mpfr_init(r30154);
        mpfr_init(r30155);
        mpfr_init(r30156);
        mpfr_init_set_str(r30157, "9.984369578019572e-06", 10, MPFR_RNDN);
        mpfr_init(r30158);
        mpfr_init(r30159);
        mpfr_init_set_str(r30160, "1.5056327351493116e-07", 10, MPFR_RNDN);
        mpfr_init_set_str(r30161, "8", 10, MPFR_RNDN);
        mpfr_init(r30162);
        mpfr_init(r30163);
        mpfr_init(r30164);
        mpfr_init(r30165);
        mpfr_init(r30166);
}

double f_im(double z) {
        mpfr_const_pi(r30107, MPFR_RNDN);
        mpfr_set_d(r30108, z, MPFR_RNDN);
        mpfr_mul(r30109, r30107, r30108, MPFR_RNDN);
        mpfr_sin(r30110, r30109, MPFR_RNDN);
        mpfr_div(r30111, r30107, r30110, MPFR_RNDN);
        ;
        mpfr_mul(r30113, r30107, r30112, MPFR_RNDN);
        mpfr_sqrt(r30114, r30113, MPFR_RNDN);
        ;
        mpfr_sub(r30116, r30115, r30108, MPFR_RNDN);
        mpfr_sub(r30117, r30116, r30115, MPFR_RNDN);
        ;
        mpfr_add(r30119, r30117, r30118, MPFR_RNDN);
        ;
        mpfr_add(r30121, r30119, r30120, MPFR_RNDN);
        mpfr_add(r30122, r30117, r30120, MPFR_RNDN);
        mpfr_pow(r30123, r30121, r30122, MPFR_RNDN);
        mpfr_mul(r30124, r30114, r30123, MPFR_RNDN);
        mpfr_neg(r30125, r30121, MPFR_RNDN);
        mpfr_exp(r30126, r30125, MPFR_RNDN);
        mpfr_mul(r30127, r30124, r30126, MPFR_RNDN);
        ;
        ;
        mpfr_add(r30130, r30117, r30115, MPFR_RNDN);
        mpfr_div(r30131, r30129, r30130, MPFR_RNDN);
        mpfr_add(r30132, r30128, r30131, MPFR_RNDN);
        ;
        mpfr_add(r30134, r30117, r30112, MPFR_RNDN);
        mpfr_div(r30135, r30133, r30134, MPFR_RNDN);
        mpfr_add(r30136, r30132, r30135, MPFR_RNDN);
        ;
        ;
        mpfr_add(r30139, r30117, r30138, MPFR_RNDN);
        mpfr_div(r30140, r30137, r30139, MPFR_RNDN);
        mpfr_add(r30141, r30136, r30140, MPFR_RNDN);
        ;
        ;
        mpfr_add(r30144, r30117, r30143, MPFR_RNDN);
        mpfr_div(r30145, r30142, r30144, MPFR_RNDN);
        mpfr_add(r30146, r30141, r30145, MPFR_RNDN);
        ;
        ;
        mpfr_add(r30149, r30117, r30148, MPFR_RNDN);
        mpfr_div(r30150, r30147, r30149, MPFR_RNDN);
        mpfr_add(r30151, r30146, r30150, MPFR_RNDN);
        ;
        ;
        mpfr_add(r30154, r30117, r30153, MPFR_RNDN);
        mpfr_div(r30155, r30152, r30154, MPFR_RNDN);
        mpfr_add(r30156, r30151, r30155, MPFR_RNDN);
        ;
        mpfr_div(r30158, r30157, r30119, MPFR_RNDN);
        mpfr_add(r30159, r30156, r30158, MPFR_RNDN);
        ;
        ;
        mpfr_add(r30162, r30117, r30161, MPFR_RNDN);
        mpfr_div(r30163, r30160, r30162, MPFR_RNDN);
        mpfr_add(r30164, r30159, r30163, MPFR_RNDN);
        mpfr_mul(r30165, r30127, r30164, MPFR_RNDN);
        mpfr_mul(r30166, r30111, r30165, MPFR_RNDN);
        return mpfr_get_d(r30166, MPFR_RNDN);
}

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, r30227, r30228, r30229, r30230, r30231, r30232, r30233, r30234, r30235, r30236, r30237, r30238, r30239, r30240, r30241, r30242;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(400);
        mpfr_init(r30167);
        mpfr_init(r30168);
        mpfr_init(r30169);
        mpfr_init(r30170);
        mpfr_init(r30171);
        mpfr_init(r30172);
        mpfr_init(r30173);
        mpfr_init(r30174);
        mpfr_init_set_str(r30175, "0.5", 10, MPFR_RNDN);
        mpfr_init_set_str(r30176, "7", 10, MPFR_RNDN);
        mpfr_init(r30177);
        mpfr_init(r30178);
        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(r30187);
        mpfr_init(r30188);
        mpfr_init_set_str(r30189, "1", 10, MPFR_RNDN);
        mpfr_init(r30190);
        mpfr_init(r30191);
        mpfr_init(r30192);
        mpfr_init(r30193);
        mpfr_init(r30194);
        mpfr_init(r30195);
        mpfr_init_set_str(r30196, "9.984369578019572e-06", 10, MPFR_RNDN);
        mpfr_init(r30197);
        mpfr_init_set_str(r30198, "1.5056327351493116e-07", 10, MPFR_RNDN);
        mpfr_init(r30199);
        mpfr_init_set_str(r30200, "8", 10, MPFR_RNDN);
        mpfr_init(r30201);
        mpfr_init(r30202);
        mpfr_init(r30203);
        mpfr_init(r30204);
        mpfr_init_set_str(r30205, "-0.13857109526572012", 10, MPFR_RNDN);
        mpfr_init_set_str(r30206, "6", 10, MPFR_RNDN);
        mpfr_init(r30207);
        mpfr_init(r30208);
        mpfr_init(r30209);
        mpfr_init_set_str(r30210, "12.507343278686905", 10, MPFR_RNDN);
        mpfr_init_set_str(r30211, "5", 10, MPFR_RNDN);
        mpfr_init(r30212);
        mpfr_init(r30213);
        mpfr_init(r30214);
        mpfr_init(r30215);
        mpfr_init_set_str(r30216, "771.3234287776531", 10, MPFR_RNDN);
        mpfr_init_set_str(r30217, "3", 10, MPFR_RNDN);
        mpfr_init(r30218);
        mpfr_init(r30219);
        mpfr_init(r30220);
        mpfr_init_set_str(r30221, "-176.6150291621406", 10, MPFR_RNDN);
        mpfr_init_set_str(r30222, "4", 10, MPFR_RNDN);
        mpfr_init(r30223);
        mpfr_init(r30224);
        mpfr_init(r30225);
        mpfr_init(r30226);
        mpfr_init(r30227);
        mpfr_init_set_str(r30228, "0.9999999999998099", 10, MPFR_RNDN);
        mpfr_init_set_str(r30229, "-1259.1392167224028", 10, MPFR_RNDN);
        mpfr_init_set_str(r30230, "2", 10, MPFR_RNDN);
        mpfr_init(r30231);
        mpfr_init(r30232);
        mpfr_init(r30233);
        mpfr_init(r30234);
        mpfr_init_set_str(r30235, "676.5203681218851", 10, MPFR_RNDN);
        mpfr_init_set_str(r30236, "0", 10, MPFR_RNDN);
        mpfr_init(r30237);
        mpfr_init(r30238);
        mpfr_init(r30239);
        mpfr_init(r30240);
        mpfr_init(r30241);
        mpfr_init(r30242);
}

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

static mpfr_t 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, r30303, r30304, r30305, r30306, r30307, r30308, r30309, r30310, r30311, r30312, r30313, r30314, r30315, r30316, r30317, r30318;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(400);
        mpfr_init(r30243);
        mpfr_init(r30244);
        mpfr_init(r30245);
        mpfr_init(r30246);
        mpfr_init(r30247);
        mpfr_init(r30248);
        mpfr_init(r30249);
        mpfr_init(r30250);
        mpfr_init_set_str(r30251, "0.5", 10, MPFR_RNDN);
        mpfr_init_set_str(r30252, "7", 10, MPFR_RNDN);
        mpfr_init(r30253);
        mpfr_init(r30254);
        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(r30263);
        mpfr_init(r30264);
        mpfr_init_set_str(r30265, "1", 10, MPFR_RNDN);
        mpfr_init(r30266);
        mpfr_init(r30267);
        mpfr_init(r30268);
        mpfr_init(r30269);
        mpfr_init(r30270);
        mpfr_init(r30271);
        mpfr_init_set_str(r30272, "9.984369578019572e-06", 10, MPFR_RNDN);
        mpfr_init(r30273);
        mpfr_init_set_str(r30274, "1.5056327351493116e-07", 10, MPFR_RNDN);
        mpfr_init(r30275);
        mpfr_init_set_str(r30276, "8", 10, MPFR_RNDN);
        mpfr_init(r30277);
        mpfr_init(r30278);
        mpfr_init(r30279);
        mpfr_init(r30280);
        mpfr_init_set_str(r30281, "-0.13857109526572012", 10, MPFR_RNDN);
        mpfr_init_set_str(r30282, "6", 10, MPFR_RNDN);
        mpfr_init(r30283);
        mpfr_init(r30284);
        mpfr_init(r30285);
        mpfr_init_set_str(r30286, "12.507343278686905", 10, MPFR_RNDN);
        mpfr_init_set_str(r30287, "5", 10, MPFR_RNDN);
        mpfr_init(r30288);
        mpfr_init(r30289);
        mpfr_init(r30290);
        mpfr_init(r30291);
        mpfr_init_set_str(r30292, "771.3234287776531", 10, MPFR_RNDN);
        mpfr_init_set_str(r30293, "3", 10, MPFR_RNDN);
        mpfr_init(r30294);
        mpfr_init(r30295);
        mpfr_init(r30296);
        mpfr_init_set_str(r30297, "-176.6150291621406", 10, MPFR_RNDN);
        mpfr_init_set_str(r30298, "4", 10, MPFR_RNDN);
        mpfr_init(r30299);
        mpfr_init(r30300);
        mpfr_init(r30301);
        mpfr_init(r30302);
        mpfr_init(r30303);
        mpfr_init_set_str(r30304, "0.9999999999998099", 10, MPFR_RNDN);
        mpfr_init_set_str(r30305, "-1259.1392167224028", 10, MPFR_RNDN);
        mpfr_init_set_str(r30306, "2", 10, MPFR_RNDN);
        mpfr_init(r30307);
        mpfr_init(r30308);
        mpfr_init(r30309);
        mpfr_init(r30310);
        mpfr_init_set_str(r30311, "676.5203681218851", 10, MPFR_RNDN);
        mpfr_init_set_str(r30312, "0", 10, MPFR_RNDN);
        mpfr_init(r30313);
        mpfr_init(r30314);
        mpfr_init(r30315);
        mpfr_init(r30316);
        mpfr_init(r30317);
        mpfr_init(r30318);
}

double f_dm(double z) {
        mpfr_const_pi(r30243, MPFR_RNDN);
        mpfr_add(r30244, r30243, r30243, MPFR_RNDN);
        mpfr_sqrt(r30245, r30244, MPFR_RNDN);
        mpfr_set_d(r30246, z, MPFR_RNDN);
        mpfr_mul(r30247, r30246, r30243, MPFR_RNDN);
        mpfr_sin(r30248, r30247, MPFR_RNDN);
        mpfr_div(r30249, r30243, r30248, MPFR_RNDN);
        mpfr_mul(r30250, r30245, r30249, MPFR_RNDN);
        ;
        ;
        mpfr_sub(r30253, r30246, r30252, MPFR_RNDN);
        mpfr_sub(r30254, r30251, r30253, MPFR_RNDN);
        mpfr_cbrt(r30255, r30254, MPFR_RNDN);
        mpfr_mul(r30256, r30255, r30255, MPFR_RNDN);
        mpfr_sub(r30257, r30251, r30246, MPFR_RNDN);
        mpfr_pow(r30258, r30256, r30257, MPFR_RNDN);
        mpfr_sub(r30259, r30252, r30246, MPFR_RNDN);
        mpfr_add(r30260, r30259, r30251, MPFR_RNDN);
        mpfr_cbrt(r30261, r30260, MPFR_RNDN);
        mpfr_pow(r30262, r30261, r30257, MPFR_RNDN);
        mpfr_mul(r30263, r30258, r30262, MPFR_RNDN);
        mpfr_mul(r30264, r30250, r30263, MPFR_RNDN);
        ;
        mpfr_add(r30266, r30252, r30265, MPFR_RNDN);
        mpfr_add(r30267, r30265, r30246, MPFR_RNDN);
        mpfr_sub(r30268, r30266, r30267, MPFR_RNDN);
        mpfr_add(r30269, r30251, r30268, MPFR_RNDN);
        mpfr_exp(r30270, r30269, MPFR_RNDN);
        mpfr_div(r30271, r30264, r30270, MPFR_RNDN);
        ;
        mpfr_div(r30273, r30272, r30268, MPFR_RNDN);
        ;
        mpfr_sub(r30275, r30265, r30246, MPFR_RNDN);
        ;
        mpfr_sub(r30277, r30265, r30276, MPFR_RNDN);
        mpfr_sub(r30278, r30275, r30277, MPFR_RNDN);
        mpfr_div(r30279, r30274, r30278, MPFR_RNDN);
        mpfr_add(r30280, r30273, r30279, MPFR_RNDN);
        ;
        ;
        mpfr_add(r30283, r30282, r30265, MPFR_RNDN);
        mpfr_sub(r30284, r30283, r30267, MPFR_RNDN);
        mpfr_div(r30285, r30281, r30284, MPFR_RNDN);
        ;
        ;
        mpfr_sub(r30288, r30265, r30287, MPFR_RNDN);
        mpfr_sub(r30289, r30275, r30288, MPFR_RNDN);
        mpfr_div(r30290, r30286, r30289, MPFR_RNDN);
        mpfr_add(r30291, r30285, r30290, MPFR_RNDN);
        ;
        ;
        mpfr_sub(r30294, r30265, r30293, MPFR_RNDN);
        mpfr_sub(r30295, r30275, r30294, MPFR_RNDN);
        mpfr_div(r30296, r30292, r30295, MPFR_RNDN);
        ;
        ;
        mpfr_add(r30299, r30298, r30265, MPFR_RNDN);
        mpfr_sub(r30300, r30299, r30267, MPFR_RNDN);
        mpfr_div(r30301, r30297, r30300, MPFR_RNDN);
        mpfr_add(r30302, r30296, r30301, MPFR_RNDN);
        mpfr_add(r30303, r30291, r30302, MPFR_RNDN);
        ;
        ;
        ;
        mpfr_sub(r30307, r30265, r30306, MPFR_RNDN);
        mpfr_sub(r30308, r30275, r30307, MPFR_RNDN);
        mpfr_div(r30309, r30305, r30308, MPFR_RNDN);
        mpfr_add(r30310, r30304, r30309, MPFR_RNDN);
        ;
        ;
        mpfr_sub(r30313, r30275, r30312, MPFR_RNDN);
        mpfr_div(r30314, r30311, r30313, MPFR_RNDN);
        mpfr_add(r30315, r30310, r30314, MPFR_RNDN);
        mpfr_add(r30316, r30303, r30315, MPFR_RNDN);
        mpfr_add(r30317, r30280, r30316, MPFR_RNDN);
        mpfr_mul(r30318, r30271, r30317, MPFR_RNDN);
        return mpfr_get_d(r30318, MPFR_RNDN);
}

