#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 r10742 = atan2(1.0, 0.0);
        float r10743 = z;
        float r10744 = r10742 * r10743;
        float r10745 = sin(r10744);
        float r10746 = r10742 / r10745;
        float r10747 = 2;
        float r10748 = r10742 * r10747;
        float r10749 = sqrt(r10748);
        float r10750 = 1;
        float r10751 = r10750 - r10743;
        float r10752 = r10751 - r10750;
        float r10753 = 7;
        float r10754 = r10752 + r10753;
        float r10755 = 0.5;
        float r10756 = r10754 + r10755;
        float r10757 = r10752 + r10755;
        float r10758 = pow(r10756, r10757);
        float r10759 = r10749 * r10758;
        float r10760 = -r10756;
        float r10761 = exp(r10760);
        float r10762 = r10759 * r10761;
        float r10763 = 0.9999999999998099;
        float r10764 = 676.5203681218851;
        float r10765 = r10752 + r10750;
        float r10766 = r10764 / r10765;
        float r10767 = r10763 + r10766;
        float r10768 = -1259.1392167224028;
        float r10769 = r10752 + r10747;
        float r10770 = r10768 / r10769;
        float r10771 = r10767 + r10770;
        float r10772 = 771.3234287776531;
        float r10773 = 3;
        float r10774 = r10752 + r10773;
        float r10775 = r10772 / r10774;
        float r10776 = r10771 + r10775;
        float r10777 = -176.6150291621406;
        float r10778 = 4;
        float r10779 = r10752 + r10778;
        float r10780 = r10777 / r10779;
        float r10781 = r10776 + r10780;
        float r10782 = 12.507343278686905;
        float r10783 = 5;
        float r10784 = r10752 + r10783;
        float r10785 = r10782 / r10784;
        float r10786 = r10781 + r10785;
        float r10787 = -0.13857109526572012;
        float r10788 = 6;
        float r10789 = r10752 + r10788;
        float r10790 = r10787 / r10789;
        float r10791 = r10786 + r10790;
        float r10792 = 9.984369578019572e-06;
        float r10793 = r10792 / r10754;
        float r10794 = r10791 + r10793;
        float r10795 = 1.5056327351493116e-07;
        float r10796 = 8;
        float r10797 = r10752 + r10796;
        float r10798 = r10795 / r10797;
        float r10799 = r10794 + r10798;
        float r10800 = r10762 * r10799;
        float r10801 = r10746 * r10800;
        return r10801;
}

double f_id(double z) {
        double r10802 = atan2(1.0, 0.0);
        double r10803 = z;
        double r10804 = r10802 * r10803;
        double r10805 = sin(r10804);
        double r10806 = r10802 / r10805;
        double r10807 = 2;
        double r10808 = r10802 * r10807;
        double r10809 = sqrt(r10808);
        double r10810 = 1;
        double r10811 = r10810 - r10803;
        double r10812 = r10811 - r10810;
        double r10813 = 7;
        double r10814 = r10812 + r10813;
        double r10815 = 0.5;
        double r10816 = r10814 + r10815;
        double r10817 = r10812 + r10815;
        double r10818 = pow(r10816, r10817);
        double r10819 = r10809 * r10818;
        double r10820 = -r10816;
        double r10821 = exp(r10820);
        double r10822 = r10819 * r10821;
        double r10823 = 0.9999999999998099;
        double r10824 = 676.5203681218851;
        double r10825 = r10812 + r10810;
        double r10826 = r10824 / r10825;
        double r10827 = r10823 + r10826;
        double r10828 = -1259.1392167224028;
        double r10829 = r10812 + r10807;
        double r10830 = r10828 / r10829;
        double r10831 = r10827 + r10830;
        double r10832 = 771.3234287776531;
        double r10833 = 3;
        double r10834 = r10812 + r10833;
        double r10835 = r10832 / r10834;
        double r10836 = r10831 + r10835;
        double r10837 = -176.6150291621406;
        double r10838 = 4;
        double r10839 = r10812 + r10838;
        double r10840 = r10837 / r10839;
        double r10841 = r10836 + r10840;
        double r10842 = 12.507343278686905;
        double r10843 = 5;
        double r10844 = r10812 + r10843;
        double r10845 = r10842 / r10844;
        double r10846 = r10841 + r10845;
        double r10847 = -0.13857109526572012;
        double r10848 = 6;
        double r10849 = r10812 + r10848;
        double r10850 = r10847 / r10849;
        double r10851 = r10846 + r10850;
        double r10852 = 9.984369578019572e-06;
        double r10853 = r10852 / r10814;
        double r10854 = r10851 + r10853;
        double r10855 = 1.5056327351493116e-07;
        double r10856 = 8;
        double r10857 = r10812 + r10856;
        double r10858 = r10855 / r10857;
        double r10859 = r10854 + r10858;
        double r10860 = r10822 * r10859;
        double r10861 = r10806 * r10860;
        return r10861;
}


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

