#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 r10873 = atan2(1.0, 0.0);
        float r10874 = z;
        float r10875 = r10873 * r10874;
        float r10876 = sin(r10875);
        float r10877 = r10873 / r10876;
        float r10878 = 2;
        float r10879 = r10873 * r10878;
        float r10880 = sqrt(r10879);
        float r10881 = 1;
        float r10882 = r10881 - r10874;
        float r10883 = r10882 - r10881;
        float r10884 = 7;
        float r10885 = r10883 + r10884;
        float r10886 = 0.5;
        float r10887 = r10885 + r10886;
        float r10888 = r10883 + r10886;
        float r10889 = pow(r10887, r10888);
        float r10890 = r10880 * r10889;
        float r10891 = -r10887;
        float r10892 = exp(r10891);
        float r10893 = r10890 * r10892;
        float r10894 = 0.9999999999998099;
        float r10895 = 676.5203681218851;
        float r10896 = r10883 + r10881;
        float r10897 = r10895 / r10896;
        float r10898 = r10894 + r10897;
        float r10899 = -1259.1392167224028;
        float r10900 = r10883 + r10878;
        float r10901 = r10899 / r10900;
        float r10902 = r10898 + r10901;
        float r10903 = 771.3234287776531;
        float r10904 = 3;
        float r10905 = r10883 + r10904;
        float r10906 = r10903 / r10905;
        float r10907 = r10902 + r10906;
        float r10908 = -176.6150291621406;
        float r10909 = 4;
        float r10910 = r10883 + r10909;
        float r10911 = r10908 / r10910;
        float r10912 = r10907 + r10911;
        float r10913 = 12.507343278686905;
        float r10914 = 5;
        float r10915 = r10883 + r10914;
        float r10916 = r10913 / r10915;
        float r10917 = r10912 + r10916;
        float r10918 = -0.13857109526572012;
        float r10919 = 6;
        float r10920 = r10883 + r10919;
        float r10921 = r10918 / r10920;
        float r10922 = r10917 + r10921;
        float r10923 = 9.984369578019572e-06;
        float r10924 = r10923 / r10885;
        float r10925 = r10922 + r10924;
        float r10926 = 1.5056327351493116e-07;
        float r10927 = 8;
        float r10928 = r10883 + r10927;
        float r10929 = r10926 / r10928;
        float r10930 = r10925 + r10929;
        float r10931 = r10893 * r10930;
        float r10932 = r10877 * r10931;
        return r10932;
}

double f_id(double z) {
        double r10933 = atan2(1.0, 0.0);
        double r10934 = z;
        double r10935 = r10933 * r10934;
        double r10936 = sin(r10935);
        double r10937 = r10933 / r10936;
        double r10938 = 2;
        double r10939 = r10933 * r10938;
        double r10940 = sqrt(r10939);
        double r10941 = 1;
        double r10942 = r10941 - r10934;
        double r10943 = r10942 - r10941;
        double r10944 = 7;
        double r10945 = r10943 + r10944;
        double r10946 = 0.5;
        double r10947 = r10945 + r10946;
        double r10948 = r10943 + r10946;
        double r10949 = pow(r10947, r10948);
        double r10950 = r10940 * r10949;
        double r10951 = -r10947;
        double r10952 = exp(r10951);
        double r10953 = r10950 * r10952;
        double r10954 = 0.9999999999998099;
        double r10955 = 676.5203681218851;
        double r10956 = r10943 + r10941;
        double r10957 = r10955 / r10956;
        double r10958 = r10954 + r10957;
        double r10959 = -1259.1392167224028;
        double r10960 = r10943 + r10938;
        double r10961 = r10959 / r10960;
        double r10962 = r10958 + r10961;
        double r10963 = 771.3234287776531;
        double r10964 = 3;
        double r10965 = r10943 + r10964;
        double r10966 = r10963 / r10965;
        double r10967 = r10962 + r10966;
        double r10968 = -176.6150291621406;
        double r10969 = 4;
        double r10970 = r10943 + r10969;
        double r10971 = r10968 / r10970;
        double r10972 = r10967 + r10971;
        double r10973 = 12.507343278686905;
        double r10974 = 5;
        double r10975 = r10943 + r10974;
        double r10976 = r10973 / r10975;
        double r10977 = r10972 + r10976;
        double r10978 = -0.13857109526572012;
        double r10979 = 6;
        double r10980 = r10943 + r10979;
        double r10981 = r10978 / r10980;
        double r10982 = r10977 + r10981;
        double r10983 = 9.984369578019572e-06;
        double r10984 = r10983 / r10945;
        double r10985 = r10982 + r10984;
        double r10986 = 1.5056327351493116e-07;
        double r10987 = 8;
        double r10988 = r10943 + r10987;
        double r10989 = r10986 / r10988;
        double r10990 = r10985 + r10989;
        double r10991 = r10953 * r10990;
        double r10992 = r10937 * r10991;
        return r10992;
}


