#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 r9622 = atan2(1.0, 0.0);
        float r9623 = z;
        float r9624 = r9622 * r9623;
        float r9625 = sin(r9624);
        float r9626 = r9622 / r9625;
        float r9627 = 2.0f;
        float r9628 = r9622 * r9627;
        float r9629 = sqrt(r9628);
        float r9630 = 1.0f;
        float r9631 = r9630 - r9623;
        float r9632 = r9631 - r9630;
        float r9633 = 7.0f;
        float r9634 = r9632 + r9633;
        float r9635 = 0.5f;
        float r9636 = r9634 + r9635;
        float r9637 = r9632 + r9635;
        float r9638 = pow(r9636, r9637);
        float r9639 = r9629 * r9638;
        float r9640 = -r9636;
        float r9641 = exp(r9640);
        float r9642 = r9639 * r9641;
        float r9643 = 0.9999999999998099f;
        float r9644 = 676.5203681218851f;
        float r9645 = r9632 + r9630;
        float r9646 = r9644 / r9645;
        float r9647 = r9643 + r9646;
        float r9648 = -1259.1392167224028f;
        float r9649 = r9632 + r9627;
        float r9650 = r9648 / r9649;
        float r9651 = r9647 + r9650;
        float r9652 = 771.3234287776531f;
        float r9653 = 3.0f;
        float r9654 = r9632 + r9653;
        float r9655 = r9652 / r9654;
        float r9656 = r9651 + r9655;
        float r9657 = -176.6150291621406f;
        float r9658 = 4.0f;
        float r9659 = r9632 + r9658;
        float r9660 = r9657 / r9659;
        float r9661 = r9656 + r9660;
        float r9662 = 12.507343278686905f;
        float r9663 = 5.0f;
        float r9664 = r9632 + r9663;
        float r9665 = r9662 / r9664;
        float r9666 = r9661 + r9665;
        float r9667 = -0.13857109526572012f;
        float r9668 = 6.0f;
        float r9669 = r9632 + r9668;
        float r9670 = r9667 / r9669;
        float r9671 = r9666 + r9670;
        float r9672 = 9.984369578019572e-06f;
        float r9673 = r9672 / r9634;
        float r9674 = r9671 + r9673;
        float r9675 = 1.5056327351493116e-07f;
        float r9676 = 8.0f;
        float r9677 = r9632 + r9676;
        float r9678 = r9675 / r9677;
        float r9679 = r9674 + r9678;
        float r9680 = r9642 * r9679;
        float r9681 = r9626 * r9680;
        return r9681;
}

double f_id(double z) {
        double r9682 = atan2(1.0, 0.0);
        double r9683 = z;
        double r9684 = r9682 * r9683;
        double r9685 = sin(r9684);
        double r9686 = r9682 / r9685;
        double r9687 = 2.0;
        double r9688 = r9682 * r9687;
        double r9689 = sqrt(r9688);
        double r9690 = 1.0;
        double r9691 = r9690 - r9683;
        double r9692 = r9691 - r9690;
        double r9693 = 7.0;
        double r9694 = r9692 + r9693;
        double r9695 = 0.5;
        double r9696 = r9694 + r9695;
        double r9697 = r9692 + r9695;
        double r9698 = pow(r9696, r9697);
        double r9699 = r9689 * r9698;
        double r9700 = -r9696;
        double r9701 = exp(r9700);
        double r9702 = r9699 * r9701;
        double r9703 = 0.9999999999998099;
        double r9704 = 676.5203681218851;
        double r9705 = r9692 + r9690;
        double r9706 = r9704 / r9705;
        double r9707 = r9703 + r9706;
        double r9708 = -1259.1392167224028;
        double r9709 = r9692 + r9687;
        double r9710 = r9708 / r9709;
        double r9711 = r9707 + r9710;
        double r9712 = 771.3234287776531;
        double r9713 = 3.0;
        double r9714 = r9692 + r9713;
        double r9715 = r9712 / r9714;
        double r9716 = r9711 + r9715;
        double r9717 = -176.6150291621406;
        double r9718 = 4.0;
        double r9719 = r9692 + r9718;
        double r9720 = r9717 / r9719;
        double r9721 = r9716 + r9720;
        double r9722 = 12.507343278686905;
        double r9723 = 5.0;
        double r9724 = r9692 + r9723;
        double r9725 = r9722 / r9724;
        double r9726 = r9721 + r9725;
        double r9727 = -0.13857109526572012;
        double r9728 = 6.0;
        double r9729 = r9692 + r9728;
        double r9730 = r9727 / r9729;
        double r9731 = r9726 + r9730;
        double r9732 = 9.984369578019572e-06;
        double r9733 = r9732 / r9694;
        double r9734 = r9731 + r9733;
        double r9735 = 1.5056327351493116e-07;
        double r9736 = 8.0;
        double r9737 = r9692 + r9736;
        double r9738 = r9735 / r9737;
        double r9739 = r9734 + r9738;
        double r9740 = r9702 * r9739;
        double r9741 = r9686 * r9740;
        return r9741;
}