double f_od(double z) {
        double r10937 = atan2(1.0, 0.0);
        double r10938 = z;
        double r10939 = r10938 * r10937;
        double r10940 = sin(r10939);
        double r10941 = r10937 / r10940;
        double r10942 = 7;
        double r10943 = 1;
        double r10944 = 0.5;
        double r10945 = r10943 + r10944;
        double r10946 = r10938 + r10943;
        double r10947 = r10945 - r10946;
        double r10948 = r10942 + r10947;
        double r10949 = exp(r10948);
        double r10950 = r10941 / r10949;
        double r10951 = 2;
        double r10952 = r10937 * r10951;
        double r10953 = sqrt(r10952);
        double r10954 = r10944 + r10942;
        double r10955 = r10954 - r10938;
        double r10956 = pow(r10955, r10947);
        double r10957 = r10953 * r10956;
        double r10958 = r10950 * r10957;
        double r10959 = -1259.1392167224028;
        double r10960 = r10943 - r10938;
        double r10961 = r10943 - r10951;
        double r10962 = r10960 - r10961;
        double r10963 = r10959 / r10962;
        double r10964 = 676.5203681218851;
        double r10965 = r10964 / r10960;
        double r10966 = r10963 + r10965;
        double r10967 = 0.9999999999998099;
        double r10968 = 3;
        double r10969 = pow(r10967, r10968);
        double r10970 = 771.3234287776531;
        double r10971 = r10968 - r10938;
        double r10972 = r10970 / r10971;
        double r10973 = pow(r10972, r10968);
        double r10974 = r10969 + r10973;
        double r10975 = r10967 * r10967;
        double r10976 = r10972 * r10972;
        double r10977 = r10967 * r10972;
        double r10978 = r10976 - r10977;
        double r10979 = r10975 + r10978;
        double r10980 = r10974 / r10979;
        double r10981 = -176.6150291621406;
        double r10982 = 4;
        double r10983 = r10943 + r10982;
        double r10984 = r10983 - r10946;
        double r10985 = r10981 / r10984;
        double r10986 = r10980 + r10985;
        double r10987 = r10966 + r10986;
        double r10988 = -0.13857109526572012;
        double r10989 = 6;
        double r10990 = r10943 - r10989;
        double r10991 = r10960 - r10990;
        double r10992 = r10988 / r10991;
        double r10993 = 12.507343278686905;
        double r10994 = 5;
        double r10995 = r10943 - r10994;
        double r10996 = r10960 - r10995;
        double r10997 = r10993 / r10996;
        double r10998 = r10992 + r10997;
        double r10999 = 9.984369578019572e-06;
        double r11000 = r10943 - r10942;
        double r11001 = r10960 - r11000;
        double r11002 = r10999 / r11001;
        double r11003 = 1.5056327351493116e-07;
        double r11004 = 8;
        double r11005 = r10943 + r11004;
        double r11006 = r11005 - r10946;
        double r11007 = r11003 / r11006;
        double r11008 = r11002 + r11007;
        double r11009 = r10998 + r11008;
        double r11010 = r10987 + r11009;
        double r11011 = r10958 * r11010;
        return r11011;
}

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 r11012, r11013, r11014, r11015, r11016, r11017, r11018, r11019, r11020, r11021, r11022, r11023, r11024, r11025, r11026, r11027, r11028, r11029, r11030, r11031, r11032, r11033, r11034, r11035, r11036, r11037, r11038, r11039, r11040, r11041, r11042, r11043, r11044, r11045, r11046, r11047, r11048, r11049, r11050, r11051, r11052, r11053, r11054, r11055, r11056, r11057, r11058, r11059, r11060, r11061, r11062, r11063, r11064, r11065, r11066, r11067, r11068, r11069, r11070, r11071;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(592);
        mpfr_init(r11012);
        mpfr_init(r11013);
        mpfr_init(r11014);
        mpfr_init(r11015);
        mpfr_init(r11016);
        mpfr_init_set_str(r11017, "2", 10, MPFR_RNDN);
        mpfr_init(r11018);
        mpfr_init(r11019);
        mpfr_init_set_str(r11020, "1", 10, MPFR_RNDN);
        mpfr_init(r11021);
        mpfr_init(r11022);
        mpfr_init_set_str(r11023, "7", 10, MPFR_RNDN);
        mpfr_init(r11024);
        mpfr_init_set_str(r11025, "0.5", 10, MPFR_RNDN);
        mpfr_init(r11026);
        mpfr_init(r11027);
        mpfr_init(r11028);
        mpfr_init(r11029);
        mpfr_init(r11030);
        mpfr_init(r11031);
        mpfr_init(r11032);
        mpfr_init_set_str(r11033, "0.9999999999998099", 10, MPFR_RNDN);
        mpfr_init_set_str(r11034, "676.5203681218851", 10, MPFR_RNDN);
        mpfr_init(r11035);
        mpfr_init(r11036);
        mpfr_init(r11037);
        mpfr_init_set_str(r11038, "-1259.1392167224028", 10, MPFR_RNDN);
        mpfr_init(r11039);
        mpfr_init(r11040);
        mpfr_init(r11041);
        mpfr_init_set_str(r11042, "771.3234287776531", 10, MPFR_RNDN);
        mpfr_init_set_str(r11043, "3", 10, MPFR_RNDN);
        mpfr_init(r11044);
        mpfr_init(r11045);
        mpfr_init(r11046);
        mpfr_init_set_str(r11047, "-176.6150291621406", 10, MPFR_RNDN);
        mpfr_init_set_str(r11048, "4", 10, MPFR_RNDN);
        mpfr_init(r11049);
        mpfr_init(r11050);
        mpfr_init(r11051);
        mpfr_init_set_str(r11052, "12.507343278686905", 10, MPFR_RNDN);
        mpfr_init_set_str(r11053, "5", 10, MPFR_RNDN);
        mpfr_init(r11054);
        mpfr_init(r11055);
        mpfr_init(r11056);
        mpfr_init_set_str(r11057, "-0.13857109526572012", 10, MPFR_RNDN);
        mpfr_init_set_str(r11058, "6", 10, MPFR_RNDN);
        mpfr_init(r11059);
        mpfr_init(r11060);
        mpfr_init(r11061);
        mpfr_init_set_str(r11062, "9.984369578019572e-06", 10, MPFR_RNDN);
        mpfr_init(r11063);
        mpfr_init(r11064);
        mpfr_init_set_str(r11065, "1.5056327351493116e-07", 10, MPFR_RNDN);
        mpfr_init_set_str(r11066, "8", 10, MPFR_RNDN);
        mpfr_init(r11067);
        mpfr_init(r11068);
        mpfr_init(r11069);
        mpfr_init(r11070);
        mpfr_init(r11071);
}