double f_of(float z) {
        float r10993 = atan2(1.0, 0.0);
        float r10994 = z;
        float r10995 = r10994 * r10993;
        float r10996 = sin(r10995);
        float r10997 = r10993 / r10996;
        float r10998 = 7;
        float r10999 = 1;
        float r11000 = 0.5;
        float r11001 = r10999 + r11000;
        float r11002 = r10994 + r10999;
        float r11003 = r11001 - r11002;
        float r11004 = r10998 + r11003;
        float r11005 = exp(r11004);
        float r11006 = r10997 / r11005;
        float r11007 = 2;
        float r11008 = r10993 * r11007;
        float r11009 = sqrt(r11008);
        float r11010 = r11000 + r10998;
        float r11011 = r11010 - r10994;
        float r11012 = pow(r11011, r11003);
        float r11013 = r11009 * r11012;
        float r11014 = r11006 * r11013;
        float r11015 = -1259.1392167224028;
        float r11016 = r10999 - r10994;
        float r11017 = r10999 - r11007;
        float r11018 = r11016 - r11017;
        float r11019 = r11015 / r11018;
        float r11020 = 676.5203681218851;
        float r11021 = r11020 / r11016;
        float r11022 = r11019 + r11021;
        float r11023 = 0.9999999999998099;
        float r11024 = 3;
        float r11025 = pow(r11023, r11024);
        float r11026 = 771.3234287776531;
        float r11027 = r11024 - r10994;
        float r11028 = r11026 / r11027;
        float r11029 = pow(r11028, r11024);
        float r11030 = r11025 + r11029;
        float r11031 = r11023 * r11023;
        float r11032 = r11028 * r11028;
        float r11033 = r11023 * r11028;
        float r11034 = r11032 - r11033;
        float r11035 = r11031 + r11034;
        float r11036 = r11030 / r11035;
        float r11037 = -176.6150291621406;
        float r11038 = 4;
        float r11039 = r10999 + r11038;
        float r11040 = r11039 - r11002;
        float r11041 = r11037 / r11040;
        float r11042 = r11036 + r11041;
        float r11043 = r11022 + r11042;
        float r11044 = -0.13857109526572012;
        float r11045 = 6;
        float r11046 = r10999 - r11045;
        float r11047 = r11016 - r11046;
        float r11048 = r11044 / r11047;
        float r11049 = 12.507343278686905;
        float r11050 = 5;
        float r11051 = r10999 - r11050;
        float r11052 = r11016 - r11051;
        float r11053 = r11049 / r11052;
        float r11054 = r11048 + r11053;
        float r11055 = 9.984369578019572e-06;
        float r11056 = r10999 - r10998;
        float r11057 = r11016 - r11056;
        float r11058 = r11055 / r11057;
        float r11059 = 1.5056327351493116e-07;
        float r11060 = 8;
        float r11061 = r10999 + r11060;
        float r11062 = r11061 - r11002;
        float r11063 = r11059 / r11062;
        float r11064 = r11058 + r11063;
        float r11065 = r11054 + r11064;
        float r11066 = r11043 + r11065;
        float r11067 = r11014 * r11066;
        return r11067;
}