double f_of(float z) {
        float r9742 = 2.0f;
        float r9743 = atan2(1.0, 0.0);
        float r9744 = r9742 * r9743;
        float r9745 = sqrt(r9744);
        float r9746 = z;
        float r9747 = r9743 * r9746;
        float r9748 = sin(r9747);
        float r9749 = r9743 / r9748;
        float r9750 = r9745 * r9749;
        float r9751 = 1.0f;
        float r9752 = 0.5f;
        float r9753 = r9751 + r9752;
        float r9754 = r9751 + r9746;
        float r9755 = r9753 - r9754;
        float r9756 = 7.0f;
        float r9757 = r9755 + r9756;
        float r9758 = pow(r9757, r9755);
        float r9759 = r9753 + r9756;
        float r9760 = exp(r9759);
        float r9761 = r9751 / r9760;
        float r9762 = r9758 * r9761;
        float r9763 = exp(r9754);
        float r9764 = r9762 * r9763;
        float r9765 = r9750 * r9764;
        float r9766 = -0.13857109526572012f;
        float r9767 = 6.0f;
        float r9768 = r9751 + r9767;
        float r9769 = r9768 - r9754;
        float r9770 = r9766 / r9769;
        float r9771 = 12.507343278686905f;
        float r9772 = r9751 - r9746;
        float r9773 = 5.0f;
        float r9774 = r9751 - r9773;
        float r9775 = r9772 - r9774;
        float r9776 = r9771 / r9775;
        float r9777 = r9770 + r9776;
        float r9778 = 771.3234287776531f;
        float r9779 = r9772 * r9772;
        float r9780 = 3.0f;
        float r9781 = r9751 - r9780;
        float r9782 = r9781 * r9781;
        float r9783 = r9779 - r9782;
        float r9784 = r9778 / r9783;
        float r9785 = r9781 + r9772;
        float r9786 = -176.6150291621406f;
        float r9787 = 4.0f;
        float r9788 = r9751 - r9787;
        float r9789 = r9772 - r9788;
        float r9790 = r9786 / r9789;
        float r9791 = fma(r9784, r9785, r9790);
        float r9792 = r9777 + r9791;
        float r9793 = 0.9999999999998099f;
        float r9794 = -1259.1392167224028f;
        float r9795 = r9742 + r9751;
        float r9796 = r9795 - r9754;
        float r9797 = r9794 / r9796;
        float r9798 = 676.5203681218851f;
        float r9799 = r9798 / r9772;
        float r9800 = r9797 + r9799;
        float r9801 = r9793 + r9800;
        float r9802 = r9792 + r9801;
        float r9803 = 1.5056327351493116e-07f;
        float r9804 = 8.0f;
        float r9805 = r9804 + r9751;
        float r9806 = r9805 - r9754;
        float r9807 = r9803 / r9806;
        float r9808 = 9.984369578019572e-06f;
        float r9809 = r9751 + r9756;
        float r9810 = r9809 - r9754;
        float r9811 = r9808 / r9810;
        float r9812 = r9807 + r9811;
        float r9813 = r9802 + r9812;
        float r9814 = r9765 * r9813;
        return r9814;
}