double f_im(double z) {
        mpfr_const_pi(r11012, MPFR_RNDN);
        mpfr_set_d(r11013, z, MPFR_RNDN);
        mpfr_mul(r11014, r11012, r11013, MPFR_RNDN);
        mpfr_sin(r11015, r11014, MPFR_RNDN);
        mpfr_div(r11016, r11012, r11015, MPFR_RNDN);
        ;
        mpfr_mul(r11018, r11012, r11017, MPFR_RNDN);
        mpfr_sqrt(r11019, r11018, MPFR_RNDN);
        ;
        mpfr_sub(r11021, r11020, r11013, MPFR_RNDN);
        mpfr_sub(r11022, r11021, r11020, MPFR_RNDN);
        ;
        mpfr_add(r11024, r11022, r11023, MPFR_RNDN);
        ;
        mpfr_add(r11026, r11024, r11025, MPFR_RNDN);
        mpfr_add(r11027, r11022, r11025, MPFR_RNDN);
        mpfr_pow(r11028, r11026, r11027, MPFR_RNDN);
        mpfr_mul(r11029, r11019, r11028, MPFR_RNDN);
        mpfr_neg(r11030, r11026, MPFR_RNDN);
        mpfr_exp(r11031, r11030, MPFR_RNDN);
        mpfr_mul(r11032, r11029, r11031, MPFR_RNDN);
        ;
        ;
        mpfr_add(r11035, r11022, r11020, MPFR_RNDN);
        mpfr_div(r11036, r11034, r11035, MPFR_RNDN);
        mpfr_add(r11037, r11033, r11036, MPFR_RNDN);
        ;
        mpfr_add(r11039, r11022, r11017, MPFR_RNDN);
        mpfr_div(r11040, r11038, r11039, MPFR_RNDN);
        mpfr_add(r11041, r11037, r11040, MPFR_RNDN);
        ;
        ;
        mpfr_add(r11044, r11022, r11043, MPFR_RNDN);
        mpfr_div(r11045, r11042, r11044, MPFR_RNDN);
        mpfr_add(r11046, r11041, r11045, MPFR_RNDN);
        ;
        ;
        mpfr_add(r11049, r11022, r11048, MPFR_RNDN);
        mpfr_div(r11050, r11047, r11049, MPFR_RNDN);
        mpfr_add(r11051, r11046, r11050, MPFR_RNDN);
        ;
        ;
        mpfr_add(r11054, r11022, r11053, MPFR_RNDN);
        mpfr_div(r11055, r11052, r11054, MPFR_RNDN);
        mpfr_add(r11056, r11051, r11055, MPFR_RNDN);
        ;
        ;
        mpfr_add(r11059, r11022, r11058, MPFR_RNDN);
        mpfr_div(r11060, r11057, r11059, MPFR_RNDN);
        mpfr_add(r11061, r11056, r11060, MPFR_RNDN);
        ;
        mpfr_div(r11063, r11062, r11024, MPFR_RNDN);
        mpfr_add(r11064, r11061, r11063, MPFR_RNDN);
        ;
        ;
        mpfr_add(r11067, r11022, r11066, MPFR_RNDN);
        mpfr_div(r11068, r11065, r11067, MPFR_RNDN);
        mpfr_add(r11069, r11064, r11068, MPFR_RNDN);
        mpfr_mul(r11070, r11032, r11069, MPFR_RNDN);
        mpfr_mul(r11071, r11016, r11070, MPFR_RNDN);
        return mpfr_get_d(r11071, MPFR_RNDN);
}