double f_od(double z) {
        double r11068 = atan2(1.0, 0.0);
        double r11069 = z;
        double r11070 = r11069 * r11068;
        double r11071 = sin(r11070);
        double r11072 = r11068 / r11071;
        double r11073 = 7;
        double r11074 = 1;
        double r11075 = 0.5;
        double r11076 = r11074 + r11075;
        double r11077 = r11069 + r11074;
        double r11078 = r11076 - r11077;
        double r11079 = r11073 + r11078;
        double r11080 = exp(r11079);
        double r11081 = r11072 / r11080;
        double r11082 = 2;
        double r11083 = r11068 * r11082;
        double r11084 = sqrt(r11083);
        double r11085 = r11075 + r11073;
        double r11086 = r11085 - r11069;
        double r11087 = pow(r11086, r11078);
        double r11088 = r11084 * r11087;
        double r11089 = r11081 * r11088;
        double r11090 = -1259.1392167224028;
        double r11091 = r11074 - r11069;
        double r11092 = r11074 - r11082;
        double r11093 = r11091 - r11092;
        double r11094 = r11090 / r11093;
        double r11095 = 676.5203681218851;
        double r11096 = r11095 / r11091;
        double r11097 = r11094 + r11096;
        double r11098 = 0.9999999999998099;
        double r11099 = 3;
        double r11100 = pow(r11098, r11099);
        double r11101 = 771.3234287776531;
        double r11102 = r11099 - r11069;
        double r11103 = r11101 / r11102;
        double r11104 = pow(r11103, r11099);
        double r11105 = r11100 + r11104;
        double r11106 = r11098 * r11098;
        double r11107 = r11103 * r11103;
        double r11108 = r11098 * r11103;
        double r11109 = r11107 - r11108;
        double r11110 = r11106 + r11109;
        double r11111 = r11105 / r11110;
        double r11112 = -176.6150291621406;
        double r11113 = 4;
        double r11114 = r11074 + r11113;
        double r11115 = r11114 - r11077;
        double r11116 = r11112 / r11115;
        double r11117 = r11111 + r11116;
        double r11118 = r11097 + r11117;
        double r11119 = -0.13857109526572012;
        double r11120 = 6;
        double r11121 = r11074 - r11120;
        double r11122 = r11091 - r11121;
        double r11123 = r11119 / r11122;
        double r11124 = 12.507343278686905;
        double r11125 = 5;
        double r11126 = r11074 - r11125;
        double r11127 = r11091 - r11126;
        double r11128 = r11124 / r11127;
        double r11129 = r11123 + r11128;
        double r11130 = 9.984369578019572e-06;
        double r11131 = r11074 - r11073;
        double r11132 = r11091 - r11131;
        double r11133 = r11130 / r11132;
        double r11134 = 1.5056327351493116e-07;
        double r11135 = 8;
        double r11136 = r11074 + r11135;
        double r11137 = r11136 - r11077;
        double r11138 = r11134 / r11137;
        double r11139 = r11133 + r11138;
        double r11140 = r11129 + r11139;
        double r11141 = r11118 + r11140;
        double r11142 = r11089 * r11141;
        return r11142;
}

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 r11143, r11144, r11145, r11146, r11147, r11148, r11149, r11150, r11151, r11152, r11153, r11154, r11155, r11156, r11157, r11158, r11159, r11160, r11161, r11162, r11163, r11164, r11165, r11166, r11167, r11168, r11169, r11170, r11171, r11172, r11173, r11174, r11175, r11176, r11177, r11178, r11179, r11180, r11181, r11182, r11183, r11184, r11185, r11186, r11187, r11188, r11189, r11190, r11191, r11192, r11193, r11194, r11195, r11196, r11197, r11198, r11199, r11200, r11201, r11202;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(592);
        mpfr_init(r11143);
        mpfr_init(r11144);
        mpfr_init(r11145);
        mpfr_init(r11146);
        mpfr_init(r11147);
        mpfr_init_set_str(r11148, "2", 10, MPFR_RNDN);
        mpfr_init(r11149);
        mpfr_init(r11150);
        mpfr_init_set_str(r11151, "1", 10, MPFR_RNDN);
        mpfr_init(r11152);
        mpfr_init(r11153);
        mpfr_init_set_str(r11154, "7", 10, MPFR_RNDN);
        mpfr_init(r11155);
        mpfr_init_set_str(r11156, "0.5", 10, MPFR_RNDN);
        mpfr_init(r11157);
        mpfr_init(r11158);
        mpfr_init(r11159);
        mpfr_init(r11160);
        mpfr_init(r11161);
        mpfr_init(r11162);
        mpfr_init(r11163);
        mpfr_init_set_str(r11164, "0.9999999999998099", 10, MPFR_RNDN);
        mpfr_init_set_str(r11165, "676.5203681218851", 10, MPFR_RNDN);
        mpfr_init(r11166);
        mpfr_init(r11167);
        mpfr_init(r11168);
        mpfr_init_set_str(r11169, "-1259.1392167224028", 10, MPFR_RNDN);
        mpfr_init(r11170);
        mpfr_init(r11171);
        mpfr_init(r11172);
        mpfr_init_set_str(r11173, "771.3234287776531", 10, MPFR_RNDN);
        mpfr_init_set_str(r11174, "3", 10, MPFR_RNDN);
        mpfr_init(r11175);
        mpfr_init(r11176);
        mpfr_init(r11177);
        mpfr_init_set_str(r11178, "-176.6150291621406", 10, MPFR_RNDN);
        mpfr_init_set_str(r11179, "4", 10, MPFR_RNDN);
        mpfr_init(r11180);
        mpfr_init(r11181);
        mpfr_init(r11182);
        mpfr_init_set_str(r11183, "12.507343278686905", 10, MPFR_RNDN);
        mpfr_init_set_str(r11184, "5", 10, MPFR_RNDN);
        mpfr_init(r11185);
        mpfr_init(r11186);
        mpfr_init(r11187);
        mpfr_init_set_str(r11188, "-0.13857109526572012", 10, MPFR_RNDN);
        mpfr_init_set_str(r11189, "6", 10, MPFR_RNDN);
        mpfr_init(r11190);
        mpfr_init(r11191);
        mpfr_init(r11192);
        mpfr_init_set_str(r11193, "9.984369578019572e-06", 10, MPFR_RNDN);
        mpfr_init(r11194);
        mpfr_init(r11195);
        mpfr_init_set_str(r11196, "1.5056327351493116e-07", 10, MPFR_RNDN);
        mpfr_init_set_str(r11197, "8", 10, MPFR_RNDN);
        mpfr_init(r11198);
        mpfr_init(r11199);
        mpfr_init(r11200);
        mpfr_init(r11201);
        mpfr_init(r11202);
}

