#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 r26699 = atan2(1.0, 0.0);
        float r26700 = z;
        float r26701 = r26699 * r26700;
        float r26702 = sin(r26701);
        float r26703 = r26699 / r26702;
        float r26704 = 2;
        float r26705 = r26699 * r26704;
        float r26706 = sqrt(r26705);
        float r26707 = 1;
        float r26708 = r26707 - r26700;
        float r26709 = r26708 - r26707;
        float r26710 = 7;
        float r26711 = r26709 + r26710;
        float r26712 = 0.5;
        float r26713 = r26711 + r26712;
        float r26714 = r26709 + r26712;
        float r26715 = pow(r26713, r26714);
        float r26716 = r26706 * r26715;
        float r26717 = -r26713;
        float r26718 = exp(r26717);
        float r26719 = r26716 * r26718;
        float r26720 = 0.9999999999998099;
        float r26721 = 676.5203681218851;
        float r26722 = r26709 + r26707;
        float r26723 = r26721 / r26722;
        float r26724 = r26720 + r26723;
        float r26725 = -1259.1392167224028;
        float r26726 = r26709 + r26704;
        float r26727 = r26725 / r26726;
        float r26728 = r26724 + r26727;
        float r26729 = 771.3234287776531;
        float r26730 = 3;
        float r26731 = r26709 + r26730;
        float r26732 = r26729 / r26731;
        float r26733 = r26728 + r26732;
        float r26734 = -176.6150291621406;
        float r26735 = 4;
        float r26736 = r26709 + r26735;
        float r26737 = r26734 / r26736;
        float r26738 = r26733 + r26737;
        float r26739 = 12.507343278686905;
        float r26740 = 5;
        float r26741 = r26709 + r26740;
        float r26742 = r26739 / r26741;
        float r26743 = r26738 + r26742;
        float r26744 = -0.13857109526572012;
        float r26745 = 6;
        float r26746 = r26709 + r26745;
        float r26747 = r26744 / r26746;
        float r26748 = r26743 + r26747;
        float r26749 = 9.984369578019572e-06;
        float r26750 = r26749 / r26711;
        float r26751 = r26748 + r26750;
        float r26752 = 1.5056327351493116e-07;
        float r26753 = 8;
        float r26754 = r26709 + r26753;
        float r26755 = r26752 / r26754;
        float r26756 = r26751 + r26755;
        float r26757 = r26719 * r26756;
        float r26758 = r26703 * r26757;
        return r26758;
}

double f_id(double z) {
        double r26759 = atan2(1.0, 0.0);
        double r26760 = z;
        double r26761 = r26759 * r26760;
        double r26762 = sin(r26761);
        double r26763 = r26759 / r26762;
        double r26764 = 2;
        double r26765 = r26759 * r26764;
        double r26766 = sqrt(r26765);
        double r26767 = 1;
        double r26768 = r26767 - r26760;
        double r26769 = r26768 - r26767;
        double r26770 = 7;
        double r26771 = r26769 + r26770;
        double r26772 = 0.5;
        double r26773 = r26771 + r26772;
        double r26774 = r26769 + r26772;
        double r26775 = pow(r26773, r26774);
        double r26776 = r26766 * r26775;
        double r26777 = -r26773;
        double r26778 = exp(r26777);
        double r26779 = r26776 * r26778;
        double r26780 = 0.9999999999998099;
        double r26781 = 676.5203681218851;
        double r26782 = r26769 + r26767;
        double r26783 = r26781 / r26782;
        double r26784 = r26780 + r26783;
        double r26785 = -1259.1392167224028;
        double r26786 = r26769 + r26764;
        double r26787 = r26785 / r26786;
        double r26788 = r26784 + r26787;
        double r26789 = 771.3234287776531;
        double r26790 = 3;
        double r26791 = r26769 + r26790;
        double r26792 = r26789 / r26791;
        double r26793 = r26788 + r26792;
        double r26794 = -176.6150291621406;
        double r26795 = 4;
        double r26796 = r26769 + r26795;
        double r26797 = r26794 / r26796;
        double r26798 = r26793 + r26797;
        double r26799 = 12.507343278686905;
        double r26800 = 5;
        double r26801 = r26769 + r26800;
        double r26802 = r26799 / r26801;
        double r26803 = r26798 + r26802;
        double r26804 = -0.13857109526572012;
        double r26805 = 6;
        double r26806 = r26769 + r26805;
        double r26807 = r26804 / r26806;
        double r26808 = r26803 + r26807;
        double r26809 = 9.984369578019572e-06;
        double r26810 = r26809 / r26771;
        double r26811 = r26808 + r26810;
        double r26812 = 1.5056327351493116e-07;
        double r26813 = 8;
        double r26814 = r26769 + r26813;
        double r26815 = r26812 / r26814;
        double r26816 = r26811 + r26815;
        double r26817 = r26779 * r26816;
        double r26818 = r26763 * r26817;
        return r26818;
}