static mpfr_t r11072, r11073, r11074, r11075, r11076, r11077, r11078, r11079, r11080, r11081, r11082, r11083, r11084, r11085, r11086, r11087, r11088, r11089, r11090, r11091, r11092, r11093, r11094, r11095, r11096, r11097, r11098, r11099, r11100, r11101, r11102, r11103, r11104, r11105, r11106, r11107, r11108, r11109, r11110, r11111, r11112, r11113, r11114, r11115, r11116, r11117, r11118, r11119, r11120, r11121, r11122, r11123, r11124, r11125, r11126, r11127, r11128, r11129, r11130, r11131, r11132, r11133, r11134, r11135, r11136, r11137, r11138, r11139, r11140, r11141, r11142, r11143, r11144, r11145, r11146;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(592);
        mpfr_init(r11072);
        mpfr_init(r11073);
        mpfr_init(r11074);
        mpfr_init(r11075);
        mpfr_init(r11076);
        mpfr_init_set_str(r11077, "7", 10, MPFR_RNDN);
        mpfr_init_set_str(r11078, "1", 10, MPFR_RNDN);
        mpfr_init_set_str(r11079, "0.5", 10, MPFR_RNDN);
        mpfr_init(r11080);
        mpfr_init(r11081);
        mpfr_init(r11082);
        mpfr_init(r11083);
        mpfr_init(r11084);
        mpfr_init(r11085);
        mpfr_init_set_str(r11086, "2", 10, MPFR_RNDN);
        mpfr_init(r11087);
        mpfr_init(r11088);
        mpfr_init(r11089);
        mpfr_init(r11090);
        mpfr_init(r11091);
        mpfr_init(r11092);
        mpfr_init(r11093);
        mpfr_init_set_str(r11094, "-1259.1392167224028", 10, MPFR_RNDN);
        mpfr_init(r11095);
        mpfr_init(r11096);
        mpfr_init(r11097);
        mpfr_init(r11098);
        mpfr_init_set_str(r11099, "676.5203681218851", 10, MPFR_RNDN);
        mpfr_init(r11100);
        mpfr_init(r11101);
        mpfr_init_set_str(r11102, "0.9999999999998099", 10, MPFR_RNDN);
        mpfr_init_set_str(r11103, "3", 10, MPFR_RNDN);
        mpfr_init(r11104);
        mpfr_init_set_str(r11105, "771.3234287776531", 10, MPFR_RNDN);
        mpfr_init(r11106);
        mpfr_init(r11107);
        mpfr_init(r11108);
        mpfr_init(r11109);
        mpfr_init(r11110);
        mpfr_init(r11111);
        mpfr_init(r11112);
        mpfr_init(r11113);
        mpfr_init(r11114);
        mpfr_init(r11115);
        mpfr_init_set_str(r11116, "-176.6150291621406", 10, MPFR_RNDN);
        mpfr_init_set_str(r11117, "4", 10, MPFR_RNDN);
        mpfr_init(r11118);
        mpfr_init(r11119);
        mpfr_init(r11120);
        mpfr_init(r11121);
        mpfr_init(r11122);
        mpfr_init_set_str(r11123, "-0.13857109526572012", 10, MPFR_RNDN);
        mpfr_init_set_str(r11124, "6", 10, MPFR_RNDN);
        mpfr_init(r11125);
        mpfr_init(r11126);
        mpfr_init(r11127);
        mpfr_init_set_str(r11128, "12.507343278686905", 10, MPFR_RNDN);
        mpfr_init_set_str(r11129, "5", 10, MPFR_RNDN);
        mpfr_init(r11130);
        mpfr_init(r11131);
        mpfr_init(r11132);
        mpfr_init(r11133);
        mpfr_init_set_str(r11134, "9.984369578019572e-06", 10, MPFR_RNDN);
        mpfr_init(r11135);
        mpfr_init(r11136);
        mpfr_init(r11137);
        mpfr_init_set_str(r11138, "1.5056327351493116e-07", 10, MPFR_RNDN);
        mpfr_init_set_str(r11139, "8", 10, MPFR_RNDN);
        mpfr_init(r11140);
        mpfr_init(r11141);
        mpfr_init(r11142);
        mpfr_init(r11143);
        mpfr_init(r11144);
        mpfr_init(r11145);
        mpfr_init(r11146);
}