double f_im(double z) {
        mpfr_const_pi(r11143, MPFR_RNDN);
        mpfr_set_d(r11144, z, MPFR_RNDN);
        mpfr_mul(r11145, r11143, r11144, MPFR_RNDN);
        mpfr_sin(r11146, r11145, MPFR_RNDN);
        mpfr_div(r11147, r11143, r11146, MPFR_RNDN);
        ;
        mpfr_mul(r11149, r11143, r11148, MPFR_RNDN);
        mpfr_sqrt(r11150, r11149, MPFR_RNDN);
        ;
        mpfr_sub(r11152, r11151, r11144, MPFR_RNDN);
        mpfr_sub(r11153, r11152, r11151, MPFR_RNDN);
        ;
        mpfr_add(r11155, r11153, r11154, MPFR_RNDN);
        ;
        mpfr_add(r11157, r11155, r11156, MPFR_RNDN);
        mpfr_add(r11158, r11153, r11156, MPFR_RNDN);
        mpfr_pow(r11159, r11157, r11158, MPFR_RNDN);
        mpfr_mul(r11160, r11150, r11159, MPFR_RNDN);
        mpfr_neg(r11161, r11157, MPFR_RNDN);
        mpfr_exp(r11162, r11161, MPFR_RNDN);
        mpfr_mul(r11163, r11160, r11162, MPFR_RNDN);
        ;
        ;
        mpfr_add(r11166, r11153, r11151, MPFR_RNDN);
        mpfr_div(r11167, r11165, r11166, MPFR_RNDN);
        mpfr_add(r11168, r11164, r11167, MPFR_RNDN);
        ;
        mpfr_add(r11170, r11153, r11148, MPFR_RNDN);
        mpfr_div(r11171, r11169, r11170, MPFR_RNDN);
        mpfr_add(r11172, r11168, r11171, MPFR_RNDN);
        ;
        ;
        mpfr_add(r11175, r11153, r11174, MPFR_RNDN);
        mpfr_div(r11176, r11173, r11175, MPFR_RNDN);
        mpfr_add(r11177, r11172, r11176, MPFR_RNDN);
        ;
        ;
        mpfr_add(r11180, r11153, r11179, MPFR_RNDN);
        mpfr_div(r11181, r11178, r11180, MPFR_RNDN);
        mpfr_add(r11182, r11177, r11181, MPFR_RNDN);
        ;
        ;
        mpfr_add(r11185, r11153, r11184, MPFR_RNDN);
        mpfr_div(r11186, r11183, r11185, MPFR_RNDN);
        mpfr_add(r11187, r11182, r11186, MPFR_RNDN);
        ;
        ;
        mpfr_add(r11190, r11153, r11189, MPFR_RNDN);
        mpfr_div(r11191, r11188, r11190, MPFR_RNDN);
        mpfr_add(r11192, r11187, r11191, MPFR_RNDN);
        ;
        mpfr_div(r11194, r11193, r11155, MPFR_RNDN);
        mpfr_add(r11195, r11192, r11194, MPFR_RNDN);
        ;
        ;
        mpfr_add(r11198, r11153, r11197, MPFR_RNDN);
        mpfr_div(r11199, r11196, r11198, MPFR_RNDN);
        mpfr_add(r11200, r11195, r11199, MPFR_RNDN);
        mpfr_mul(r11201, r11163, r11200, MPFR_RNDN);
        mpfr_mul(r11202, r11147, r11201, MPFR_RNDN);
        return mpfr_get_d(r11202, MPFR_RNDN);
}