double f_of(float z) {
        float r26819 = atan2(1.0, 0.0);
        float r26820 = z;
        float r26821 = r26820 * r26819;
        float r26822 = sin(r26821);
        float r26823 = r26819 / r26822;
        float r26824 = 2;
        float r26825 = r26819 * r26824;
        float r26826 = sqrt(r26825);
        float r26827 = 0.5;
        float r26828 = 7;
        float r26829 = r26828 - r26820;
        float r26830 = r26827 + r26829;
        float r26831 = exp(r26830);
        float r26832 = r26826 / r26831;
        float r26833 = r26827 - r26820;
        float r26834 = pow(r26830, r26833);
        float r26835 = r26832 * r26834;
        float r26836 = sqrt(r26835);
        float r26837 = r26836 * r26836;
        float r26838 = r26823 * r26837;
        float r26839 = 771.3234287776531;
        float r26840 = 1;
        float r26841 = r26840 - r26820;
        float r26842 = 3;
        float r26843 = r26840 - r26842;
        float r26844 = r26841 - r26843;
        float r26845 = r26839 / r26844;
        float r26846 = 0.9999999999998099;
        float r26847 = r26845 + r26846;
        float r26848 = 676.5203681218851;
        float r26849 = 0;
        float r26850 = r26841 - r26849;
        float r26851 = r26848 / r26850;
        float r26852 = -1259.1392167224028;
        float r26853 = r26824 + r26840;
        float r26854 = r26840 + r26820;
        float r26855 = r26853 - r26854;
        float r26856 = r26852 / r26855;
        float r26857 = r26851 + r26856;
        float r26858 = r26847 + r26857;
        float r26859 = 12.507343278686905;
        float r26860 = 5;
        float r26861 = r26840 - r26860;
        float r26862 = r26841 - r26861;
        float r26863 = r26859 / r26862;
        float r26864 = -176.6150291621406;
        float r26865 = 4;
        float r26866 = r26840 - r26865;
        float r26867 = r26841 - r26866;
        float r26868 = r26864 / r26867;
        float r26869 = r26863 + r26868;
        float r26870 = -0.13857109526572012;
        float r26871 = 6;
        float r26872 = r26871 + r26840;
        float r26873 = r26872 - r26854;
        float r26874 = r26870 / r26873;
        float r26875 = 9.984369578019572e-06;
        float r26876 = r26828 + r26840;
        float r26877 = r26876 - r26854;
        float r26878 = r26875 / r26877;
        float r26879 = r26874 + r26878;
        float r26880 = r26869 + r26879;
        float r26881 = r26858 + r26880;
        float r26882 = 1.5056327351493116e-07;
        float r26883 = 8;
        float r26884 = r26883 + r26840;
        float r26885 = r26884 - r26854;
        float r26886 = r26882 / r26885;
        float r26887 = r26881 + r26886;
        float r26888 = r26838 * r26887;
        return r26888;
}

