#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 r17663 = atan2(1.0, 0.0);
        float r17664 = z;
        float r17665 = r17663 * r17664;
        float r17666 = sin(r17665);
        float r17667 = r17663 / r17666;
        float r17668 = 2.0f;
        float r17669 = r17663 * r17668;
        float r17670 = sqrt(r17669);
        float r17671 = 1.0f;
        float r17672 = r17671 - r17664;
        float r17673 = r17672 - r17671;
        float r17674 = 7.0f;
        float r17675 = r17673 + r17674;
        float r17676 = 0.5f;
        float r17677 = r17675 + r17676;
        float r17678 = r17673 + r17676;
        float r17679 = pow(r17677, r17678);
        float r17680 = r17670 * r17679;
        float r17681 = -r17677;
        float r17682 = exp(r17681);
        float r17683 = r17680 * r17682;
        float r17684 = 0.9999999999998099f;
        float r17685 = 676.5203681218851f;
        float r17686 = r17673 + r17671;
        float r17687 = r17685 / r17686;
        float r17688 = r17684 + r17687;
        float r17689 = -1259.1392167224028f;
        float r17690 = r17673 + r17668;
        float r17691 = r17689 / r17690;
        float r17692 = r17688 + r17691;
        float r17693 = 771.3234287776531f;
        float r17694 = 3.0f;
        float r17695 = r17673 + r17694;
        float r17696 = r17693 / r17695;
        float r17697 = r17692 + r17696;
        float r17698 = -176.6150291621406f;
        float r17699 = 4.0f;
        float r17700 = r17673 + r17699;
        float r17701 = r17698 / r17700;
        float r17702 = r17697 + r17701;
        float r17703 = 12.507343278686905f;
        float r17704 = 5.0f;
        float r17705 = r17673 + r17704;
        float r17706 = r17703 / r17705;
        float r17707 = r17702 + r17706;
        float r17708 = -0.13857109526572012f;
        float r17709 = 6.0f;
        float r17710 = r17673 + r17709;
        float r17711 = r17708 / r17710;
        float r17712 = r17707 + r17711;
        float r17713 = 9.984369578019572e-06f;
        float r17714 = r17713 / r17675;
        float r17715 = r17712 + r17714;
        float r17716 = 1.5056327351493116e-07f;
        float r17717 = 8.0f;
        float r17718 = r17673 + r17717;
        float r17719 = r17716 / r17718;
        float r17720 = r17715 + r17719;
        float r17721 = r17683 * r17720;
        float r17722 = r17667 * r17721;
        return r17722;
}

double f_id(double z) {
        double r17723 = atan2(1.0, 0.0);
        double r17724 = z;
        double r17725 = r17723 * r17724;
        double r17726 = sin(r17725);
        double r17727 = r17723 / r17726;
        double r17728 = 2.0;
        double r17729 = r17723 * r17728;
        double r17730 = sqrt(r17729);
        double r17731 = 1.0;
        double r17732 = r17731 - r17724;
        double r17733 = r17732 - r17731;
        double r17734 = 7.0;
        double r17735 = r17733 + r17734;
        double r17736 = 0.5;
        double r17737 = r17735 + r17736;
        double r17738 = r17733 + r17736;
        double r17739 = pow(r17737, r17738);
        double r17740 = r17730 * r17739;
        double r17741 = -r17737;
        double r17742 = exp(r17741);
        double r17743 = r17740 * r17742;
        double r17744 = 0.9999999999998099;
        double r17745 = 676.5203681218851;
        double r17746 = r17733 + r17731;
        double r17747 = r17745 / r17746;
        double r17748 = r17744 + r17747;
        double r17749 = -1259.1392167224028;
        double r17750 = r17733 + r17728;
        double r17751 = r17749 / r17750;
        double r17752 = r17748 + r17751;
        double r17753 = 771.3234287776531;
        double r17754 = 3.0;
        double r17755 = r17733 + r17754;
        double r17756 = r17753 / r17755;
        double r17757 = r17752 + r17756;
        double r17758 = -176.6150291621406;
        double r17759 = 4.0;
        double r17760 = r17733 + r17759;
        double r17761 = r17758 / r17760;
        double r17762 = r17757 + r17761;
        double r17763 = 12.507343278686905;
        double r17764 = 5.0;
        double r17765 = r17733 + r17764;
        double r17766 = r17763 / r17765;
        double r17767 = r17762 + r17766;
        double r17768 = -0.13857109526572012;
        double r17769 = 6.0;
        double r17770 = r17733 + r17769;
        double r17771 = r17768 / r17770;
        double r17772 = r17767 + r17771;
        double r17773 = 9.984369578019572e-06;
        double r17774 = r17773 / r17735;
        double r17775 = r17772 + r17774;
        double r17776 = 1.5056327351493116e-07;
        double r17777 = 8.0;
        double r17778 = r17733 + r17777;
        double r17779 = r17776 / r17778;
        double r17780 = r17775 + r17779;
        double r17781 = r17743 * r17780;
        double r17782 = r17727 * r17781;
        return r17782;
}