static mpfr_t r11203, r11204, r11205, r11206, r11207, r11208, r11209, r11210, r11211, r11212, r11213, r11214, r11215, r11216, r11217, r11218, r11219, r11220, r11221, r11222, r11223, r11224, r11225, r11226, r11227, r11228, r11229, r11230, r11231, r11232, r11233, r11234, r11235, r11236, r11237, r11238, r11239, r11240, r11241, r11242, r11243, r11244, r11245, r11246, r11247, r11248, r11249, r11250, r11251, r11252, r11253, r11254, r11255, r11256, r11257, r11258, r11259, r11260, r11261, r11262, r11263, r11264, r11265, r11266, r11267, r11268, r11269, r11270, r11271, r11272, r11273, r11274, r11275, r11276, r11277;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(592);
        mpfr_init(r11203);
        mpfr_init(r11204);
        mpfr_init(r11205);
        mpfr_init(r11206);
        mpfr_init(r11207);
        mpfr_init_set_str(r11208, "7", 10, MPFR_RNDN);
        mpfr_init_set_str(r11209, "1", 10, MPFR_RNDN);
        mpfr_init_set_str(r11210, "0.5", 10, MPFR_RNDN);
        mpfr_init(r11211);
        mpfr_init(r11212);
        mpfr_init(r11213);
        mpfr_init(r11214);
        mpfr_init(r11215);
        mpfr_init(r11216);
        mpfr_init_set_str(r11217, "2", 10, MPFR_RNDN);
        mpfr_init(r11218);
        mpfr_init(r11219);
        mpfr_init(r11220);
        mpfr_init(r11221);
        mpfr_init(r11222);
        mpfr_init(r11223);
        mpfr_init(r11224);
        mpfr_init_set_str(r11225, "-1259.1392167224028", 10, MPFR_RNDN);
        mpfr_init(r11226);
        mpfr_init(r11227);
        mpfr_init(r11228);
        mpfr_init(r11229);
        mpfr_init_set_str(r11230, "676.5203681218851", 10, MPFR_RNDN);
        mpfr_init(r11231);
        mpfr_init(r11232);
        mpfr_init_set_str(r11233, "0.9999999999998099", 10, MPFR_RNDN);
        mpfr_init_set_str(r11234, "3", 10, MPFR_RNDN);
        mpfr_init(r11235);
        mpfr_init_set_str(r11236, "771.3234287776531", 10, MPFR_RNDN);
        mpfr_init(r11237);
        mpfr_init(r11238);
        mpfr_init(r11239);
        mpfr_init(r11240);
        mpfr_init(r11241);
        mpfr_init(r11242);
        mpfr_init(r11243);
        mpfr_init(r11244);
        mpfr_init(r11245);
        mpfr_init(r11246);
        mpfr_init_set_str(r11247, "-176.6150291621406", 10, MPFR_RNDN);
        mpfr_init_set_str(r11248, "4", 10, MPFR_RNDN);
        mpfr_init(r11249);
        mpfr_init(r11250);
        mpfr_init(r11251);
        mpfr_init(r11252);
        mpfr_init(r11253);
        mpfr_init_set_str(r11254, "-0.13857109526572012", 10, MPFR_RNDN);
        mpfr_init_set_str(r11255, "6", 10, MPFR_RNDN);
        mpfr_init(r11256);
        mpfr_init(r11257);
        mpfr_init(r11258);
        mpfr_init_set_str(r11259, "12.507343278686905", 10, MPFR_RNDN);
        mpfr_init_set_str(r11260, "5", 10, MPFR_RNDN);
        mpfr_init(r11261);
        mpfr_init(r11262);
        mpfr_init(r11263);
        mpfr_init(r11264);
        mpfr_init_set_str(r11265, "9.984369578019572e-06", 10, MPFR_RNDN);
        mpfr_init(r11266);
        mpfr_init(r11267);
        mpfr_init(r11268);
        mpfr_init_set_str(r11269, "1.5056327351493116e-07", 10, MPFR_RNDN);
        mpfr_init_set_str(r11270, "8", 10, MPFR_RNDN);
        mpfr_init(r11271);
        mpfr_init(r11272);
        mpfr_init(r11273);
        mpfr_init(r11274);
        mpfr_init(r11275);
        mpfr_init(r11276);
        mpfr_init(r11277);
}