double f_od(double z) {
        double r26889 = atan2(1.0, 0.0);
        double r26890 = z;
        double r26891 = r26890 * r26889;
        double r26892 = sin(r26891);
        double r26893 = r26889 / r26892;
        double r26894 = 2;
        double r26895 = r26889 * r26894;
        double r26896 = sqrt(r26895);
        double r26897 = 0.5;
        double r26898 = 7;
        double r26899 = r26898 - r26890;
        double r26900 = r26897 + r26899;
        double r26901 = exp(r26900);
        double r26902 = r26896 / r26901;
        double r26903 = r26897 - r26890;
        double r26904 = pow(r26900, r26903);
        double r26905 = r26902 * r26904;
        double r26906 = sqrt(r26905);
        double r26907 = r26906 * r26906;
        double r26908 = r26893 * r26907;
        double r26909 = 771.3234287776531;
        double r26910 = 1;
        double r26911 = r26910 - r26890;
        double r26912 = 3;
        double r26913 = r26910 - r26912;
        double r26914 = r26911 - r26913;
        double r26915 = r26909 / r26914;
        double r26916 = 0.9999999999998099;
        double r26917 = r26915 + r26916;
        double r26918 = 676.5203681218851;
        double r26919 = 0;
        double r26920 = r26911 - r26919;
        double r26921 = r26918 / r26920;
        double r26922 = -1259.1392167224028;
        double r26923 = r26894 + r26910;
        double r26924 = r26910 + r26890;
        double r26925 = r26923 - r26924;
        double r26926 = r26922 / r26925;
        double r26927 = r26921 + r26926;
        double r26928 = r26917 + r26927;
        double r26929 = 12.507343278686905;
        double r26930 = 5;
        double r26931 = r26910 - r26930;
        double r26932 = r26911 - r26931;
        double r26933 = r26929 / r26932;
        double r26934 = -176.6150291621406;
        double r26935 = 4;
        double r26936 = r26910 - r26935;
        double r26937 = r26911 - r26936;
        double r26938 = r26934 / r26937;
        double r26939 = r26933 + r26938;
        double r26940 = -0.13857109526572012;
        double r26941 = 6;
        double r26942 = r26941 + r26910;
        double r26943 = r26942 - r26924;
        double r26944 = r26940 / r26943;
        double r26945 = 9.984369578019572e-06;
        double r26946 = r26898 + r26910;
        double r26947 = r26946 - r26924;
        double r26948 = r26945 / r26947;
        double r26949 = r26944 + r26948;
        double r26950 = r26939 + r26949;
        double r26951 = r26928 + r26950;
        double r26952 = 1.5056327351493116e-07;
        double r26953 = 8;
        double r26954 = r26953 + r26910;
        double r26955 = r26954 - r26924;
        double r26956 = r26952 / r26955;
        double r26957 = r26951 + r26956;
        double r26958 = r26908 * r26957;
        return r26958;
}

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 r26959, r26960, r26961, r26962, r26963, r26964, r26965, r26966, r26967, r26968, r26969, r26970, r26971, r26972, r26973, r26974, r26975, r26976, r26977, r26978, r26979, r26980, r26981, r26982, r26983, r26984, r26985, r26986, r26987, r26988, r26989, r26990, r26991, r26992, r26993, r26994, r26995, r26996, r26997, r26998, r26999, r27000, r27001, r27002, r27003, r27004, r27005, r27006, r27007, r27008, r27009, r27010, r27011, r27012, r27013, r27014, r27015, r27016, r27017, r27018;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(592);
        mpfr_init(r26959);
        mpfr_init(r26960);
        mpfr_init(r26961);
        mpfr_init(r26962);
        mpfr_init(r26963);
        mpfr_init_set_str(r26964, "2", 10, MPFR_RNDN);
        mpfr_init(r26965);
        mpfr_init(r26966);
        mpfr_init_set_str(r26967, "1", 10, MPFR_RNDN);
        mpfr_init(r26968);
        mpfr_init(r26969);
        mpfr_init_set_str(r26970, "7", 10, MPFR_RNDN);
        mpfr_init(r26971);
        mpfr_init_set_str(r26972, "0.5", 10, MPFR_RNDN);
        mpfr_init(r26973);
        mpfr_init(r26974);
        mpfr_init(r26975);
        mpfr_init(r26976);
        mpfr_init(r26977);
        mpfr_init(r26978);
        mpfr_init(r26979);
        mpfr_init_set_str(r26980, "0.9999999999998099", 10, MPFR_RNDN);
        mpfr_init_set_str(r26981, "676.5203681218851", 10, MPFR_RNDN);
        mpfr_init(r26982);
        mpfr_init(r26983);
        mpfr_init(r26984);
        mpfr_init_set_str(r26985, "-1259.1392167224028", 10, MPFR_RNDN);
        mpfr_init(r26986);
        mpfr_init(r26987);
        mpfr_init(r26988);
        mpfr_init_set_str(r26989, "771.3234287776531", 10, MPFR_RNDN);
        mpfr_init_set_str(r26990, "3", 10, MPFR_RNDN);
        mpfr_init(r26991);
        mpfr_init(r26992);
        mpfr_init(r26993);
        mpfr_init_set_str(r26994, "-176.6150291621406", 10, MPFR_RNDN);
        mpfr_init_set_str(r26995, "4", 10, MPFR_RNDN);
        mpfr_init(r26996);
        mpfr_init(r26997);
        mpfr_init(r26998);
        mpfr_init_set_str(r26999, "12.507343278686905", 10, MPFR_RNDN);
        mpfr_init_set_str(r27000, "5", 10, MPFR_RNDN);
        mpfr_init(r27001);
        mpfr_init(r27002);
        mpfr_init(r27003);
        mpfr_init_set_str(r27004, "-0.13857109526572012", 10, MPFR_RNDN);
        mpfr_init_set_str(r27005, "6", 10, MPFR_RNDN);
        mpfr_init(r27006);
        mpfr_init(r27007);
        mpfr_init(r27008);
        mpfr_init_set_str(r27009, "9.984369578019572e-06", 10, MPFR_RNDN);
        mpfr_init(r27010);
        mpfr_init(r27011);
        mpfr_init_set_str(r27012, "1.5056327351493116e-07", 10, MPFR_RNDN);
        mpfr_init_set_str(r27013, "8", 10, MPFR_RNDN);
        mpfr_init(r27014);
        mpfr_init(r27015);
        mpfr_init(r27016);
        mpfr_init(r27017);
        mpfr_init(r27018);
}