double f_of(float z) {
        float r17783 = -0.13857109526572012f;
        float r17784 = 1.0f;
        float r17785 = z;
        float r17786 = r17784 - r17785;
        float r17787 = 6.0f;
        float r17788 = r17784 - r17787;
        float r17789 = r17786 - r17788;
        float r17790 = r17783 / r17789;
        float r17791 = 9.984369578019572e-06f;
        float r17792 = 7.0f;
        float r17793 = r17784 - r17792;
        float r17794 = r17786 - r17793;
        float r17795 = r17791 / r17794;
        float r17796 = r17790 + r17795;
        float r17797 = -176.6150291621406f;
        float r17798 = 4.0f;
        float r17799 = r17798 + r17784;
        float r17800 = r17784 + r17785;
        float r17801 = r17799 - r17800;
        float r17802 = r17797 / r17801;
        float r17803 = 12.507343278686905f;
        float r17804 = 5.0f;
        float r17805 = r17784 + r17804;
        float r17806 = r17805 - r17800;
        float r17807 = r17803 / r17806;
        float r17808 = r17802 + r17807;
        float r17809 = r17796 + r17808;
        float r17810 = 771.3234287776531f;
        float r17811 = 3.0f;
        float r17812 = r17784 - r17811;
        float r17813 = r17786 - r17812;
        float r17814 = r17810 / r17813;
        float r17815 = -1259.1392167224028f;
        float r17816 = 2.0f;
        float r17817 = r17784 - r17816;
        float r17818 = r17786 - r17817;
        float r17819 = r17815 / r17818;
        float r17820 = r17814 + r17819;
        float r17821 = 0.9999999999998099f;
        float r17822 = 676.5203681218851f;
        float r17823 = 0.0f;
        float r17824 = r17786 - r17823;
        float r17825 = r17822 / r17824;
        float r17826 = r17821 + r17825;
        float r17827 = r17820 + r17826;
        float r17828 = r17809 + r17827;
        float r17829 = 1.5056327351493116e-07f;
        float r17830 = 8.0f;
        float r17831 = r17784 + r17830;
        float r17832 = r17831 - r17800;
        float r17833 = r17829 / r17832;
        float r17834 = r17828 + r17833;
        float r17835 = atan2(1.0, 0.0);
        float r17836 = sqrt(r17835);
        float r17837 = sqrt(r17816);
        float r17838 = r17836 * r17837;
        float r17839 = r17835 * r17838;
        float r17840 = r17785 * r17835;
        float r17841 = sin(r17840);
        float r17842 = r17839 / r17841;
        float r17843 = 0.5f;
        float r17844 = r17843 + r17792;
        float r17845 = r17784 - r17800;
        float r17846 = r17844 + r17845;
        float r17847 = r17784 + r17843;
        float r17848 = r17847 - r17800;
        float r17849 = pow(r17846, r17848);
        float r17850 = r17842 * r17849;
        float r17851 = exp(r17846);
        float r17852 = r17850 / r17851;
        float r17853 = r17834 * r17852;
        return r17853;
}