double f_fm(double z) {
        mpfr_const_pi(r11203, MPFR_RNDN);
        mpfr_set_d(r11204, z, MPFR_RNDN);
        mpfr_mul(r11205, r11204, r11203, MPFR_RNDN);
        mpfr_sin(r11206, r11205, MPFR_RNDN);
        mpfr_div(r11207, r11203, r11206, MPFR_RNDN);
        ;
        ;
        ;
        mpfr_add(r11211, r11209, r11210, MPFR_RNDN);
        mpfr_add(r11212, r11204, r11209, MPFR_RNDN);
        mpfr_sub(r11213, r11211, r11212, MPFR_RNDN);
        mpfr_add(r11214, r11208, r11213, MPFR_RNDN);
        mpfr_exp(r11215, r11214, MPFR_RNDN);
        mpfr_div(r11216, r11207, r11215, MPFR_RNDN);
        ;
        mpfr_mul(r11218, r11203, r11217, MPFR_RNDN);
        mpfr_sqrt(r11219, r11218, MPFR_RNDN);
        mpfr_add(r11220, r11210, r11208, MPFR_RNDN);
        mpfr_sub(r11221, r11220, r11204, MPFR_RNDN);
        mpfr_pow(r11222, r11221, r11213, MPFR_RNDN);
        mpfr_mul(r11223, r11219, r11222, MPFR_RNDN);
        mpfr_mul(r11224, r11216, r11223, MPFR_RNDN);
        ;
        mpfr_sub(r11226, r11209, r11204, MPFR_RNDN);
        mpfr_sub(r11227, r11209, r11217, MPFR_RNDN);
        mpfr_sub(r11228, r11226, r11227, MPFR_RNDN);
        mpfr_div(r11229, r11225, r11228, MPFR_RNDN);
        ;
        mpfr_div(r11231, r11230, r11226, MPFR_RNDN);
        mpfr_add(r11232, r11229, r11231, MPFR_RNDN);
        ;
        ;
        mpfr_pow(r11235, r11233, r11234, MPFR_RNDN);
        ;
        mpfr_sub(r11237, r11234, r11204, MPFR_RNDN);
        mpfr_div(r11238, r11236, r11237, MPFR_RNDN);
        mpfr_pow(r11239, r11238, r11234, MPFR_RNDN);
        mpfr_add(r11240, r11235, r11239, MPFR_RNDN);
        mpfr_mul(r11241, r11233, r11233, MPFR_RNDN);
        mpfr_mul(r11242, r11238, r11238, MPFR_RNDN);
        mpfr_mul(r11243, r11233, r11238, MPFR_RNDN);
        mpfr_sub(r11244, r11242, r11243, MPFR_RNDN);
        mpfr_add(r11245, r11241, r11244, MPFR_RNDN);
        mpfr_div(r11246, r11240, r11245, MPFR_RNDN);
        ;
        ;
        mpfr_add(r11249, r11209, r11248, MPFR_RNDN);
        mpfr_sub(r11250, r11249, r11212, MPFR_RNDN);
        mpfr_div(r11251, r11247, r11250, MPFR_RNDN);
        mpfr_add(r11252, r11246, r11251, MPFR_RNDN);
        mpfr_add(r11253, r11232, r11252, MPFR_RNDN);
        ;
        ;
        mpfr_sub(r11256, r11209, r11255, MPFR_RNDN);
        mpfr_sub(r11257, r11226, r11256, MPFR_RNDN);
        mpfr_div(r11258, r11254, r11257, MPFR_RNDN);
        ;
        ;
        mpfr_sub(r11261, r11209, r11260, MPFR_RNDN);
        mpfr_sub(r11262, r11226, r11261, MPFR_RNDN);
        mpfr_div(r11263, r11259, r11262, MPFR_RNDN);
        mpfr_add(r11264, r11258, r11263, MPFR_RNDN);
        ;
        mpfr_sub(r11266, r11209, r11208, MPFR_RNDN);
        mpfr_sub(r11267, r11226, r11266, MPFR_RNDN);
        mpfr_div(r11268, r11265, r11267, MPFR_RNDN);
        ;
        ;
        mpfr_add(r11271, r11209, r11270, MPFR_RNDN);
        mpfr_sub(r11272, r11271, r11212, MPFR_RNDN);
        mpfr_div(r11273, r11269, r11272, MPFR_RNDN);
        mpfr_add(r11274, r11268, r11273, MPFR_RNDN);
        mpfr_add(r11275, r11264, r11274, MPFR_RNDN);
        mpfr_add(r11276, r11253, r11275, MPFR_RNDN);
        mpfr_mul(r11277, r11224, r11276, MPFR_RNDN);
        return mpfr_get_d(r11277, MPFR_RNDN);
}