double f_od(double z) {
        double r9815 = 2.0;
        double r9816 = atan2(1.0, 0.0);
        double r9817 = r9815 * r9816;
        double r9818 = sqrt(r9817);
        double r9819 = z;
        double r9820 = r9816 * r9819;
        double r9821 = sin(r9820);
        double r9822 = r9816 / r9821;
        double r9823 = r9818 * r9822;
        double r9824 = 1.0;
        double r9825 = 0.5;
        double r9826 = r9824 + r9825;
        double r9827 = r9824 + r9819;
        double r9828 = r9826 - r9827;
        double r9829 = 7.0;
        double r9830 = r9828 + r9829;
        double r9831 = pow(r9830, r9828);
        double r9832 = r9826 + r9829;
        double r9833 = exp(r9832);
        double r9834 = r9824 / r9833;
        double r9835 = r9831 * r9834;
        double r9836 = exp(r9827);
        double r9837 = r9835 * r9836;
        double r9838 = r9823 * r9837;
        double r9839 = -0.13857109526572012;
        double r9840 = 6.0;
        double r9841 = r9824 + r9840;
        double r9842 = r9841 - r9827;
        double r9843 = r9839 / r9842;
        double r9844 = 12.507343278686905;
        double r9845 = r9824 - r9819;
        double r9846 = 5.0;
        double r9847 = r9824 - r9846;
        double r9848 = r9845 - r9847;
        double r9849 = r9844 / r9848;
        double r9850 = r9843 + r9849;
        double r9851 = 771.3234287776531;
        double r9852 = r9845 * r9845;
        double r9853 = 3.0;
        double r9854 = r9824 - r9853;
        double r9855 = r9854 * r9854;
        double r9856 = r9852 - r9855;
        double r9857 = r9851 / r9856;
        double r9858 = r9854 + r9845;
        double r9859 = -176.6150291621406;
        double r9860 = 4.0;
        double r9861 = r9824 - r9860;
        double r9862 = r9845 - r9861;
        double r9863 = r9859 / r9862;
        double r9864 = fma(r9857, r9858, r9863);
        double r9865 = r9850 + r9864;
        double r9866 = 0.9999999999998099;
        double r9867 = -1259.1392167224028;
        double r9868 = r9815 + r9824;
        double r9869 = r9868 - r9827;
        double r9870 = r9867 / r9869;
        double r9871 = 676.5203681218851;
        double r9872 = r9871 / r9845;
        double r9873 = r9870 + r9872;
        double r9874 = r9866 + r9873;
        double r9875 = r9865 + r9874;
        double r9876 = 1.5056327351493116e-07;
        double r9877 = 8.0;
        double r9878 = r9877 + r9824;
        double r9879 = r9878 - r9827;
        double r9880 = r9876 / r9879;
        double r9881 = 9.984369578019572e-06;
        double r9882 = r9824 + r9829;
        double r9883 = r9882 - r9827;
        double r9884 = r9881 / r9883;
        double r9885 = r9880 + r9884;
        double r9886 = r9875 + r9885;
        double r9887 = r9838 * r9886;
        return r9887;
}

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 r9888, r9889, r9890, r9891, r9892, r9893, r9894, r9895, r9896, r9897, r9898, r9899, r9900, r9901, r9902, r9903, r9904, r9905, r9906, r9907, r9908, r9909, r9910, r9911, r9912, r9913, r9914, r9915, r9916, r9917, r9918, r9919, r9920, r9921, r9922, r9923, r9924, r9925, r9926, r9927, r9928, r9929, r9930, r9931, r9932, r9933, r9934, r9935, r9936, r9937, r9938, r9939, r9940, r9941, r9942, r9943, r9944, r9945, r9946, r9947;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(592);
        mpfr_init(r9888);
        mpfr_init(r9889);
        mpfr_init(r9890);
        mpfr_init(r9891);
        mpfr_init(r9892);
        mpfr_init_set_str(r9893, "2", 10, MPFR_RNDN);
        mpfr_init(r9894);
        mpfr_init(r9895);
        mpfr_init_set_str(r9896, "1", 10, MPFR_RNDN);
        mpfr_init(r9897);
        mpfr_init(r9898);
        mpfr_init_set_str(r9899, "7", 10, MPFR_RNDN);
        mpfr_init(r9900);
        mpfr_init_set_str(r9901, "0.5", 10, MPFR_RNDN);
        mpfr_init(r9902);
        mpfr_init(r9903);
        mpfr_init(r9904);
        mpfr_init(r9905);
        mpfr_init(r9906);
        mpfr_init(r9907);
        mpfr_init(r9908);
        mpfr_init_set_str(r9909, "0.9999999999998099", 10, MPFR_RNDN);
        mpfr_init_set_str(r9910, "676.5203681218851", 10, MPFR_RNDN);
        mpfr_init(r9911);
        mpfr_init(r9912);
        mpfr_init(r9913);
        mpfr_init_set_str(r9914, "-1259.1392167224028", 10, MPFR_RNDN);
        mpfr_init(r9915);
        mpfr_init(r9916);
        mpfr_init(r9917);
        mpfr_init_set_str(r9918, "771.3234287776531", 10, MPFR_RNDN);
        mpfr_init_set_str(r9919, "3", 10, MPFR_RNDN);
        mpfr_init(r9920);
        mpfr_init(r9921);
        mpfr_init(r9922);
        mpfr_init_set_str(r9923, "-176.6150291621406", 10, MPFR_RNDN);
        mpfr_init_set_str(r9924, "4", 10, MPFR_RNDN);
        mpfr_init(r9925);
        mpfr_init(r9926);
        mpfr_init(r9927);
        mpfr_init_set_str(r9928, "12.507343278686905", 10, MPFR_RNDN);
        mpfr_init_set_str(r9929, "5", 10, MPFR_RNDN);
        mpfr_init(r9930);
        mpfr_init(r9931);
        mpfr_init(r9932);
        mpfr_init_set_str(r9933, "-0.13857109526572012", 10, MPFR_RNDN);
        mpfr_init_set_str(r9934, "6", 10, MPFR_RNDN);
        mpfr_init(r9935);
        mpfr_init(r9936);
        mpfr_init(r9937);
        mpfr_init_set_str(r9938, "9.984369578019572e-06", 10, MPFR_RNDN);
        mpfr_init(r9939);
        mpfr_init(r9940);
        mpfr_init_set_str(r9941, "1.5056327351493116e-07", 10, MPFR_RNDN);
        mpfr_init_set_str(r9942, "8", 10, MPFR_RNDN);
        mpfr_init(r9943);
        mpfr_init(r9944);
        mpfr_init(r9945);
        mpfr_init(r9946);
        mpfr_init(r9947);
}