double f_od(double z) {
        double r17854 = -0.13857109526572012;
        double r17855 = 1.0;
        double r17856 = z;
        double r17857 = r17855 - r17856;
        double r17858 = 6.0;
        double r17859 = r17855 - r17858;
        double r17860 = r17857 - r17859;
        double r17861 = r17854 / r17860;
        double r17862 = 9.984369578019572e-06;
        double r17863 = 7.0;
        double r17864 = r17855 - r17863;
        double r17865 = r17857 - r17864;
        double r17866 = r17862 / r17865;
        double r17867 = r17861 + r17866;
        double r17868 = -176.6150291621406;
        double r17869 = 4.0;
        double r17870 = r17869 + r17855;
        double r17871 = r17855 + r17856;
        double r17872 = r17870 - r17871;
        double r17873 = r17868 / r17872;
        double r17874 = 12.507343278686905;
        double r17875 = 5.0;
        double r17876 = r17855 + r17875;
        double r17877 = r17876 - r17871;
        double r17878 = r17874 / r17877;
        double r17879 = r17873 + r17878;
        double r17880 = r17867 + r17879;
        double r17881 = 771.3234287776531;
        double r17882 = 3.0;
        double r17883 = r17855 - r17882;
        double r17884 = r17857 - r17883;
        double r17885 = r17881 / r17884;
        double r17886 = -1259.1392167224028;
        double r17887 = 2.0;
        double r17888 = r17855 - r17887;
        double r17889 = r17857 - r17888;
        double r17890 = r17886 / r17889;
        double r17891 = r17885 + r17890;
        double r17892 = 0.9999999999998099;
        double r17893 = 676.5203681218851;
        double r17894 = 0.0;
        double r17895 = r17857 - r17894;
        double r17896 = r17893 / r17895;
        double r17897 = r17892 + r17896;
        double r17898 = r17891 + r17897;
        double r17899 = r17880 + r17898;
        double r17900 = 1.5056327351493116e-07;
        double r17901 = 8.0;
        double r17902 = r17855 + r17901;
        double r17903 = r17902 - r17871;
        double r17904 = r17900 / r17903;
        double r17905 = r17899 + r17904;
        double r17906 = atan2(1.0, 0.0);
        double r17907 = sqrt(r17906);
        double r17908 = sqrt(r17887);
        double r17909 = r17907 * r17908;
        double r17910 = r17906 * r17909;
        double r17911 = r17856 * r17906;
        double r17912 = sin(r17911);
        double r17913 = r17910 / r17912;
        double r17914 = 0.5;
        double r17915 = r17914 + r17863;
        double r17916 = r17855 - r17871;
        double r17917 = r17915 + r17916;
        double r17918 = r17855 + r17914;
        double r17919 = r17918 - r17871;
        double r17920 = pow(r17917, r17919);
        double r17921 = r17913 * r17920;
        double r17922 = exp(r17917);
        double r17923 = r17921 / r17922;
        double r17924 = r17905 * r17923;
        return r17924;
}

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 r17925, r17926, r17927, r17928, r17929, r17930, r17931, r17932, r17933, r17934, r17935, r17936, r17937, r17938, r17939, r17940, r17941, r17942, r17943, r17944, r17945, r17946, r17947, r17948, r17949, r17950, r17951, r17952, r17953, r17954, r17955, r17956, r17957, r17958, r17959, r17960, r17961, r17962, r17963, r17964, r17965, r17966, r17967, r17968, r17969, r17970, r17971, r17972, r17973, r17974, r17975, r17976, r17977, r17978, r17979, r17980, r17981, r17982, r17983, r17984;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(144);
        mpfr_init(r17925);
        mpfr_init(r17926);
        mpfr_init(r17927);
        mpfr_init(r17928);
        mpfr_init(r17929);
        mpfr_init_set_str(r17930, "2", 10, MPFR_RNDN);
        mpfr_init(r17931);
        mpfr_init(r17932);
        mpfr_init_set_str(r17933, "1", 10, MPFR_RNDN);
        mpfr_init(r17934);
        mpfr_init(r17935);
        mpfr_init_set_str(r17936, "7", 10, MPFR_RNDN);
        mpfr_init(r17937);
        mpfr_init_set_str(r17938, "0.5", 10, MPFR_RNDN);
        mpfr_init(r17939);
        mpfr_init(r17940);
        mpfr_init(r17941);
        mpfr_init(r17942);
        mpfr_init(r17943);
        mpfr_init(r17944);
        mpfr_init(r17945);
        mpfr_init_set_str(r17946, "0.9999999999998099", 10, MPFR_RNDN);
        mpfr_init_set_str(r17947, "676.5203681218851", 10, MPFR_RNDN);
        mpfr_init(r17948);
        mpfr_init(r17949);
        mpfr_init(r17950);
        mpfr_init_set_str(r17951, "-1259.1392167224028", 10, MPFR_RNDN);
        mpfr_init(r17952);
        mpfr_init(r17953);
        mpfr_init(r17954);
        mpfr_init_set_str(r17955, "771.3234287776531", 10, MPFR_RNDN);
        mpfr_init_set_str(r17956, "3", 10, MPFR_RNDN);
        mpfr_init(r17957);
        mpfr_init(r17958);
        mpfr_init(r17959);
        mpfr_init_set_str(r17960, "-176.6150291621406", 10, MPFR_RNDN);
        mpfr_init_set_str(r17961, "4", 10, MPFR_RNDN);
        mpfr_init(r17962);
        mpfr_init(r17963);
        mpfr_init(r17964);
        mpfr_init_set_str(r17965, "12.507343278686905", 10, MPFR_RNDN);
        mpfr_init_set_str(r17966, "5", 10, MPFR_RNDN);
        mpfr_init(r17967);
        mpfr_init(r17968);
        mpfr_init(r17969);
        mpfr_init_set_str(r17970, "-0.13857109526572012", 10, MPFR_RNDN);
        mpfr_init_set_str(r17971, "6", 10, MPFR_RNDN);
        mpfr_init(r17972);
        mpfr_init(r17973);
        mpfr_init(r17974);
        mpfr_init_set_str(r17975, "9.984369578019572e-06", 10, MPFR_RNDN);
        mpfr_init(r17976);
        mpfr_init(r17977);
        mpfr_init_set_str(r17978, "1.5056327351493116e-07", 10, MPFR_RNDN);
        mpfr_init_set_str(r17979, "8", 10, MPFR_RNDN);
        mpfr_init(r17980);
        mpfr_init(r17981);
        mpfr_init(r17982);
        mpfr_init(r17983);
        mpfr_init(r17984);
}