double f_fm(double z) {
        mpfr_const_pi(r11072, MPFR_RNDN);
        mpfr_set_d(r11073, z, MPFR_RNDN);
        mpfr_mul(r11074, r11073, r11072, MPFR_RNDN);
        mpfr_sin(r11075, r11074, MPFR_RNDN);
        mpfr_div(r11076, r11072, r11075, MPFR_RNDN);
        ;
        ;
        ;
        mpfr_add(r11080, r11078, r11079, MPFR_RNDN);
        mpfr_add(r11081, r11073, r11078, MPFR_RNDN);
        mpfr_sub(r11082, r11080, r11081, MPFR_RNDN);
        mpfr_add(r11083, r11077, r11082, MPFR_RNDN);
        mpfr_exp(r11084, r11083, MPFR_RNDN);
        mpfr_div(r11085, r11076, r11084, MPFR_RNDN);
        ;
        mpfr_mul(r11087, r11072, r11086, MPFR_RNDN);
        mpfr_sqrt(r11088, r11087, MPFR_RNDN);
        mpfr_add(r11089, r11079, r11077, MPFR_RNDN);
        mpfr_sub(r11090, r11089, r11073, MPFR_RNDN);
        mpfr_pow(r11091, r11090, r11082, MPFR_RNDN);
        mpfr_mul(r11092, r11088, r11091, MPFR_RNDN);
        mpfr_mul(r11093, r11085, r11092, MPFR_RNDN);
        ;
        mpfr_sub(r11095, r11078, r11073, MPFR_RNDN);
        mpfr_sub(r11096, r11078, r11086, MPFR_RNDN);
        mpfr_sub(r11097, r11095, r11096, MPFR_RNDN);
        mpfr_div(r11098, r11094, r11097, MPFR_RNDN);
        ;
        mpfr_div(r11100, r11099, r11095, MPFR_RNDN);
        mpfr_add(r11101, r11098, r11100, MPFR_RNDN);
        ;
        ;
        mpfr_pow(r11104, r11102, r11103, MPFR_RNDN);
        ;
        mpfr_sub(r11106, r11103, r11073, MPFR_RNDN);
        mpfr_div(r11107, r11105, r11106, MPFR_RNDN);
        mpfr_pow(r11108, r11107, r11103, MPFR_RNDN);
        mpfr_add(r11109, r11104, r11108, MPFR_RNDN);
        mpfr_mul(r11110, r11102, r11102, MPFR_RNDN);
        mpfr_mul(r11111, r11107, r11107, MPFR_RNDN);
        mpfr_mul(r11112, r11102, r11107, MPFR_RNDN);
        mpfr_sub(r11113, r11111, r11112, MPFR_RNDN);
        mpfr_add(r11114, r11110, r11113, MPFR_RNDN);
        mpfr_div(r11115, r11109, r11114, MPFR_RNDN);
        ;
        ;
        mpfr_add(r11118, r11078, r11117, MPFR_RNDN);
        mpfr_sub(r11119, r11118, r11081, MPFR_RNDN);
        mpfr_div(r11120, r11116, r11119, MPFR_RNDN);
        mpfr_add(r11121, r11115, r11120, MPFR_RNDN);
        mpfr_add(r11122, r11101, r11121, MPFR_RNDN);
        ;
        ;
        mpfr_sub(r11125, r11078, r11124, MPFR_RNDN);
        mpfr_sub(r11126, r11095, r11125, MPFR_RNDN);
        mpfr_div(r11127, r11123, r11126, MPFR_RNDN);
        ;
        ;
        mpfr_sub(r11130, r11078, r11129, MPFR_RNDN);
        mpfr_sub(r11131, r11095, r11130, MPFR_RNDN);
        mpfr_div(r11132, r11128, r11131, MPFR_RNDN);
        mpfr_add(r11133, r11127, r11132, MPFR_RNDN);
        ;
        mpfr_sub(r11135, r11078, r11077, MPFR_RNDN);
        mpfr_sub(r11136, r11095, r11135, MPFR_RNDN);
        mpfr_div(r11137, r11134, r11136, MPFR_RNDN);
        ;
        ;
        mpfr_add(r11140, r11078, r11139, MPFR_RNDN);
        mpfr_sub(r11141, r11140, r11081, MPFR_RNDN);
        mpfr_div(r11142, r11138, r11141, MPFR_RNDN);
        mpfr_add(r11143, r11137, r11142, MPFR_RNDN);
        mpfr_add(r11144, r11133, r11143, MPFR_RNDN);
        mpfr_add(r11145, r11122, r11144, MPFR_RNDN);
        mpfr_mul(r11146, r11093, r11145, MPFR_RNDN);
        return mpfr_get_d(r11146, MPFR_RNDN);
}