double f_im(double z) {
        mpfr_const_pi(r26959, MPFR_RNDN);
        mpfr_set_d(r26960, z, MPFR_RNDN);
        mpfr_mul(r26961, r26959, r26960, MPFR_RNDN);
        mpfr_sin(r26962, r26961, MPFR_RNDN);
        mpfr_div(r26963, r26959, r26962, MPFR_RNDN);
        ;
        mpfr_mul(r26965, r26959, r26964, MPFR_RNDN);
        mpfr_sqrt(r26966, r26965, MPFR_RNDN);
        ;
        mpfr_sub(r26968, r26967, r26960, MPFR_RNDN);
        mpfr_sub(r26969, r26968, r26967, MPFR_RNDN);
        ;
        mpfr_add(r26971, r26969, r26970, MPFR_RNDN);
        ;
        mpfr_add(r26973, r26971, r26972, MPFR_RNDN);
        mpfr_add(r26974, r26969, r26972, MPFR_RNDN);
        mpfr_pow(r26975, r26973, r26974, MPFR_RNDN);
        mpfr_mul(r26976, r26966, r26975, MPFR_RNDN);
        mpfr_neg(r26977, r26973, MPFR_RNDN);
        mpfr_exp(r26978, r26977, MPFR_RNDN);
        mpfr_mul(r26979, r26976, r26978, MPFR_RNDN);
        ;
        ;
        mpfr_add(r26982, r26969, r26967, MPFR_RNDN);
        mpfr_div(r26983, r26981, r26982, MPFR_RNDN);
        mpfr_add(r26984, r26980, r26983, MPFR_RNDN);
        ;
        mpfr_add(r26986, r26969, r26964, MPFR_RNDN);
        mpfr_div(r26987, r26985, r26986, MPFR_RNDN);
        mpfr_add(r26988, r26984, r26987, MPFR_RNDN);
        ;
        ;
        mpfr_add(r26991, r26969, r26990, MPFR_RNDN);
        mpfr_div(r26992, r26989, r26991, MPFR_RNDN);
        mpfr_add(r26993, r26988, r26992, MPFR_RNDN);
        ;
        ;
        mpfr_add(r26996, r26969, r26995, MPFR_RNDN);
        mpfr_div(r26997, r26994, r26996, MPFR_RNDN);
        mpfr_add(r26998, r26993, r26997, MPFR_RNDN);
        ;
        ;
        mpfr_add(r27001, r26969, r27000, MPFR_RNDN);
        mpfr_div(r27002, r26999, r27001, MPFR_RNDN);
        mpfr_add(r27003, r26998, r27002, MPFR_RNDN);
        ;
        ;
        mpfr_add(r27006, r26969, r27005, MPFR_RNDN);
        mpfr_div(r27007, r27004, r27006, MPFR_RNDN);
        mpfr_add(r27008, r27003, r27007, MPFR_RNDN);
        ;
        mpfr_div(r27010, r27009, r26971, MPFR_RNDN);
        mpfr_add(r27011, r27008, r27010, MPFR_RNDN);
        ;
        ;
        mpfr_add(r27014, r26969, r27013, MPFR_RNDN);
        mpfr_div(r27015, r27012, r27014, MPFR_RNDN);
        mpfr_add(r27016, r27011, r27015, MPFR_RNDN);
        mpfr_mul(r27017, r26979, r27016, MPFR_RNDN);
        mpfr_mul(r27018, r26963, r27017, MPFR_RNDN);
        return mpfr_get_d(r27018, MPFR_RNDN);
}