double f_im(double z) {
        mpfr_const_pi(r17925, MPFR_RNDN);
        mpfr_set_d(r17926, z, MPFR_RNDN);
        mpfr_mul(r17927, r17925, r17926, MPFR_RNDN);
        mpfr_sin(r17928, r17927, MPFR_RNDN);
        mpfr_div(r17929, r17925, r17928, MPFR_RNDN);
        ;
        mpfr_mul(r17931, r17925, r17930, MPFR_RNDN);
        mpfr_sqrt(r17932, r17931, MPFR_RNDN);
        ;
        mpfr_sub(r17934, r17933, r17926, MPFR_RNDN);
        mpfr_sub(r17935, r17934, r17933, MPFR_RNDN);
        ;
        mpfr_add(r17937, r17935, r17936, MPFR_RNDN);
        ;
        mpfr_add(r17939, r17937, r17938, MPFR_RNDN);
        mpfr_add(r17940, r17935, r17938, MPFR_RNDN);
        mpfr_pow(r17941, r17939, r17940, MPFR_RNDN);
        mpfr_mul(r17942, r17932, r17941, MPFR_RNDN);
        mpfr_neg(r17943, r17939, MPFR_RNDN);
        mpfr_exp(r17944, r17943, MPFR_RNDN);
        mpfr_mul(r17945, r17942, r17944, MPFR_RNDN);
        ;
        ;
        mpfr_add(r17948, r17935, r17933, MPFR_RNDN);
        mpfr_div(r17949, r17947, r17948, MPFR_RNDN);
        mpfr_add(r17950, r17946, r17949, MPFR_RNDN);
        ;
        mpfr_add(r17952, r17935, r17930, MPFR_RNDN);
        mpfr_div(r17953, r17951, r17952, MPFR_RNDN);
        mpfr_add(r17954, r17950, r17953, MPFR_RNDN);
        ;
        ;
        mpfr_add(r17957, r17935, r17956, MPFR_RNDN);
        mpfr_div(r17958, r17955, r17957, MPFR_RNDN);
        mpfr_add(r17959, r17954, r17958, MPFR_RNDN);
        ;
        ;
        mpfr_add(r17962, r17935, r17961, MPFR_RNDN);
        mpfr_div(r17963, r17960, r17962, MPFR_RNDN);
        mpfr_add(r17964, r17959, r17963, MPFR_RNDN);
        ;
        ;
        mpfr_add(r17967, r17935, r17966, MPFR_RNDN);
        mpfr_div(r17968, r17965, r17967, MPFR_RNDN);
        mpfr_add(r17969, r17964, r17968, MPFR_RNDN);
        ;
        ;
        mpfr_add(r17972, r17935, r17971, MPFR_RNDN);
        mpfr_div(r17973, r17970, r17972, MPFR_RNDN);
        mpfr_add(r17974, r17969, r17973, MPFR_RNDN);
        ;
        mpfr_div(r17976, r17975, r17937, MPFR_RNDN);
        mpfr_add(r17977, r17974, r17976, MPFR_RNDN);
        ;
        ;
        mpfr_add(r17980, r17935, r17979, MPFR_RNDN);
        mpfr_div(r17981, r17978, r17980, MPFR_RNDN);
        mpfr_add(r17982, r17977, r17981, MPFR_RNDN);
        mpfr_mul(r17983, r17945, r17982, MPFR_RNDN);
        mpfr_mul(r17984, r17929, r17983, MPFR_RNDN);
        return mpfr_get_d(r17984, MPFR_RNDN);
}