static mpfr_t 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, r11203, r11204, r11205, r11206, r11207, r11208, r11209, r11210, r11211, r11212, r11213, r11214, r11215, r11216, r11217, r11218, r11219, r11220, r11221;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(592);
        mpfr_init(r11147);
        mpfr_init(r11148);
        mpfr_init(r11149);
        mpfr_init(r11150);
        mpfr_init(r11151);
        mpfr_init_set_str(r11152, "7", 10, MPFR_RNDN);
        mpfr_init_set_str(r11153, "1", 10, MPFR_RNDN);
        mpfr_init_set_str(r11154, "0.5", 10, MPFR_RNDN);
        mpfr_init(r11155);
        mpfr_init(r11156);
        mpfr_init(r11157);
        mpfr_init(r11158);
        mpfr_init(r11159);
        mpfr_init(r11160);
        mpfr_init_set_str(r11161, "2", 10, MPFR_RNDN);
        mpfr_init(r11162);
        mpfr_init(r11163);
        mpfr_init(r11164);
        mpfr_init(r11165);
        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(r11173);
        mpfr_init_set_str(r11174, "676.5203681218851", 10, MPFR_RNDN);
        mpfr_init(r11175);
        mpfr_init(r11176);
        mpfr_init_set_str(r11177, "0.9999999999998099", 10, MPFR_RNDN);
        mpfr_init_set_str(r11178, "3", 10, MPFR_RNDN);
        mpfr_init(r11179);
        mpfr_init_set_str(r11180, "771.3234287776531", 10, MPFR_RNDN);
        mpfr_init(r11181);
        mpfr_init(r11182);
        mpfr_init(r11183);
        mpfr_init(r11184);
        mpfr_init(r11185);
        mpfr_init(r11186);
        mpfr_init(r11187);
        mpfr_init(r11188);
        mpfr_init(r11189);
        mpfr_init(r11190);
        mpfr_init_set_str(r11191, "-176.6150291621406", 10, MPFR_RNDN);
        mpfr_init_set_str(r11192, "4", 10, MPFR_RNDN);
        mpfr_init(r11193);
        mpfr_init(r11194);
        mpfr_init(r11195);
        mpfr_init(r11196);
        mpfr_init(r11197);
        mpfr_init_set_str(r11198, "-0.13857109526572012", 10, MPFR_RNDN);
        mpfr_init_set_str(r11199, "6", 10, MPFR_RNDN);
        mpfr_init(r11200);
        mpfr_init(r11201);
        mpfr_init(r11202);
        mpfr_init_set_str(r11203, "12.507343278686905", 10, MPFR_RNDN);
        mpfr_init_set_str(r11204, "5", 10, MPFR_RNDN);
        mpfr_init(r11205);
        mpfr_init(r11206);
        mpfr_init(r11207);
        mpfr_init(r11208);
        mpfr_init_set_str(r11209, "9.984369578019572e-06", 10, MPFR_RNDN);
        mpfr_init(r11210);
        mpfr_init(r11211);
        mpfr_init(r11212);
        mpfr_init_set_str(r11213, "1.5056327351493116e-07", 10, MPFR_RNDN);
        mpfr_init_set_str(r11214, "8", 10, MPFR_RNDN);
        mpfr_init(r11215);
        mpfr_init(r11216);
        mpfr_init(r11217);
        mpfr_init(r11218);
        mpfr_init(r11219);
        mpfr_init(r11220);
        mpfr_init(r11221);
}