static mpfr_t r27019, r27020, r27021, r27022, r27023, r27024, r27025, r27026, r27027, r27028, r27029, r27030, r27031, r27032, r27033, r27034, r27035, r27036, r27037, r27038, r27039, r27040, r27041, r27042, r27043, r27044, r27045, r27046, r27047, r27048, r27049, r27050, r27051, r27052, r27053, r27054, r27055, r27056, r27057, r27058, r27059, r27060, r27061, r27062, r27063, r27064, r27065, r27066, r27067, r27068, r27069, r27070, r27071, r27072, r27073, r27074, r27075, r27076, r27077, r27078, r27079, r27080, r27081, r27082, r27083, r27084, r27085, r27086, r27087, r27088;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(592);
        mpfr_init(r27019);
        mpfr_init(r27020);
        mpfr_init(r27021);
        mpfr_init(r27022);
        mpfr_init(r27023);
        mpfr_init_set_str(r27024, "2", 10, MPFR_RNDN);
        mpfr_init(r27025);
        mpfr_init(r27026);
        mpfr_init_set_str(r27027, "0.5", 10, MPFR_RNDN);
        mpfr_init_set_str(r27028, "7", 10, MPFR_RNDN);
        mpfr_init(r27029);
        mpfr_init(r27030);
        mpfr_init(r27031);
        mpfr_init(r27032);
        mpfr_init(r27033);
        mpfr_init(r27034);
        mpfr_init(r27035);
        mpfr_init(r27036);
        mpfr_init(r27037);
        mpfr_init(r27038);
        mpfr_init_set_str(r27039, "771.3234287776531", 10, MPFR_RNDN);
        mpfr_init_set_str(r27040, "1", 10, MPFR_RNDN);
        mpfr_init(r27041);
        mpfr_init_set_str(r27042, "3", 10, MPFR_RNDN);
        mpfr_init(r27043);
        mpfr_init(r27044);
        mpfr_init(r27045);
        mpfr_init_set_str(r27046, "0.9999999999998099", 10, MPFR_RNDN);
        mpfr_init(r27047);
        mpfr_init_set_str(r27048, "676.5203681218851", 10, MPFR_RNDN);
        mpfr_init_set_str(r27049, "0", 10, MPFR_RNDN);
        mpfr_init(r27050);
        mpfr_init(r27051);
        mpfr_init_set_str(r27052, "-1259.1392167224028", 10, MPFR_RNDN);
        mpfr_init(r27053);
        mpfr_init(r27054);
        mpfr_init(r27055);
        mpfr_init(r27056);
        mpfr_init(r27057);
        mpfr_init(r27058);
        mpfr_init_set_str(r27059, "12.507343278686905", 10, MPFR_RNDN);
        mpfr_init_set_str(r27060, "5", 10, MPFR_RNDN);
        mpfr_init(r27061);
        mpfr_init(r27062);
        mpfr_init(r27063);
        mpfr_init_set_str(r27064, "-176.6150291621406", 10, MPFR_RNDN);
        mpfr_init_set_str(r27065, "4", 10, MPFR_RNDN);
        mpfr_init(r27066);
        mpfr_init(r27067);
        mpfr_init(r27068);
        mpfr_init(r27069);
        mpfr_init_set_str(r27070, "-0.13857109526572012", 10, MPFR_RNDN);
        mpfr_init_set_str(r27071, "6", 10, MPFR_RNDN);
        mpfr_init(r27072);
        mpfr_init(r27073);
        mpfr_init(r27074);
        mpfr_init_set_str(r27075, "9.984369578019572e-06", 10, MPFR_RNDN);
        mpfr_init(r27076);
        mpfr_init(r27077);
        mpfr_init(r27078);
        mpfr_init(r27079);
        mpfr_init(r27080);
        mpfr_init(r27081);
        mpfr_init_set_str(r27082, "1.5056327351493116e-07", 10, MPFR_RNDN);
        mpfr_init_set_str(r27083, "8", 10, MPFR_RNDN);
        mpfr_init(r27084);
        mpfr_init(r27085);
        mpfr_init(r27086);
        mpfr_init(r27087);
        mpfr_init(r27088);
}