static mpfr_t r17985, r17986, r17987, r17988, r17989, r17990, r17991, r17992, r17993, r17994, r17995, r17996, r17997, r17998, r17999, r18000, r18001, r18002, r18003, r18004, r18005, r18006, r18007, r18008, r18009, r18010, r18011, r18012, r18013, r18014, r18015, r18016, r18017, r18018, r18019, r18020, r18021, r18022, r18023, r18024, r18025, r18026, r18027, r18028, r18029, r18030, r18031, r18032, r18033, r18034, r18035, r18036, r18037, r18038, r18039, r18040, r18041, r18042, r18043, r18044, r18045, r18046, r18047, r18048, r18049, r18050, r18051, r18052, r18053, r18054, r18055;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(144);
        mpfr_init_set_str(r17985, "-0.13857109526572012", 10, MPFR_RNDN);
        mpfr_init_set_str(r17986, "1", 10, MPFR_RNDN);
        mpfr_init(r17987);
        mpfr_init(r17988);
        mpfr_init_set_str(r17989, "6", 10, MPFR_RNDN);
        mpfr_init(r17990);
        mpfr_init(r17991);
        mpfr_init(r17992);
        mpfr_init_set_str(r17993, "9.984369578019572e-06", 10, MPFR_RNDN);
        mpfr_init_set_str(r17994, "7", 10, MPFR_RNDN);
        mpfr_init(r17995);
        mpfr_init(r17996);
        mpfr_init(r17997);
        mpfr_init(r17998);
        mpfr_init_set_str(r17999, "-176.6150291621406", 10, MPFR_RNDN);
        mpfr_init_set_str(r18000, "4", 10, MPFR_RNDN);
        mpfr_init(r18001);
        mpfr_init(r18002);
        mpfr_init(r18003);
        mpfr_init(r18004);
        mpfr_init_set_str(r18005, "12.507343278686905", 10, MPFR_RNDN);
        mpfr_init_set_str(r18006, "5", 10, MPFR_RNDN);
        mpfr_init(r18007);
        mpfr_init(r18008);
        mpfr_init(r18009);
        mpfr_init(r18010);
        mpfr_init(r18011);
        mpfr_init_set_str(r18012, "771.3234287776531", 10, MPFR_RNDN);
        mpfr_init_set_str(r18013, "3", 10, MPFR_RNDN);
        mpfr_init(r18014);
        mpfr_init(r18015);
        mpfr_init(r18016);
        mpfr_init_set_str(r18017, "-1259.1392167224028", 10, MPFR_RNDN);
        mpfr_init_set_str(r18018, "2", 10, MPFR_RNDN);
        mpfr_init(r18019);
        mpfr_init(r18020);
        mpfr_init(r18021);
        mpfr_init(r18022);
        mpfr_init_set_str(r18023, "0.9999999999998099", 10, MPFR_RNDN);
        mpfr_init_set_str(r18024, "676.5203681218851", 10, MPFR_RNDN);
        mpfr_init_set_str(r18025, "0", 10, MPFR_RNDN);
        mpfr_init(r18026);
        mpfr_init(r18027);
        mpfr_init(r18028);
        mpfr_init(r18029);
        mpfr_init(r18030);
        mpfr_init_set_str(r18031, "1.5056327351493116e-07", 10, MPFR_RNDN);
        mpfr_init_set_str(r18032, "8", 10, MPFR_RNDN);
        mpfr_init(r18033);
        mpfr_init(r18034);
        mpfr_init(r18035);
        mpfr_init(r18036);
        mpfr_init(r18037);
        mpfr_init(r18038);
        mpfr_init(r18039);
        mpfr_init(r18040);
        mpfr_init(r18041);
        mpfr_init(r18042);
        mpfr_init(r18043);
        mpfr_init(r18044);
        mpfr_init_set_str(r18045, "0.5", 10, MPFR_RNDN);
        mpfr_init(r18046);
        mpfr_init(r18047);
        mpfr_init(r18048);
        mpfr_init(r18049);
        mpfr_init(r18050);
        mpfr_init(r18051);
        mpfr_init(r18052);
        mpfr_init(r18053);
        mpfr_init(r18054);
        mpfr_init(r18055);
}