double f_im(double z) {
        mpfr_const_pi(r9888, MPFR_RNDN);
        mpfr_set_d(r9889, z, MPFR_RNDN);
        mpfr_mul(r9890, r9888, r9889, MPFR_RNDN);
        mpfr_sin(r9891, r9890, MPFR_RNDN);
        mpfr_div(r9892, r9888, r9891, MPFR_RNDN);
        ;
        mpfr_mul(r9894, r9888, r9893, MPFR_RNDN);
        mpfr_sqrt(r9895, r9894, MPFR_RNDN);
        ;
        mpfr_sub(r9897, r9896, r9889, MPFR_RNDN);
        mpfr_sub(r9898, r9897, r9896, MPFR_RNDN);
        ;
        mpfr_add(r9900, r9898, r9899, MPFR_RNDN);
        ;
        mpfr_add(r9902, r9900, r9901, MPFR_RNDN);
        mpfr_add(r9903, r9898, r9901, MPFR_RNDN);
        mpfr_pow(r9904, r9902, r9903, MPFR_RNDN);
        mpfr_mul(r9905, r9895, r9904, MPFR_RNDN);
        mpfr_neg(r9906, r9902, MPFR_RNDN);
        mpfr_exp(r9907, r9906, MPFR_RNDN);
        mpfr_mul(r9908, r9905, r9907, MPFR_RNDN);
        ;
        ;
        mpfr_add(r9911, r9898, r9896, MPFR_RNDN);
        mpfr_div(r9912, r9910, r9911, MPFR_RNDN);
        mpfr_add(r9913, r9909, r9912, MPFR_RNDN);
        ;
        mpfr_add(r9915, r9898, r9893, MPFR_RNDN);
        mpfr_div(r9916, r9914, r9915, MPFR_RNDN);
        mpfr_add(r9917, r9913, r9916, MPFR_RNDN);
        ;
        ;
        mpfr_add(r9920, r9898, r9919, MPFR_RNDN);
        mpfr_div(r9921, r9918, r9920, MPFR_RNDN);
        mpfr_add(r9922, r9917, r9921, MPFR_RNDN);
        ;
        ;
        mpfr_add(r9925, r9898, r9924, MPFR_RNDN);
        mpfr_div(r9926, r9923, r9925, MPFR_RNDN);
        mpfr_add(r9927, r9922, r9926, MPFR_RNDN);
        ;
        ;
        mpfr_add(r9930, r9898, r9929, MPFR_RNDN);
        mpfr_div(r9931, r9928, r9930, MPFR_RNDN);
        mpfr_add(r9932, r9927, r9931, MPFR_RNDN);
        ;
        ;
        mpfr_add(r9935, r9898, r9934, MPFR_RNDN);
        mpfr_div(r9936, r9933, r9935, MPFR_RNDN);
        mpfr_add(r9937, r9932, r9936, MPFR_RNDN);
        ;
        mpfr_div(r9939, r9938, r9900, MPFR_RNDN);
        mpfr_add(r9940, r9937, r9939, MPFR_RNDN);
        ;
        ;
        mpfr_add(r9943, r9898, r9942, MPFR_RNDN);
        mpfr_div(r9944, r9941, r9943, MPFR_RNDN);
        mpfr_add(r9945, r9940, r9944, MPFR_RNDN);
        mpfr_mul(r9946, r9908, r9945, MPFR_RNDN);
        mpfr_mul(r9947, r9892, r9946, MPFR_RNDN);
        return mpfr_get_d(r9947, MPFR_RNDN);
}