double f_fm(double z) {
        mpfr_const_pi(r27019, MPFR_RNDN);
        mpfr_set_d(r27020, z, MPFR_RNDN);
        mpfr_mul(r27021, r27020, r27019, MPFR_RNDN);
        mpfr_sin(r27022, r27021, MPFR_RNDN);
        mpfr_div(r27023, r27019, r27022, MPFR_RNDN);
        ;
        mpfr_mul(r27025, r27019, r27024, MPFR_RNDN);
        mpfr_sqrt(r27026, r27025, MPFR_RNDN);
        ;
        ;
        mpfr_sub(r27029, r27028, r27020, MPFR_RNDN);
        mpfr_add(r27030, r27027, r27029, MPFR_RNDN);
        mpfr_exp(r27031, r27030, MPFR_RNDN);
        mpfr_div(r27032, r27026, r27031, MPFR_RNDN);
        mpfr_sub(r27033, r27027, r27020, MPFR_RNDN);
        mpfr_pow(r27034, r27030, r27033, MPFR_RNDN);
        mpfr_mul(r27035, r27032, r27034, MPFR_RNDN);
        mpfr_sqrt(r27036, r27035, MPFR_RNDN);
        mpfr_mul(r27037, r27036, r27036, MPFR_RNDN);
        mpfr_mul(r27038, r27023, r27037, MPFR_RNDN);
        ;
        ;
        mpfr_sub(r27041, r27040, r27020, MPFR_RNDN);
        ;
        mpfr_sub(r27043, r27040, r27042, MPFR_RNDN);
        mpfr_sub(r27044, r27041, r27043, MPFR_RNDN);
        mpfr_div(r27045, r27039, r27044, MPFR_RNDN);
        ;
        mpfr_add(r27047, r27045, r27046, MPFR_RNDN);
        ;
        ;
        mpfr_sub(r27050, r27041, r27049, MPFR_RNDN);
        mpfr_div(r27051, r27048, r27050, MPFR_RNDN);
        ;
        mpfr_add(r27053, r27024, r27040, MPFR_RNDN);
        mpfr_add(r27054, r27040, r27020, MPFR_RNDN);
        mpfr_sub(r27055, r27053, r27054, MPFR_RNDN);
        mpfr_div(r27056, r27052, r27055, MPFR_RNDN);
        mpfr_add(r27057, r27051, r27056, MPFR_RNDN);
        mpfr_add(r27058, r27047, r27057, MPFR_RNDN);
        ;
        ;
        mpfr_sub(r27061, r27040, r27060, MPFR_RNDN);
        mpfr_sub(r27062, r27041, r27061, MPFR_RNDN);
        mpfr_div(r27063, r27059, r27062, MPFR_RNDN);
        ;
        ;
        mpfr_sub(r27066, r27040, r27065, MPFR_RNDN);
        mpfr_sub(r27067, r27041, r27066, MPFR_RNDN);
        mpfr_div(r27068, r27064, r27067, MPFR_RNDN);
        mpfr_add(r27069, r27063, r27068, MPFR_RNDN);
        ;
        ;
        mpfr_add(r27072, r27071, r27040, MPFR_RNDN);
        mpfr_sub(r27073, r27072, r27054, MPFR_RNDN);
        mpfr_div(r27074, r27070, r27073, MPFR_RNDN);
        ;
        mpfr_add(r27076, r27028, r27040, MPFR_RNDN);
        mpfr_sub(r27077, r27076, r27054, MPFR_RNDN);
        mpfr_div(r27078, r27075, r27077, MPFR_RNDN);
        mpfr_add(r27079, r27074, r27078, MPFR_RNDN);
        mpfr_add(r27080, r27069, r27079, MPFR_RNDN);
        mpfr_add(r27081, r27058, r27080, MPFR_RNDN);
        ;
        ;
        mpfr_add(r27084, r27083, r27040, MPFR_RNDN);
        mpfr_sub(r27085, r27084, r27054, MPFR_RNDN);
        mpfr_div(r27086, r27082, r27085, MPFR_RNDN);
        mpfr_add(r27087, r27081, r27086, MPFR_RNDN);
        mpfr_mul(r27088, r27038, r27087, MPFR_RNDN);
        return mpfr_get_d(r27088, MPFR_RNDN);
}