double f_fm(double z) {
        ;
        ;
        mpfr_set_d(r17987, z, MPFR_RNDN);
        mpfr_sub(r17988, r17986, r17987, MPFR_RNDN);
        ;
        mpfr_sub(r17990, r17986, r17989, MPFR_RNDN);
        mpfr_sub(r17991, r17988, r17990, MPFR_RNDN);
        mpfr_div(r17992, r17985, r17991, MPFR_RNDN);
        ;
        ;
        mpfr_sub(r17995, r17986, r17994, MPFR_RNDN);
        mpfr_sub(r17996, r17988, r17995, MPFR_RNDN);
        mpfr_div(r17997, r17993, r17996, MPFR_RNDN);
        mpfr_add(r17998, r17992, r17997, MPFR_RNDN);
        ;
        ;
        mpfr_add(r18001, r18000, r17986, MPFR_RNDN);
        mpfr_add(r18002, r17986, r17987, MPFR_RNDN);
        mpfr_sub(r18003, r18001, r18002, MPFR_RNDN);
        mpfr_div(r18004, r17999, r18003, MPFR_RNDN);
        ;
        ;
        mpfr_add(r18007, r17986, r18006, MPFR_RNDN);
        mpfr_sub(r18008, r18007, r18002, MPFR_RNDN);
        mpfr_div(r18009, r18005, r18008, MPFR_RNDN);
        mpfr_add(r18010, r18004, r18009, MPFR_RNDN);
        mpfr_add(r18011, r17998, r18010, MPFR_RNDN);
        ;
        ;
        mpfr_sub(r18014, r17986, r18013, MPFR_RNDN);
        mpfr_sub(r18015, r17988, r18014, MPFR_RNDN);
        mpfr_div(r18016, r18012, r18015, MPFR_RNDN);
        ;
        ;
        mpfr_sub(r18019, r17986, r18018, MPFR_RNDN);
        mpfr_sub(r18020, r17988, r18019, MPFR_RNDN);
        mpfr_div(r18021, r18017, r18020, MPFR_RNDN);
        mpfr_add(r18022, r18016, r18021, MPFR_RNDN);
        ;
        ;
        ;
        mpfr_sub(r18026, r17988, r18025, MPFR_RNDN);
        mpfr_div(r18027, r18024, r18026, MPFR_RNDN);
        mpfr_add(r18028, r18023, r18027, MPFR_RNDN);
        mpfr_add(r18029, r18022, r18028, MPFR_RNDN);
        mpfr_add(r18030, r18011, r18029, MPFR_RNDN);
        ;
        ;
        mpfr_add(r18033, r17986, r18032, MPFR_RNDN);
        mpfr_sub(r18034, r18033, r18002, MPFR_RNDN);
        mpfr_div(r18035, r18031, r18034, MPFR_RNDN);
        mpfr_add(r18036, r18030, r18035, MPFR_RNDN);
        mpfr_const_pi(r18037, MPFR_RNDN);
        mpfr_sqrt(r18038, r18037, MPFR_RNDN);
        mpfr_sqrt(r18039, r18018, MPFR_RNDN);
        mpfr_mul(r18040, r18038, r18039, MPFR_RNDN);
        mpfr_mul(r18041, r18037, r18040, MPFR_RNDN);
        mpfr_mul(r18042, r17987, r18037, MPFR_RNDN);
        mpfr_sin(r18043, r18042, MPFR_RNDN);
        mpfr_div(r18044, r18041, r18043, MPFR_RNDN);
        ;
        mpfr_add(r18046, r18045, r17994, MPFR_RNDN);
        mpfr_sub(r18047, r17986, r18002, MPFR_RNDN);
        mpfr_add(r18048, r18046, r18047, MPFR_RNDN);
        mpfr_add(r18049, r17986, r18045, MPFR_RNDN);
        mpfr_sub(r18050, r18049, r18002, MPFR_RNDN);
        mpfr_pow(r18051, r18048, r18050, MPFR_RNDN);
        mpfr_mul(r18052, r18044, r18051, MPFR_RNDN);
        mpfr_exp(r18053, r18048, MPFR_RNDN);
        mpfr_div(r18054, r18052, r18053, MPFR_RNDN);
        mpfr_mul(r18055, r18036, r18054, MPFR_RNDN);
        return mpfr_get_d(r18055, MPFR_RNDN);
}