static mpfr_t r11278, r11279, r11280, r11281, r11282, r11283, r11284, r11285, r11286, r11287, r11288, r11289, r11290, r11291, r11292, r11293, r11294, r11295, r11296, r11297, r11298, r11299, r11300, r11301, r11302, r11303, r11304, r11305, r11306, r11307, r11308, r11309, r11310, r11311, r11312, r11313, r11314, r11315, r11316, r11317, r11318, r11319, r11320, r11321, r11322, r11323, r11324, r11325, r11326, r11327, r11328, r11329, r11330, r11331, r11332, r11333, r11334, r11335, r11336, r11337, r11338, r11339, r11340, r11341, r11342, r11343, r11344, r11345, r11346, r11347, r11348, r11349, r11350, r11351, r11352;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(592);
        mpfr_init(r11278);
        mpfr_init(r11279);
        mpfr_init(r11280);
        mpfr_init(r11281);
        mpfr_init(r11282);
        mpfr_init_set_str(r11283, "7", 10, MPFR_RNDN);
        mpfr_init_set_str(r11284, "1", 10, MPFR_RNDN);
        mpfr_init_set_str(r11285, "0.5", 10, MPFR_RNDN);
        mpfr_init(r11286);
        mpfr_init(r11287);
        mpfr_init(r11288);
        mpfr_init(r11289);
        mpfr_init(r11290);
        mpfr_init(r11291);
        mpfr_init_set_str(r11292, "2", 10, MPFR_RNDN);
        mpfr_init(r11293);
        mpfr_init(r11294);
        mpfr_init(r11295);
        mpfr_init(r11296);
        mpfr_init(r11297);
        mpfr_init(r11298);
        mpfr_init(r11299);
        mpfr_init_set_str(r11300, "-1259.1392167224028", 10, MPFR_RNDN);
        mpfr_init(r11301);
        mpfr_init(r11302);
        mpfr_init(r11303);
        mpfr_init(r11304);
        mpfr_init_set_str(r11305, "676.5203681218851", 10, MPFR_RNDN);
        mpfr_init(r11306);
        mpfr_init(r11307);
        mpfr_init_set_str(r11308, "0.9999999999998099", 10, MPFR_RNDN);
        mpfr_init_set_str(r11309, "3", 10, MPFR_RNDN);
        mpfr_init(r11310);
        mpfr_init_set_str(r11311, "771.3234287776531", 10, MPFR_RNDN);
        mpfr_init(r11312);
        mpfr_init(r11313);
        mpfr_init(r11314);
        mpfr_init(r11315);
        mpfr_init(r11316);
        mpfr_init(r11317);
        mpfr_init(r11318);
        mpfr_init(r11319);
        mpfr_init(r11320);
        mpfr_init(r11321);
        mpfr_init_set_str(r11322, "-176.6150291621406", 10, MPFR_RNDN);
        mpfr_init_set_str(r11323, "4", 10, MPFR_RNDN);
        mpfr_init(r11324);
        mpfr_init(r11325);
        mpfr_init(r11326);
        mpfr_init(r11327);
        mpfr_init(r11328);
        mpfr_init_set_str(r11329, "-0.13857109526572012", 10, MPFR_RNDN);
        mpfr_init_set_str(r11330, "6", 10, MPFR_RNDN);
        mpfr_init(r11331);
        mpfr_init(r11332);
        mpfr_init(r11333);
        mpfr_init_set_str(r11334, "12.507343278686905", 10, MPFR_RNDN);
        mpfr_init_set_str(r11335, "5", 10, MPFR_RNDN);
        mpfr_init(r11336);
        mpfr_init(r11337);
        mpfr_init(r11338);
        mpfr_init(r11339);
        mpfr_init_set_str(r11340, "9.984369578019572e-06", 10, MPFR_RNDN);
        mpfr_init(r11341);
        mpfr_init(r11342);
        mpfr_init(r11343);
        mpfr_init_set_str(r11344, "1.5056327351493116e-07", 10, MPFR_RNDN);
        mpfr_init_set_str(r11345, "8", 10, MPFR_RNDN);
        mpfr_init(r11346);
        mpfr_init(r11347);
        mpfr_init(r11348);
        mpfr_init(r11349);
        mpfr_init(r11350);
        mpfr_init(r11351);
        mpfr_init(r11352);
}