static mpfr_t r9948, r9949, r9950, r9951, r9952, r9953, r9954, r9955, r9956, r9957, r9958, r9959, r9960, r9961, r9962, r9963, r9964, r9965, r9966, r9967, r9968, r9969, r9970, r9971, r9972, r9973, r9974, r9975, r9976, r9977, r9978, r9979, r9980, r9981, r9982, r9983, r9984, r9985, r9986, r9987, r9988, r9989, r9990, r9991, r9992, r9993, r9994, r9995, r9996, r9997, r9998, r9999, r10000, r10001, r10002, r10003, r10004, r10005, r10006, r10007, r10008, r10009, r10010, r10011, r10012, r10013, r10014, r10015, r10016, r10017, r10018, r10019, r10020;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(592);
        mpfr_init_set_str(r9948, "2", 10, MPFR_RNDN);
        mpfr_init(r9949);
        mpfr_init(r9950);
        mpfr_init(r9951);
        mpfr_init(r9952);
        mpfr_init(r9953);
        mpfr_init(r9954);
        mpfr_init(r9955);
        mpfr_init(r9956);
        mpfr_init_set_str(r9957, "1", 10, MPFR_RNDN);
        mpfr_init_set_str(r9958, "0.5", 10, MPFR_RNDN);
        mpfr_init(r9959);
        mpfr_init(r9960);
        mpfr_init(r9961);
        mpfr_init_set_str(r9962, "7", 10, MPFR_RNDN);
        mpfr_init(r9963);
        mpfr_init(r9964);
        mpfr_init(r9965);
        mpfr_init(r9966);
        mpfr_init(r9967);
        mpfr_init(r9968);
        mpfr_init(r9969);
        mpfr_init(r9970);
        mpfr_init(r9971);
        mpfr_init_set_str(r9972, "-0.13857109526572012", 10, MPFR_RNDN);
        mpfr_init_set_str(r9973, "6", 10, MPFR_RNDN);
        mpfr_init(r9974);
        mpfr_init(r9975);
        mpfr_init(r9976);
        mpfr_init_set_str(r9977, "12.507343278686905", 10, MPFR_RNDN);
        mpfr_init(r9978);
        mpfr_init_set_str(r9979, "5", 10, MPFR_RNDN);
        mpfr_init(r9980);
        mpfr_init(r9981);
        mpfr_init(r9982);
        mpfr_init(r9983);
        mpfr_init_set_str(r9984, "771.3234287776531", 10, MPFR_RNDN);
        mpfr_init(r9985);
        mpfr_init_set_str(r9986, "3", 10, MPFR_RNDN);
        mpfr_init(r9987);
        mpfr_init(r9988);
        mpfr_init(r9989);
        mpfr_init(r9990);
        mpfr_init(r9991);
        mpfr_init_set_str(r9992, "-176.6150291621406", 10, MPFR_RNDN);
        mpfr_init_set_str(r9993, "4", 10, MPFR_RNDN);
        mpfr_init(r9994);
        mpfr_init(r9995);
        mpfr_init(r9996);
        mpfr_init(r9997);
        mpfr_init(r9998);
        mpfr_init_set_str(r9999, "0.9999999999998099", 10, MPFR_RNDN);
        mpfr_init_set_str(r10000, "-1259.1392167224028", 10, MPFR_RNDN);
        mpfr_init(r10001);
        mpfr_init(r10002);
        mpfr_init(r10003);
        mpfr_init_set_str(r10004, "676.5203681218851", 10, MPFR_RNDN);
        mpfr_init(r10005);
        mpfr_init(r10006);
        mpfr_init(r10007);
        mpfr_init(r10008);
        mpfr_init_set_str(r10009, "1.5056327351493116e-07", 10, MPFR_RNDN);
        mpfr_init_set_str(r10010, "8", 10, MPFR_RNDN);
        mpfr_init(r10011);
        mpfr_init(r10012);
        mpfr_init(r10013);
        mpfr_init_set_str(r10014, "9.984369578019572e-06", 10, MPFR_RNDN);
        mpfr_init(r10015);
        mpfr_init(r10016);
        mpfr_init(r10017);
        mpfr_init(r10018);
        mpfr_init(r10019);
        mpfr_init(r10020);
}