static mpfr_t r18056, r18057, r18058, r18059, r18060, r18061, r18062, r18063, r18064, r18065, r18066, r18067, r18068, r18069, r18070, r18071, r18072, r18073, r18074, r18075, r18076, r18077, r18078, r18079, r18080, r18081, r18082, r18083, r18084, r18085, r18086, r18087, r18088, r18089, r18090, r18091, r18092, r18093, r18094, r18095, r18096, r18097, r18098, r18099, r18100, r18101, r18102, r18103, r18104, r18105, r18106, r18107, r18108, r18109, r18110, r18111, r18112, r18113, r18114, r18115, r18116, r18117, r18118, r18119, r18120, r18121, r18122, r18123, r18124, r18125, r18126;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(144);
        mpfr_init_set_str(r18056, "-0.13857109526572012", 10, MPFR_RNDN);
        mpfr_init_set_str(r18057, "1", 10, MPFR_RNDN);
        mpfr_init(r18058);
        mpfr_init(r18059);
        mpfr_init_set_str(r18060, "6", 10, MPFR_RNDN);
        mpfr_init(r18061);
        mpfr_init(r18062);
        mpfr_init(r18063);
        mpfr_init_set_str(r18064, "9.984369578019572e-06", 10, MPFR_RNDN);
        mpfr_init_set_str(r18065, "7", 10, MPFR_RNDN);
        mpfr_init(r18066);
        mpfr_init(r18067);
        mpfr_init(r18068);
        mpfr_init(r18069);
        mpfr_init_set_str(r18070, "-176.6150291621406", 10, MPFR_RNDN);
        mpfr_init_set_str(r18071, "4", 10, MPFR_RNDN);
        mpfr_init(r18072);
        mpfr_init(r18073);
        mpfr_init(r18074);
        mpfr_init(r18075);
        mpfr_init_set_str(r18076, "12.507343278686905", 10, MPFR_RNDN);
        mpfr_init_set_str(r18077, "5", 10, MPFR_RNDN);
        mpfr_init(r18078);
        mpfr_init(r18079);
        mpfr_init(r18080);
        mpfr_init(r18081);
        mpfr_init(r18082);
        mpfr_init_set_str(r18083, "771.3234287776531", 10, MPFR_RNDN);
        mpfr_init_set_str(r18084, "3", 10, MPFR_RNDN);
        mpfr_init(r18085);
        mpfr_init(r18086);
        mpfr_init(r18087);
        mpfr_init_set_str(r18088, "-1259.1392167224028", 10, MPFR_RNDN);
        mpfr_init_set_str(r18089, "2", 10, MPFR_RNDN);
        mpfr_init(r18090);
        mpfr_init(r18091);
        mpfr_init(r18092);
        mpfr_init(r18093);
        mpfr_init_set_str(r18094, "0.9999999999998099", 10, MPFR_RNDN);
        mpfr_init_set_str(r18095, "676.5203681218851", 10, MPFR_RNDN);
        mpfr_init_set_str(r18096, "0", 10, MPFR_RNDN);
        mpfr_init(r18097);
        mpfr_init(r18098);
        mpfr_init(r18099);
        mpfr_init(r18100);
        mpfr_init(r18101);
        mpfr_init_set_str(r18102, "1.5056327351493116e-07", 10, MPFR_RNDN);
        mpfr_init_set_str(r18103, "8", 10, MPFR_RNDN);
        mpfr_init(r18104);
        mpfr_init(r18105);
        mpfr_init(r18106);
        mpfr_init(r18107);
        mpfr_init(r18108);
        mpfr_init(r18109);
        mpfr_init(r18110);
        mpfr_init(r18111);
        mpfr_init(r18112);
        mpfr_init(r18113);
        mpfr_init(r18114);
        mpfr_init(r18115);
        mpfr_init_set_str(r18116, "0.5", 10, MPFR_RNDN);
        mpfr_init(r18117);
        mpfr_init(r18118);
        mpfr_init(r18119);
        mpfr_init(r18120);
        mpfr_init(r18121);
        mpfr_init(r18122);
        mpfr_init(r18123);
        mpfr_init(r18124);
        mpfr_init(r18125);
        mpfr_init(r18126);
}