static mpfr_t r27089, r27090, r27091, r27092, r27093, r27094, r27095, r27096, r27097, r27098, r27099, r27100, r27101, r27102, r27103, r27104, r27105, r27106, r27107, r27108, r27109, r27110, r27111, r27112, r27113, r27114, r27115, r27116, r27117, r27118, r27119, r27120, r27121, r27122, r27123, r27124, r27125, r27126, r27127, r27128, r27129, r27130, r27131, r27132, r27133, r27134, r27135, r27136, r27137, r27138, r27139, r27140, r27141, r27142, r27143, r27144, r27145, r27146, r27147, r27148, r27149, r27150, r27151, r27152, r27153, r27154, r27155, r27156, r27157, r27158;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(592);
        mpfr_init(r27089);
        mpfr_init(r27090);
        mpfr_init(r27091);
        mpfr_init(r27092);
        mpfr_init(r27093);
        mpfr_init_set_str(r27094, "2", 10, MPFR_RNDN);
        mpfr_init(r27095);
        mpfr_init(r27096);
        mpfr_init_set_str(r27097, "0.5", 10, MPFR_RNDN);
        mpfr_init_set_str(r27098, "7", 10, MPFR_RNDN);
        mpfr_init(r27099);
        mpfr_init(r27100);
        mpfr_init(r27101);
        mpfr_init(r27102);
        mpfr_init(r27103);
        mpfr_init(r27104);
        mpfr_init(r27105);
        mpfr_init(r27106);
        mpfr_init(r27107);
        mpfr_init(r27108);
        mpfr_init_set_str(r27109, "771.3234287776531", 10, MPFR_RNDN);
        mpfr_init_set_str(r27110, "1", 10, MPFR_RNDN);
        mpfr_init(r27111);
        mpfr_init_set_str(r27112, "3", 10, MPFR_RNDN);
        mpfr_init(r27113);
        mpfr_init(r27114);
        mpfr_init(r27115);
        mpfr_init_set_str(r27116, "0.9999999999998099", 10, MPFR_RNDN);
        mpfr_init(r27117);
        mpfr_init_set_str(r27118, "676.5203681218851", 10, MPFR_RNDN);
        mpfr_init_set_str(r27119, "0", 10, MPFR_RNDN);
        mpfr_init(r27120);
        mpfr_init(r27121);
        mpfr_init_set_str(r27122, "-1259.1392167224028", 10, MPFR_RNDN);
        mpfr_init(r27123);
        mpfr_init(r27124);
        mpfr_init(r27125);
        mpfr_init(r27126);
        mpfr_init(r27127);
        mpfr_init(r27128);
        mpfr_init_set_str(r27129, "12.507343278686905", 10, MPFR_RNDN);
        mpfr_init_set_str(r27130, "5", 10, MPFR_RNDN);
        mpfr_init(r27131);
        mpfr_init(r27132);
        mpfr_init(r27133);
        mpfr_init_set_str(r27134, "-176.6150291621406", 10, MPFR_RNDN);
        mpfr_init_set_str(r27135, "4", 10, MPFR_RNDN);
        mpfr_init(r27136);
        mpfr_init(r27137);
        mpfr_init(r27138);
        mpfr_init(r27139);
        mpfr_init_set_str(r27140, "-0.13857109526572012", 10, MPFR_RNDN);
        mpfr_init_set_str(r27141, "6", 10, MPFR_RNDN);
        mpfr_init(r27142);
        mpfr_init(r27143);
        mpfr_init(r27144);
        mpfr_init_set_str(r27145, "9.984369578019572e-06", 10, MPFR_RNDN);
        mpfr_init(r27146);
        mpfr_init(r27147);
        mpfr_init(r27148);
        mpfr_init(r27149);
        mpfr_init(r27150);
        mpfr_init(r27151);
        mpfr_init_set_str(r27152, "1.5056327351493116e-07", 10, MPFR_RNDN);
        mpfr_init_set_str(r27153, "8", 10, MPFR_RNDN);
        mpfr_init(r27154);
        mpfr_init(r27155);
        mpfr_init(r27156);
        mpfr_init(r27157);
        mpfr_init(r27158);
}