double f_fm(double z) {
        ;
        mpfr_const_pi(r9949, MPFR_RNDN);
        mpfr_mul(r9950, r9948, r9949, MPFR_RNDN);
        mpfr_sqrt(r9951, r9950, MPFR_RNDN);
        mpfr_set_d(r9952, z, MPFR_RNDN);
        mpfr_mul(r9953, r9949, r9952, MPFR_RNDN);
        mpfr_sin(r9954, r9953, MPFR_RNDN);
        mpfr_div(r9955, r9949, r9954, MPFR_RNDN);
        mpfr_mul(r9956, r9951, r9955, MPFR_RNDN);
        ;
        ;
        mpfr_add(r9959, r9957, r9958, MPFR_RNDN);
        mpfr_add(r9960, r9957, r9952, MPFR_RNDN);
        mpfr_sub(r9961, r9959, r9960, MPFR_RNDN);
        ;
        mpfr_add(r9963, r9961, r9962, MPFR_RNDN);
        mpfr_pow(r9964, r9963, r9961, MPFR_RNDN);
        mpfr_add(r9965, r9959, r9962, MPFR_RNDN);
        mpfr_exp(r9966, r9965, MPFR_RNDN);
        mpfr_div(r9967, r9957, r9966, MPFR_RNDN);
        mpfr_mul(r9968, r9964, r9967, MPFR_RNDN);
        mpfr_exp(r9969, r9960, MPFR_RNDN);
        mpfr_mul(r9970, r9968, r9969, MPFR_RNDN);
        mpfr_mul(r9971, r9956, r9970, MPFR_RNDN);
        ;
        ;
        mpfr_add(r9974, r9957, r9973, MPFR_RNDN);
        mpfr_sub(r9975, r9974, r9960, MPFR_RNDN);
        mpfr_div(r9976, r9972, r9975, MPFR_RNDN);
        ;
        mpfr_sub(r9978, r9957, r9952, MPFR_RNDN);
        ;
        mpfr_sub(r9980, r9957, r9979, MPFR_RNDN);
        mpfr_sub(r9981, r9978, r9980, MPFR_RNDN);
        mpfr_div(r9982, r9977, r9981, MPFR_RNDN);
        mpfr_add(r9983, r9976, r9982, MPFR_RNDN);
        ;
        mpfr_mul(r9985, r9978, r9978, MPFR_RNDN);
        ;
        mpfr_sub(r9987, r9957, r9986, MPFR_RNDN);
        mpfr_mul(r9988, r9987, r9987, MPFR_RNDN);
        mpfr_sub(r9989, r9985, r9988, MPFR_RNDN);
        mpfr_div(r9990, r9984, r9989, MPFR_RNDN);
        mpfr_add(r9991, r9987, r9978, MPFR_RNDN);
        ;
        ;
        mpfr_sub(r9994, r9957, r9993, MPFR_RNDN);
        mpfr_sub(r9995, r9978, r9994, MPFR_RNDN);
        mpfr_div(r9996, r9992, r9995, MPFR_RNDN);
        mpfr_fma(r9997, r9990, r9991, r9996, MPFR_RNDN);
        mpfr_add(r9998, r9983, r9997, MPFR_RNDN);
        ;
        ;
        mpfr_add(r10001, r9948, r9957, MPFR_RNDN);
        mpfr_sub(r10002, r10001, r9960, MPFR_RNDN);
        mpfr_div(r10003, r10000, r10002, MPFR_RNDN);
        ;
        mpfr_div(r10005, r10004, r9978, MPFR_RNDN);
        mpfr_add(r10006, r10003, r10005, MPFR_RNDN);
        mpfr_add(r10007, r9999, r10006, MPFR_RNDN);
        mpfr_add(r10008, r9998, r10007, MPFR_RNDN);
        ;
        ;
        mpfr_add(r10011, r10010, r9957, MPFR_RNDN);
        mpfr_sub(r10012, r10011, r9960, MPFR_RNDN);
        mpfr_div(r10013, r10009, r10012, MPFR_RNDN);
        ;
        mpfr_add(r10015, r9957, r9962, MPFR_RNDN);
        mpfr_sub(r10016, r10015, r9960, MPFR_RNDN);
        mpfr_div(r10017, r10014, r10016, MPFR_RNDN);
        mpfr_add(r10018, r10013, r10017, MPFR_RNDN);
        mpfr_add(r10019, r10008, r10018, MPFR_RNDN);
        mpfr_mul(r10020, r9971, r10019, MPFR_RNDN);
        return mpfr_get_d(r10020, MPFR_RNDN);
}