double f_dm(double z) {
        ;
        ;
        mpfr_set_d(r18058, z, MPFR_RNDN);
        mpfr_sub(r18059, r18057, r18058, MPFR_RNDN);
        ;
        mpfr_sub(r18061, r18057, r18060, MPFR_RNDN);
        mpfr_sub(r18062, r18059, r18061, MPFR_RNDN);
        mpfr_div(r18063, r18056, r18062, MPFR_RNDN);
        ;
        ;
        mpfr_sub(r18066, r18057, r18065, MPFR_RNDN);
        mpfr_sub(r18067, r18059, r18066, MPFR_RNDN);
        mpfr_div(r18068, r18064, r18067, MPFR_RNDN);
        mpfr_add(r18069, r18063, r18068, MPFR_RNDN);
        ;
        ;
        mpfr_add(r18072, r18071, r18057, MPFR_RNDN);
        mpfr_add(r18073, r18057, r18058, MPFR_RNDN);
        mpfr_sub(r18074, r18072, r18073, MPFR_RNDN);
        mpfr_div(r18075, r18070, r18074, MPFR_RNDN);
        ;
        ;
        mpfr_add(r18078, r18057, r18077, MPFR_RNDN);
        mpfr_sub(r18079, r18078, r18073, MPFR_RNDN);
        mpfr_div(r18080, r18076, r18079, MPFR_RNDN);
        mpfr_add(r18081, r18075, r18080, MPFR_RNDN);
        mpfr_add(r18082, r18069, r18081, MPFR_RNDN);
        ;
        ;
        mpfr_sub(r18085, r18057, r18084, MPFR_RNDN);
        mpfr_sub(r18086, r18059, r18085, MPFR_RNDN);
        mpfr_div(r18087, r18083, r18086, MPFR_RNDN);
        ;
        ;
        mpfr_sub(r18090, r18057, r18089, MPFR_RNDN);
        mpfr_sub(r18091, r18059, r18090, MPFR_RNDN);
        mpfr_div(r18092, r18088, r18091, MPFR_RNDN);
        mpfr_add(r18093, r18087, r18092, MPFR_RNDN);
        ;
        ;
        ;
        mpfr_sub(r18097, r18059, r18096, MPFR_RNDN);
        mpfr_div(r18098, r18095, r18097, MPFR_RNDN);
        mpfr_add(r18099, r18094, r18098, MPFR_RNDN);
        mpfr_add(r18100, r18093, r18099, MPFR_RNDN);
        mpfr_add(r18101, r18082, r18100, MPFR_RNDN);
        ;
        ;
        mpfr_add(r18104, r18057, r18103, MPFR_RNDN);
        mpfr_sub(r18105, r18104, r18073, MPFR_RNDN);
        mpfr_div(r18106, r18102, r18105, MPFR_RNDN);
        mpfr_add(r18107, r18101, r18106, MPFR_RNDN);
        mpfr_const_pi(r18108, MPFR_RNDN);
        mpfr_sqrt(r18109, r18108, MPFR_RNDN);
        mpfr_sqrt(r18110, r18089, MPFR_RNDN);
        mpfr_mul(r18111, r18109, r18110, MPFR_RNDN);
        mpfr_mul(r18112, r18108, r18111, MPFR_RNDN);
        mpfr_mul(r18113, r18058, r18108, MPFR_RNDN);
        mpfr_sin(r18114, r18113, MPFR_RNDN);
        mpfr_div(r18115, r18112, r18114, MPFR_RNDN);
        ;
        mpfr_add(r18117, r18116, r18065, MPFR_RNDN);
        mpfr_sub(r18118, r18057, r18073, MPFR_RNDN);
        mpfr_add(r18119, r18117, r18118, MPFR_RNDN);
        mpfr_add(r18120, r18057, r18116, MPFR_RNDN);
        mpfr_sub(r18121, r18120, r18073, MPFR_RNDN);
        mpfr_pow(r18122, r18119, r18121, MPFR_RNDN);
        mpfr_mul(r18123, r18115, r18122, MPFR_RNDN);
        mpfr_exp(r18124, r18119, MPFR_RNDN);
        mpfr_div(r18125, r18123, r18124, MPFR_RNDN);
        mpfr_mul(r18126, r18107, r18125, MPFR_RNDN);
        return mpfr_get_d(r18126, MPFR_RNDN);
}