double f_dm(double z) {
        mpfr_const_pi(r11278, MPFR_RNDN);
        mpfr_set_d(r11279, z, MPFR_RNDN);
        mpfr_mul(r11280, r11279, r11278, MPFR_RNDN);
        mpfr_sin(r11281, r11280, MPFR_RNDN);
        mpfr_div(r11282, r11278, r11281, MPFR_RNDN);
        ;
        ;
        ;
        mpfr_add(r11286, r11284, r11285, MPFR_RNDN);
        mpfr_add(r11287, r11279, r11284, MPFR_RNDN);
        mpfr_sub(r11288, r11286, r11287, MPFR_RNDN);
        mpfr_add(r11289, r11283, r11288, MPFR_RNDN);
        mpfr_exp(r11290, r11289, MPFR_RNDN);
        mpfr_div(r11291, r11282, r11290, MPFR_RNDN);
        ;
        mpfr_mul(r11293, r11278, r11292, MPFR_RNDN);
        mpfr_sqrt(r11294, r11293, MPFR_RNDN);
        mpfr_add(r11295, r11285, r11283, MPFR_RNDN);
        mpfr_sub(r11296, r11295, r11279, MPFR_RNDN);
        mpfr_pow(r11297, r11296, r11288, MPFR_RNDN);
        mpfr_mul(r11298, r11294, r11297, MPFR_RNDN);
        mpfr_mul(r11299, r11291, r11298, MPFR_RNDN);
        ;
        mpfr_sub(r11301, r11284, r11279, MPFR_RNDN);
        mpfr_sub(r11302, r11284, r11292, MPFR_RNDN);
        mpfr_sub(r11303, r11301, r11302, MPFR_RNDN);
        mpfr_div(r11304, r11300, r11303, MPFR_RNDN);
        ;
        mpfr_div(r11306, r11305, r11301, MPFR_RNDN);
        mpfr_add(r11307, r11304, r11306, MPFR_RNDN);
        ;
        ;
        mpfr_pow(r11310, r11308, r11309, MPFR_RNDN);
        ;
        mpfr_sub(r11312, r11309, r11279, MPFR_RNDN);
        mpfr_div(r11313, r11311, r11312, MPFR_RNDN);
        mpfr_pow(r11314, r11313, r11309, MPFR_RNDN);
        mpfr_add(r11315, r11310, r11314, MPFR_RNDN);
        mpfr_mul(r11316, r11308, r11308, MPFR_RNDN);
        mpfr_mul(r11317, r11313, r11313, MPFR_RNDN);
        mpfr_mul(r11318, r11308, r11313, MPFR_RNDN);
        mpfr_sub(r11319, r11317, r11318, MPFR_RNDN);
        mpfr_add(r11320, r11316, r11319, MPFR_RNDN);
        mpfr_div(r11321, r11315, r11320, MPFR_RNDN);
        ;
        ;
        mpfr_add(r11324, r11284, r11323, MPFR_RNDN);
        mpfr_sub(r11325, r11324, r11287, MPFR_RNDN);
        mpfr_div(r11326, r11322, r11325, MPFR_RNDN);
        mpfr_add(r11327, r11321, r11326, MPFR_RNDN);
        mpfr_add(r11328, r11307, r11327, MPFR_RNDN);
        ;
        ;
        mpfr_sub(r11331, r11284, r11330, MPFR_RNDN);
        mpfr_sub(r11332, r11301, r11331, MPFR_RNDN);
        mpfr_div(r11333, r11329, r11332, MPFR_RNDN);
        ;
        ;
        mpfr_sub(r11336, r11284, r11335, MPFR_RNDN);
        mpfr_sub(r11337, r11301, r11336, MPFR_RNDN);
        mpfr_div(r11338, r11334, r11337, MPFR_RNDN);
        mpfr_add(r11339, r11333, r11338, MPFR_RNDN);
        ;
        mpfr_sub(r11341, r11284, r11283, MPFR_RNDN);
        mpfr_sub(r11342, r11301, r11341, MPFR_RNDN);
        mpfr_div(r11343, r11340, r11342, MPFR_RNDN);
        ;
        ;
        mpfr_add(r11346, r11284, r11345, MPFR_RNDN);
        mpfr_sub(r11347, r11346, r11287, MPFR_RNDN);
        mpfr_div(r11348, r11344, r11347, MPFR_RNDN);
        mpfr_add(r11349, r11343, r11348, MPFR_RNDN);
        mpfr_add(r11350, r11339, r11349, MPFR_RNDN);
        mpfr_add(r11351, r11328, r11350, MPFR_RNDN);
        mpfr_mul(r11352, r11299, r11351, MPFR_RNDN);
        return mpfr_get_d(r11352, MPFR_RNDN);
}