double f_dm(double z) {
        mpfr_const_pi(r27089, MPFR_RNDN);
        mpfr_set_d(r27090, z, MPFR_RNDN);
        mpfr_mul(r27091, r27090, r27089, MPFR_RNDN);
        mpfr_sin(r27092, r27091, MPFR_RNDN);
        mpfr_div(r27093, r27089, r27092, MPFR_RNDN);
        ;
        mpfr_mul(r27095, r27089, r27094, MPFR_RNDN);
        mpfr_sqrt(r27096, r27095, MPFR_RNDN);
        ;
        ;
        mpfr_sub(r27099, r27098, r27090, MPFR_RNDN);
        mpfr_add(r27100, r27097, r27099, MPFR_RNDN);
        mpfr_exp(r27101, r27100, MPFR_RNDN);
        mpfr_div(r27102, r27096, r27101, MPFR_RNDN);
        mpfr_sub(r27103, r27097, r27090, MPFR_RNDN);
        mpfr_pow(r27104, r27100, r27103, MPFR_RNDN);
        mpfr_mul(r27105, r27102, r27104, MPFR_RNDN);
        mpfr_sqrt(r27106, r27105, MPFR_RNDN);
        mpfr_mul(r27107, r27106, r27106, MPFR_RNDN);
        mpfr_mul(r27108, r27093, r27107, MPFR_RNDN);
        ;
        ;
        mpfr_sub(r27111, r27110, r27090, MPFR_RNDN);
        ;
        mpfr_sub(r27113, r27110, r27112, MPFR_RNDN);
        mpfr_sub(r27114, r27111, r27113, MPFR_RNDN);
        mpfr_div(r27115, r27109, r27114, MPFR_RNDN);
        ;
        mpfr_add(r27117, r27115, r27116, MPFR_RNDN);
        ;
        ;
        mpfr_sub(r27120, r27111, r27119, MPFR_RNDN);
        mpfr_div(r27121, r27118, r27120, MPFR_RNDN);
        ;
        mpfr_add(r27123, r27094, r27110, MPFR_RNDN);
        mpfr_add(r27124, r27110, r27090, MPFR_RNDN);
        mpfr_sub(r27125, r27123, r27124, MPFR_RNDN);
        mpfr_div(r27126, r27122, r27125, MPFR_RNDN);
        mpfr_add(r27127, r27121, r27126, MPFR_RNDN);
        mpfr_add(r27128, r27117, r27127, MPFR_RNDN);
        ;
        ;
        mpfr_sub(r27131, r27110, r27130, MPFR_RNDN);
        mpfr_sub(r27132, r27111, r27131, MPFR_RNDN);
        mpfr_div(r27133, r27129, r27132, MPFR_RNDN);
        ;
        ;
        mpfr_sub(r27136, r27110, r27135, MPFR_RNDN);
        mpfr_sub(r27137, r27111, r27136, MPFR_RNDN);
        mpfr_div(r27138, r27134, r27137, MPFR_RNDN);
        mpfr_add(r27139, r27133, r27138, MPFR_RNDN);
        ;
        ;
        mpfr_add(r27142, r27141, r27110, MPFR_RNDN);
        mpfr_sub(r27143, r27142, r27124, MPFR_RNDN);
        mpfr_div(r27144, r27140, r27143, MPFR_RNDN);
        ;
        mpfr_add(r27146, r27098, r27110, MPFR_RNDN);
        mpfr_sub(r27147, r27146, r27124, MPFR_RNDN);
        mpfr_div(r27148, r27145, r27147, MPFR_RNDN);
        mpfr_add(r27149, r27144, r27148, MPFR_RNDN);
        mpfr_add(r27150, r27139, r27149, MPFR_RNDN);
        mpfr_add(r27151, r27128, r27150, MPFR_RNDN);
        ;
        ;
        mpfr_add(r27154, r27153, r27110, MPFR_RNDN);
        mpfr_sub(r27155, r27154, r27124, MPFR_RNDN);
        mpfr_div(r27156, r27152, r27155, MPFR_RNDN);
        mpfr_add(r27157, r27151, r27156, MPFR_RNDN);
        mpfr_mul(r27158, r27108, r27157, MPFR_RNDN);
        return mpfr_get_d(r27158, MPFR_RNDN);
}