static mpfr_t r10021, r10022, r10023, r10024, r10025, r10026, r10027, r10028, r10029, r10030, r10031, r10032, r10033, r10034, r10035, r10036, r10037, r10038, r10039, r10040, r10041, r10042, r10043, r10044, r10045, r10046, r10047, r10048, r10049, r10050, r10051, r10052, r10053, r10054, r10055, r10056, r10057, r10058, r10059, r10060, r10061, r10062, r10063, r10064, r10065, r10066, r10067, r10068, r10069, r10070, r10071, r10072, r10073, r10074, r10075, r10076, r10077, r10078, r10079, r10080, r10081, r10082, r10083, r10084, r10085, r10086, r10087, r10088, r10089, r10090, r10091, r10092, r10093;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(592);
        mpfr_init_set_str(r10021, "2", 10, MPFR_RNDN);
        mpfr_init(r10022);
        mpfr_init(r10023);
        mpfr_init(r10024);
        mpfr_init(r10025);
        mpfr_init(r10026);
        mpfr_init(r10027);
        mpfr_init(r10028);
        mpfr_init(r10029);
        mpfr_init_set_str(r10030, "1", 10, MPFR_RNDN);
        mpfr_init_set_str(r10031, "0.5", 10, MPFR_RNDN);
        mpfr_init(r10032);
        mpfr_init(r10033);
        mpfr_init(r10034);
        mpfr_init_set_str(r10035, "7", 10, MPFR_RNDN);
        mpfr_init(r10036);
        mpfr_init(r10037);
        mpfr_init(r10038);
        mpfr_init(r10039);
        mpfr_init(r10040);
        mpfr_init(r10041);
        mpfr_init(r10042);
        mpfr_init(r10043);
        mpfr_init(r10044);
        mpfr_init_set_str(r10045, "-0.13857109526572012", 10, MPFR_RNDN);
        mpfr_init_set_str(r10046, "6", 10, MPFR_RNDN);
        mpfr_init(r10047);
        mpfr_init(r10048);
        mpfr_init(r10049);
        mpfr_init_set_str(r10050, "12.507343278686905", 10, MPFR_RNDN);
        mpfr_init(r10051);
        mpfr_init_set_str(r10052, "5", 10, MPFR_RNDN);
        mpfr_init(r10053);
        mpfr_init(r10054);
        mpfr_init(r10055);
        mpfr_init(r10056);
        mpfr_init_set_str(r10057, "771.3234287776531", 10, MPFR_RNDN);
        mpfr_init(r10058);
        mpfr_init_set_str(r10059, "3", 10, MPFR_RNDN);
        mpfr_init(r10060);
        mpfr_init(r10061);
        mpfr_init(r10062);
        mpfr_init(r10063);
        mpfr_init(r10064);
        mpfr_init_set_str(r10065, "-176.6150291621406", 10, MPFR_RNDN);
        mpfr_init_set_str(r10066, "4", 10, MPFR_RNDN);
        mpfr_init(r10067);
        mpfr_init(r10068);
        mpfr_init(r10069);
        mpfr_init(r10070);
        mpfr_init(r10071);
        mpfr_init_set_str(r10072, "0.9999999999998099", 10, MPFR_RNDN);
        mpfr_init_set_str(r10073, "-1259.1392167224028", 10, MPFR_RNDN);
        mpfr_init(r10074);
        mpfr_init(r10075);
        mpfr_init(r10076);
        mpfr_init_set_str(r10077, "676.5203681218851", 10, MPFR_RNDN);
        mpfr_init(r10078);
        mpfr_init(r10079);
        mpfr_init(r10080);
        mpfr_init(r10081);
        mpfr_init_set_str(r10082, "1.5056327351493116e-07", 10, MPFR_RNDN);
        mpfr_init_set_str(r10083, "8", 10, MPFR_RNDN);
        mpfr_init(r10084);
        mpfr_init(r10085);
        mpfr_init(r10086);
        mpfr_init_set_str(r10087, "9.984369578019572e-06", 10, MPFR_RNDN);
        mpfr_init(r10088);
        mpfr_init(r10089);
        mpfr_init(r10090);
        mpfr_init(r10091);
        mpfr_init(r10092);
        mpfr_init(r10093);
}