double f_dm(double z) {
        mpfr_const_pi(r11147, MPFR_RNDN);
        mpfr_set_d(r11148, z, MPFR_RNDN);
        mpfr_mul(r11149, r11148, r11147, MPFR_RNDN);
        mpfr_sin(r11150, r11149, MPFR_RNDN);
        mpfr_div(r11151, r11147, r11150, MPFR_RNDN);
        ;
        ;
        ;
        mpfr_add(r11155, r11153, r11154, MPFR_RNDN);
        mpfr_add(r11156, r11148, r11153, MPFR_RNDN);
        mpfr_sub(r11157, r11155, r11156, MPFR_RNDN);
        mpfr_add(r11158, r11152, r11157, MPFR_RNDN);
        mpfr_exp(r11159, r11158, MPFR_RNDN);
        mpfr_div(r11160, r11151, r11159, MPFR_RNDN);
        ;
        mpfr_mul(r11162, r11147, r11161, MPFR_RNDN);
        mpfr_sqrt(r11163, r11162, MPFR_RNDN);
        mpfr_add(r11164, r11154, r11152, MPFR_RNDN);
        mpfr_sub(r11165, r11164, r11148, MPFR_RNDN);
        mpfr_pow(r11166, r11165, r11157, MPFR_RNDN);
        mpfr_mul(r11167, r11163, r11166, MPFR_RNDN);
        mpfr_mul(r11168, r11160, r11167, MPFR_RNDN);
        ;
        mpfr_sub(r11170, r11153, r11148, MPFR_RNDN);
        mpfr_sub(r11171, r11153, r11161, MPFR_RNDN);
        mpfr_sub(r11172, r11170, r11171, MPFR_RNDN);
        mpfr_div(r11173, r11169, r11172, MPFR_RNDN);
        ;
        mpfr_div(r11175, r11174, r11170, MPFR_RNDN);
        mpfr_add(r11176, r11173, r11175, MPFR_RNDN);
        ;
        ;
        mpfr_pow(r11179, r11177, r11178, MPFR_RNDN);
        ;
        mpfr_sub(r11181, r11178, r11148, MPFR_RNDN);
        mpfr_div(r11182, r11180, r11181, MPFR_RNDN);
        mpfr_pow(r11183, r11182, r11178, MPFR_RNDN);
        mpfr_add(r11184, r11179, r11183, MPFR_RNDN);
        mpfr_mul(r11185, r11177, r11177, MPFR_RNDN);
        mpfr_mul(r11186, r11182, r11182, MPFR_RNDN);
        mpfr_mul(r11187, r11177, r11182, MPFR_RNDN);
        mpfr_sub(r11188, r11186, r11187, MPFR_RNDN);
        mpfr_add(r11189, r11185, r11188, MPFR_RNDN);
        mpfr_div(r11190, r11184, r11189, MPFR_RNDN);
        ;
        ;
        mpfr_add(r11193, r11153, r11192, MPFR_RNDN);
        mpfr_sub(r11194, r11193, r11156, MPFR_RNDN);
        mpfr_div(r11195, r11191, r11194, MPFR_RNDN);
        mpfr_add(r11196, r11190, r11195, MPFR_RNDN);
        mpfr_add(r11197, r11176, r11196, MPFR_RNDN);
        ;
        ;
        mpfr_sub(r11200, r11153, r11199, MPFR_RNDN);
        mpfr_sub(r11201, r11170, r11200, MPFR_RNDN);
        mpfr_div(r11202, r11198, r11201, MPFR_RNDN);
        ;
        ;
        mpfr_sub(r11205, r11153, r11204, MPFR_RNDN);
        mpfr_sub(r11206, r11170, r11205, MPFR_RNDN);
        mpfr_div(r11207, r11203, r11206, MPFR_RNDN);
        mpfr_add(r11208, r11202, r11207, MPFR_RNDN);
        ;
        mpfr_sub(r11210, r11153, r11152, MPFR_RNDN);
        mpfr_sub(r11211, r11170, r11210, MPFR_RNDN);
        mpfr_div(r11212, r11209, r11211, MPFR_RNDN);
        ;
        ;
        mpfr_add(r11215, r11153, r11214, MPFR_RNDN);
        mpfr_sub(r11216, r11215, r11156, MPFR_RNDN);
        mpfr_div(r11217, r11213, r11216, MPFR_RNDN);
        mpfr_add(r11218, r11212, r11217, MPFR_RNDN);
        mpfr_add(r11219, r11208, r11218, MPFR_RNDN);
        mpfr_add(r11220, r11197, r11219, MPFR_RNDN);
        mpfr_mul(r11221, r11168, r11220, MPFR_RNDN);
        return mpfr_get_d(r11221, MPFR_RNDN);
}