double f_dm(double z) {
        ;
        mpfr_const_pi(r10022, MPFR_RNDN);
        mpfr_mul(r10023, r10021, r10022, MPFR_RNDN);
        mpfr_sqrt(r10024, r10023, MPFR_RNDN);
        mpfr_set_d(r10025, z, MPFR_RNDN);
        mpfr_mul(r10026, r10022, r10025, MPFR_RNDN);
        mpfr_sin(r10027, r10026, MPFR_RNDN);
        mpfr_div(r10028, r10022, r10027, MPFR_RNDN);
        mpfr_mul(r10029, r10024, r10028, MPFR_RNDN);
        ;
        ;
        mpfr_add(r10032, r10030, r10031, MPFR_RNDN);
        mpfr_add(r10033, r10030, r10025, MPFR_RNDN);
        mpfr_sub(r10034, r10032, r10033, MPFR_RNDN);
        ;
        mpfr_add(r10036, r10034, r10035, MPFR_RNDN);
        mpfr_pow(r10037, r10036, r10034, MPFR_RNDN);
        mpfr_add(r10038, r10032, r10035, MPFR_RNDN);
        mpfr_exp(r10039, r10038, MPFR_RNDN);
        mpfr_div(r10040, r10030, r10039, MPFR_RNDN);
        mpfr_mul(r10041, r10037, r10040, MPFR_RNDN);
        mpfr_exp(r10042, r10033, MPFR_RNDN);
        mpfr_mul(r10043, r10041, r10042, MPFR_RNDN);
        mpfr_mul(r10044, r10029, r10043, MPFR_RNDN);
        ;
        ;
        mpfr_add(r10047, r10030, r10046, MPFR_RNDN);
        mpfr_sub(r10048, r10047, r10033, MPFR_RNDN);
        mpfr_div(r10049, r10045, r10048, MPFR_RNDN);
        ;
        mpfr_sub(r10051, r10030, r10025, MPFR_RNDN);
        ;
        mpfr_sub(r10053, r10030, r10052, MPFR_RNDN);
        mpfr_sub(r10054, r10051, r10053, MPFR_RNDN);
        mpfr_div(r10055, r10050, r10054, MPFR_RNDN);
        mpfr_add(r10056, r10049, r10055, MPFR_RNDN);
        ;
        mpfr_mul(r10058, r10051, r10051, MPFR_RNDN);
        ;
        mpfr_sub(r10060, r10030, r10059, MPFR_RNDN);
        mpfr_mul(r10061, r10060, r10060, MPFR_RNDN);
        mpfr_sub(r10062, r10058, r10061, MPFR_RNDN);
        mpfr_div(r10063, r10057, r10062, MPFR_RNDN);
        mpfr_add(r10064, r10060, r10051, MPFR_RNDN);
        ;
        ;
        mpfr_sub(r10067, r10030, r10066, MPFR_RNDN);
        mpfr_sub(r10068, r10051, r10067, MPFR_RNDN);
        mpfr_div(r10069, r10065, r10068, MPFR_RNDN);
        mpfr_fma(r10070, r10063, r10064, r10069, MPFR_RNDN);
        mpfr_add(r10071, r10056, r10070, MPFR_RNDN);
        ;
        ;
        mpfr_add(r10074, r10021, r10030, MPFR_RNDN);
        mpfr_sub(r10075, r10074, r10033, MPFR_RNDN);
        mpfr_div(r10076, r10073, r10075, MPFR_RNDN);
        ;
        mpfr_div(r10078, r10077, r10051, MPFR_RNDN);
        mpfr_add(r10079, r10076, r10078, MPFR_RNDN);
        mpfr_add(r10080, r10072, r10079, MPFR_RNDN);
        mpfr_add(r10081, r10071, r10080, MPFR_RNDN);
        ;
        ;
        mpfr_add(r10084, r10083, r10030, MPFR_RNDN);
        mpfr_sub(r10085, r10084, r10033, MPFR_RNDN);
        mpfr_div(r10086, r10082, r10085, MPFR_RNDN);
        ;
        mpfr_add(r10088, r10030, r10035, MPFR_RNDN);
        mpfr_sub(r10089, r10088, r10033, MPFR_RNDN);
        mpfr_div(r10090, r10087, r10089, MPFR_RNDN);
        mpfr_add(r10091, r10086, r10090, MPFR_RNDN);
        mpfr_add(r10092, r10081, r10091, MPFR_RNDN);
        mpfr_mul(r10093, r10044, r10092, MPFR_RNDN);
        return mpfr_get_d(r10093, MPFR_RNDN);
}

