#include <tgmath.h>
#include <gmp.h>
#include <mpfr.h>
#include <stdio.h>
#include <stdbool.h>

char *name = "Jmat.Real.gamma, branch z greater than 0.5";

double f_if(float z) {
        float r27599 = atan2(1.0, 0.0);
        float r27600 = 2.0f;
        float r27601 = r27599 * r27600;
        float r27602 = sqrt(r27601);
        float r27603 = z;
        float r27604 = 1.0f;
        float r27605 = r27603 - r27604;
        float r27606 = 7.0f;
        float r27607 = r27605 + r27606;
        float r27608 = 0.5f;
        float r27609 = r27607 + r27608;
        float r27610 = r27605 + r27608;
        float r27611 = pow(r27609, r27610);
        float r27612 = r27602 * r27611;
        float r27613 = -r27609;
        float r27614 = exp(r27613);
        float r27615 = r27612 * r27614;
        float r27616 = 0.9999999999998099f;
        float r27617 = 676.5203681218851f;
        float r27618 = r27605 + r27604;
        float r27619 = r27617 / r27618;
        float r27620 = r27616 + r27619;
        float r27621 = -1259.1392167224028f;
        float r27622 = r27605 + r27600;
        float r27623 = r27621 / r27622;
        float r27624 = r27620 + r27623;
        float r27625 = 771.3234287776531f;
        float r27626 = 3.0f;
        float r27627 = r27605 + r27626;
        float r27628 = r27625 / r27627;
        float r27629 = r27624 + r27628;
        float r27630 = -176.6150291621406f;
        float r27631 = 4.0f;
        float r27632 = r27605 + r27631;
        float r27633 = r27630 / r27632;
        float r27634 = r27629 + r27633;
        float r27635 = 12.507343278686905f;
        float r27636 = 5.0f;
        float r27637 = r27605 + r27636;
        float r27638 = r27635 / r27637;
        float r27639 = r27634 + r27638;
        float r27640 = -0.13857109526572012f;
        float r27641 = 6.0f;
        float r27642 = r27605 + r27641;
        float r27643 = r27640 / r27642;
        float r27644 = r27639 + r27643;
        float r27645 = 9.984369578019572e-06f;
        float r27646 = r27645 / r27607;
        float r27647 = r27644 + r27646;
        float r27648 = 1.5056327351493116e-07f;
        float r27649 = 8.0f;
        float r27650 = r27605 + r27649;
        float r27651 = r27648 / r27650;
        float r27652 = r27647 + r27651;
        float r27653 = r27615 * r27652;
        return r27653;
}

double f_id(double z) {
        double r27654 = atan2(1.0, 0.0);
        double r27655 = 2.0;
        double r27656 = r27654 * r27655;
        double r27657 = sqrt(r27656);
        double r27658 = z;
        double r27659 = 1.0;
        double r27660 = r27658 - r27659;
        double r27661 = 7.0;
        double r27662 = r27660 + r27661;
        double r27663 = 0.5;
        double r27664 = r27662 + r27663;
        double r27665 = r27660 + r27663;
        double r27666 = pow(r27664, r27665);
        double r27667 = r27657 * r27666;
        double r27668 = -r27664;
        double r27669 = exp(r27668);
        double r27670 = r27667 * r27669;
        double r27671 = 0.9999999999998099;
        double r27672 = 676.5203681218851;
        double r27673 = r27660 + r27659;
        double r27674 = r27672 / r27673;
        double r27675 = r27671 + r27674;
        double r27676 = -1259.1392167224028;
        double r27677 = r27660 + r27655;
        double r27678 = r27676 / r27677;
        double r27679 = r27675 + r27678;
        double r27680 = 771.3234287776531;
        double r27681 = 3.0;
        double r27682 = r27660 + r27681;
        double r27683 = r27680 / r27682;
        double r27684 = r27679 + r27683;
        double r27685 = -176.6150291621406;
        double r27686 = 4.0;
        double r27687 = r27660 + r27686;
        double r27688 = r27685 / r27687;
        double r27689 = r27684 + r27688;
        double r27690 = 12.507343278686905;
        double r27691 = 5.0;
        double r27692 = r27660 + r27691;
        double r27693 = r27690 / r27692;
        double r27694 = r27689 + r27693;
        double r27695 = -0.13857109526572012;
        double r27696 = 6.0;
        double r27697 = r27660 + r27696;
        double r27698 = r27695 / r27697;
        double r27699 = r27694 + r27698;
        double r27700 = 9.984369578019572e-06;
        double r27701 = r27700 / r27662;
        double r27702 = r27699 + r27701;
        double r27703 = 1.5056327351493116e-07;
        double r27704 = 8.0;
        double r27705 = r27660 + r27704;
        double r27706 = r27703 / r27705;
        double r27707 = r27702 + r27706;
        double r27708 = r27670 * r27707;
        return r27708;
}


double f_of(float z) {
        float r27709 = 0.5f;
        float r27710 = 7.0f;
        float r27711 = r27709 + r27710;
        float r27712 = z;
        float r27713 = 1.0f;
        float r27714 = r27712 - r27713;
        float r27715 = r27711 + r27714;
        float r27716 = r27713 - r27709;
        float r27717 = r27712 - r27716;
        float r27718 = pow(r27715, r27717);
        float r27719 = atan2(1.0, 0.0);
        float r27720 = r27719 + r27719;
        float r27721 = sqrt(r27720);
        float r27722 = r27718 * r27721;
        float r27723 = cbrt(r27722);
        float r27724 = exp(r27715);
        float r27725 = cbrt(r27724);
        float r27726 = r27723 / r27725;
        float r27727 = r27726 * (r27726 * r27726);
        float r27728 = 1.5056327351493116e-07f;
        float r27729 = 8.0f;
        float r27730 = r27729 + r27712;
        float r27731 = r27730 - r27713;
        float r27732 = r27728 / r27731;
        float r27733 = 9.984369578019572e-06f;
        float r27734 = r27714 + r27710;
        float r27735 = r27733 / r27734;
        float r27736 = r27732 + r27735;
        float r27737 = -0.13857109526572012f;
        float r27738 = 6.0f;
        float r27739 = r27714 + r27738;
        float r27740 = r27737 / r27739;
        float r27741 = 12.507343278686905f;
        float r27742 = 5.0f;
        float r27743 = r27713 - r27742;
        float r27744 = r27712 - r27743;
        float r27745 = r27741 / r27744;
        float r27746 = r27740 + r27745;
        float r27747 = r27736 + r27746;
        float r27748 = 676.5203681218851f;
        float r27749 = 0.0f;
        float r27750 = r27712 - r27749;
        float r27751 = r27748 / r27750;
        float r27752 = 0.9999999999998099f;
        float r27753 = r27751 + r27752;
        float r27754 = -176.6150291621406f;
        float r27755 = 4.0f;
        float r27756 = r27713 - r27755;
        float r27757 = r27712 - r27756;
        float r27758 = r27754 / r27757;
        float r27759 = r27753 + r27758;
        float r27760 = -1259.1392167224028f;
        float r27761 = 2.0f;
        float r27762 = r27714 + r27761;
        float r27763 = r27760 / r27762;
        float r27764 = 771.3234287776531f;
        float r27765 = 3.0f;
        float r27766 = r27712 + r27765;
        float r27767 = r27766 - r27713;
        float r27768 = r27764 / r27767;
        float r27769 = r27763 + r27768;
        float r27770 = r27759 + r27769;
        float r27771 = r27747 + r27770;
        float r27772 = r27727 * r27771;
        return r27772;
}

double f_od(double z) {
        double r27773 = 0.5;
        double r27774 = 7.0;
        double r27775 = r27773 + r27774;
        double r27776 = z;
        double r27777 = 1.0;
        double r27778 = r27776 - r27777;
        double r27779 = r27775 + r27778;
        double r27780 = r27777 - r27773;
        double r27781 = r27776 - r27780;
        double r27782 = pow(r27779, r27781);
        double r27783 = atan2(1.0, 0.0);
        double r27784 = r27783 + r27783;
        double r27785 = sqrt(r27784);
        double r27786 = r27782 * r27785;
        double r27787 = cbrt(r27786);
        double r27788 = exp(r27779);
        double r27789 = cbrt(r27788);
        double r27790 = r27787 / r27789;
        double r27791 = r27790 * (r27790 * r27790);
        double r27792 = 1.5056327351493116e-07;
        double r27793 = 8.0;
        double r27794 = r27793 + r27776;
        double r27795 = r27794 - r27777;
        double r27796 = r27792 / r27795;
        double r27797 = 9.984369578019572e-06;
        double r27798 = r27778 + r27774;
        double r27799 = r27797 / r27798;
        double r27800 = r27796 + r27799;
        double r27801 = -0.13857109526572012;
        double r27802 = 6.0;
        double r27803 = r27778 + r27802;
        double r27804 = r27801 / r27803;
        double r27805 = 12.507343278686905;
        double r27806 = 5.0;
        double r27807 = r27777 - r27806;
        double r27808 = r27776 - r27807;
        double r27809 = r27805 / r27808;
        double r27810 = r27804 + r27809;
        double r27811 = r27800 + r27810;
        double r27812 = 676.5203681218851;
        double r27813 = 0.0;
        double r27814 = r27776 - r27813;
        double r27815 = r27812 / r27814;
        double r27816 = 0.9999999999998099;
        double r27817 = r27815 + r27816;
        double r27818 = -176.6150291621406;
        double r27819 = 4.0;
        double r27820 = r27777 - r27819;
        double r27821 = r27776 - r27820;
        double r27822 = r27818 / r27821;
        double r27823 = r27817 + r27822;
        double r27824 = -1259.1392167224028;
        double r27825 = 2.0;
        double r27826 = r27778 + r27825;
        double r27827 = r27824 / r27826;
        double r27828 = 771.3234287776531;
        double r27829 = 3.0;
        double r27830 = r27776 + r27829;
        double r27831 = r27830 - r27777;
        double r27832 = r27828 / r27831;
        double r27833 = r27827 + r27832;
        double r27834 = r27823 + r27833;
        double r27835 = r27811 + r27834;
        double r27836 = r27791 * r27835;
        return r27836;
}

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 r27837, r27838, r27839, r27840, r27841, r27842, r27843, r27844, r27845, r27846, r27847, r27848, r27849, r27850, r27851, r27852, r27853, r27854, r27855, r27856, r27857, r27858, r27859, r27860, r27861, r27862, r27863, r27864, r27865, r27866, r27867, r27868, r27869, r27870, r27871, r27872, r27873, r27874, r27875, r27876, r27877, r27878, r27879, r27880, r27881, r27882, r27883, r27884, r27885, r27886, r27887, r27888, r27889, r27890, r27891;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(144);
        mpfr_init(r27837);
        mpfr_init_set_str(r27838, "2", 10, MPFR_RNDN);
        mpfr_init(r27839);
        mpfr_init(r27840);
        mpfr_init(r27841);
        mpfr_init_set_str(r27842, "1", 10, MPFR_RNDN);
        mpfr_init(r27843);
        mpfr_init_set_str(r27844, "7", 10, MPFR_RNDN);
        mpfr_init(r27845);
        mpfr_init_set_str(r27846, "0.5", 10, MPFR_RNDN);
        mpfr_init(r27847);
        mpfr_init(r27848);
        mpfr_init(r27849);
        mpfr_init(r27850);
        mpfr_init(r27851);
        mpfr_init(r27852);
        mpfr_init(r27853);
        mpfr_init_set_str(r27854, "0.9999999999998099", 10, MPFR_RNDN);
        mpfr_init_set_str(r27855, "676.5203681218851", 10, MPFR_RNDN);
        mpfr_init(r27856);
        mpfr_init(r27857);
        mpfr_init(r27858);
        mpfr_init_set_str(r27859, "-1259.1392167224028", 10, MPFR_RNDN);
        mpfr_init(r27860);
        mpfr_init(r27861);
        mpfr_init(r27862);
        mpfr_init_set_str(r27863, "771.3234287776531", 10, MPFR_RNDN);
        mpfr_init_set_str(r27864, "3", 10, MPFR_RNDN);
        mpfr_init(r27865);
        mpfr_init(r27866);
        mpfr_init(r27867);
        mpfr_init_set_str(r27868, "-176.6150291621406", 10, MPFR_RNDN);
        mpfr_init_set_str(r27869, "4", 10, MPFR_RNDN);
        mpfr_init(r27870);
        mpfr_init(r27871);
        mpfr_init(r27872);
        mpfr_init_set_str(r27873, "12.507343278686905", 10, MPFR_RNDN);
        mpfr_init_set_str(r27874, "5", 10, MPFR_RNDN);
        mpfr_init(r27875);
        mpfr_init(r27876);
        mpfr_init(r27877);
        mpfr_init_set_str(r27878, "-0.13857109526572012", 10, MPFR_RNDN);
        mpfr_init_set_str(r27879, "6", 10, MPFR_RNDN);
        mpfr_init(r27880);
        mpfr_init(r27881);
        mpfr_init(r27882);
        mpfr_init_set_str(r27883, "9.984369578019572e-06", 10, MPFR_RNDN);
        mpfr_init(r27884);
        mpfr_init(r27885);
        mpfr_init_set_str(r27886, "1.5056327351493116e-07", 10, MPFR_RNDN);
        mpfr_init_set_str(r27887, "8", 10, MPFR_RNDN);
        mpfr_init(r27888);
        mpfr_init(r27889);
        mpfr_init(r27890);
        mpfr_init(r27891);
}

double f_im(double z) {
        mpfr_const_pi(r27837, MPFR_RNDN);
        ;
        mpfr_mul(r27839, r27837, r27838, MPFR_RNDN);
        mpfr_sqrt(r27840, r27839, MPFR_RNDN);
        mpfr_set_d(r27841, z, MPFR_RNDN);
        ;
        mpfr_sub(r27843, r27841, r27842, MPFR_RNDN);
        ;
        mpfr_add(r27845, r27843, r27844, MPFR_RNDN);
        ;
        mpfr_add(r27847, r27845, r27846, MPFR_RNDN);
        mpfr_add(r27848, r27843, r27846, MPFR_RNDN);
        mpfr_pow(r27849, r27847, r27848, MPFR_RNDN);
        mpfr_mul(r27850, r27840, r27849, MPFR_RNDN);
        mpfr_neg(r27851, r27847, MPFR_RNDN);
        mpfr_exp(r27852, r27851, MPFR_RNDN);
        mpfr_mul(r27853, r27850, r27852, MPFR_RNDN);
        ;
        ;
        mpfr_add(r27856, r27843, r27842, MPFR_RNDN);
        mpfr_div(r27857, r27855, r27856, MPFR_RNDN);
        mpfr_add(r27858, r27854, r27857, MPFR_RNDN);
        ;
        mpfr_add(r27860, r27843, r27838, MPFR_RNDN);
        mpfr_div(r27861, r27859, r27860, MPFR_RNDN);
        mpfr_add(r27862, r27858, r27861, MPFR_RNDN);
        ;
        ;
        mpfr_add(r27865, r27843, r27864, MPFR_RNDN);
        mpfr_div(r27866, r27863, r27865, MPFR_RNDN);
        mpfr_add(r27867, r27862, r27866, MPFR_RNDN);
        ;
        ;
        mpfr_add(r27870, r27843, r27869, MPFR_RNDN);
        mpfr_div(r27871, r27868, r27870, MPFR_RNDN);
        mpfr_add(r27872, r27867, r27871, MPFR_RNDN);
        ;
        ;
        mpfr_add(r27875, r27843, r27874, MPFR_RNDN);
        mpfr_div(r27876, r27873, r27875, MPFR_RNDN);
        mpfr_add(r27877, r27872, r27876, MPFR_RNDN);
        ;
        ;
        mpfr_add(r27880, r27843, r27879, MPFR_RNDN);
        mpfr_div(r27881, r27878, r27880, MPFR_RNDN);
        mpfr_add(r27882, r27877, r27881, MPFR_RNDN);
        ;
        mpfr_div(r27884, r27883, r27845, MPFR_RNDN);
        mpfr_add(r27885, r27882, r27884, MPFR_RNDN);
        ;
        ;
        mpfr_add(r27888, r27843, r27887, MPFR_RNDN);
        mpfr_div(r27889, r27886, r27888, MPFR_RNDN);
        mpfr_add(r27890, r27885, r27889, MPFR_RNDN);
        mpfr_mul(r27891, r27853, r27890, MPFR_RNDN);
        return mpfr_get_d(r27891, MPFR_RNDN);
}

static mpfr_t r27892, r27893, r27894, r27895, r27896, r27897, r27898, r27899, r27900, r27901, r27902, r27903, r27904, r27905, r27906, r27907, r27908, r27909, r27910, r27911, r27912, r27913, r27914, r27915, r27916, r27917, r27918, r27919, r27920, r27921, r27922, r27923, r27924, r27925, r27926, r27927, r27928, r27929, r27930, r27931, r27932, r27933, r27934, r27935, r27936, r27937, r27938, r27939, r27940, r27941, r27942, r27943, r27944, r27945, r27946, r27947, r27948, r27949, r27950, r27951, r27952, r27953, r27954, r27955;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(144);
        mpfr_init_set_str(r27892, "0.5", 10, MPFR_RNDN);
        mpfr_init_set_str(r27893, "7", 10, MPFR_RNDN);
        mpfr_init(r27894);
        mpfr_init(r27895);
        mpfr_init_set_str(r27896, "1", 10, MPFR_RNDN);
        mpfr_init(r27897);
        mpfr_init(r27898);
        mpfr_init(r27899);
        mpfr_init(r27900);
        mpfr_init(r27901);
        mpfr_init(r27902);
        mpfr_init(r27903);
        mpfr_init(r27904);
        mpfr_init(r27905);
        mpfr_init(r27906);
        mpfr_init(r27907);
        mpfr_init(r27908);
        mpfr_init(r27909);
        mpfr_init(r27910);
        mpfr_init_set_str(r27911, "1.5056327351493116e-07", 10, MPFR_RNDN);
        mpfr_init_set_str(r27912, "8", 10, MPFR_RNDN);
        mpfr_init(r27913);
        mpfr_init(r27914);
        mpfr_init(r27915);
        mpfr_init_set_str(r27916, "9.984369578019572e-06", 10, MPFR_RNDN);
        mpfr_init(r27917);
        mpfr_init(r27918);
        mpfr_init(r27919);
        mpfr_init_set_str(r27920, "-0.13857109526572012", 10, MPFR_RNDN);
        mpfr_init_set_str(r27921, "6", 10, MPFR_RNDN);
        mpfr_init(r27922);
        mpfr_init(r27923);
        mpfr_init_set_str(r27924, "12.507343278686905", 10, MPFR_RNDN);
        mpfr_init_set_str(r27925, "5", 10, MPFR_RNDN);
        mpfr_init(r27926);
        mpfr_init(r27927);
        mpfr_init(r27928);
        mpfr_init(r27929);
        mpfr_init(r27930);
        mpfr_init_set_str(r27931, "676.5203681218851", 10, MPFR_RNDN);
        mpfr_init_set_str(r27932, "0", 10, MPFR_RNDN);
        mpfr_init(r27933);
        mpfr_init(r27934);
        mpfr_init_set_str(r27935, "0.9999999999998099", 10, MPFR_RNDN);
        mpfr_init(r27936);
        mpfr_init_set_str(r27937, "-176.6150291621406", 10, MPFR_RNDN);
        mpfr_init_set_str(r27938, "4", 10, MPFR_RNDN);
        mpfr_init(r27939);
        mpfr_init(r27940);
        mpfr_init(r27941);
        mpfr_init(r27942);
        mpfr_init_set_str(r27943, "-1259.1392167224028", 10, MPFR_RNDN);
        mpfr_init_set_str(r27944, "2", 10, MPFR_RNDN);
        mpfr_init(r27945);
        mpfr_init(r27946);
        mpfr_init_set_str(r27947, "771.3234287776531", 10, MPFR_RNDN);
        mpfr_init_set_str(r27948, "3", 10, MPFR_RNDN);
        mpfr_init(r27949);
        mpfr_init(r27950);
        mpfr_init(r27951);
        mpfr_init(r27952);
        mpfr_init(r27953);
        mpfr_init(r27954);
        mpfr_init(r27955);
}

double f_fm(double z) {
        ;
        ;
        mpfr_add(r27894, r27892, r27893, MPFR_RNDN);
        mpfr_set_d(r27895, z, MPFR_RNDN);
        ;
        mpfr_sub(r27897, r27895, r27896, MPFR_RNDN);
        mpfr_add(r27898, r27894, r27897, MPFR_RNDN);
        mpfr_sub(r27899, r27896, r27892, MPFR_RNDN);
        mpfr_sub(r27900, r27895, r27899, MPFR_RNDN);
        mpfr_pow(r27901, r27898, r27900, MPFR_RNDN);
        mpfr_const_pi(r27902, MPFR_RNDN);
        mpfr_add(r27903, r27902, r27902, MPFR_RNDN);
        mpfr_sqrt(r27904, r27903, MPFR_RNDN);
        mpfr_mul(r27905, r27901, r27904, MPFR_RNDN);
        mpfr_cbrt(r27906, r27905, MPFR_RNDN);
        mpfr_exp(r27907, r27898, MPFR_RNDN);
        mpfr_cbrt(r27908, r27907, MPFR_RNDN);
        mpfr_div(r27909, r27906, r27908, MPFR_RNDN);
        mpfr_mul(r27910, r27909, r27909, MPFR_RNDN); mpfr_mul(r27910, r27910, r27909, MPFR_RNDN);
        ;
        ;
        mpfr_add(r27913, r27912, r27895, MPFR_RNDN);
        mpfr_sub(r27914, r27913, r27896, MPFR_RNDN);
        mpfr_div(r27915, r27911, r27914, MPFR_RNDN);
        ;
        mpfr_add(r27917, r27897, r27893, MPFR_RNDN);
        mpfr_div(r27918, r27916, r27917, MPFR_RNDN);
        mpfr_add(r27919, r27915, r27918, MPFR_RNDN);
        ;
        ;
        mpfr_add(r27922, r27897, r27921, MPFR_RNDN);
        mpfr_div(r27923, r27920, r27922, MPFR_RNDN);
        ;
        ;
        mpfr_sub(r27926, r27896, r27925, MPFR_RNDN);
        mpfr_sub(r27927, r27895, r27926, MPFR_RNDN);
        mpfr_div(r27928, r27924, r27927, MPFR_RNDN);
        mpfr_add(r27929, r27923, r27928, MPFR_RNDN);
        mpfr_add(r27930, r27919, r27929, MPFR_RNDN);
        ;
        ;
        mpfr_sub(r27933, r27895, r27932, MPFR_RNDN);
        mpfr_div(r27934, r27931, r27933, MPFR_RNDN);
        ;
        mpfr_add(r27936, r27934, r27935, MPFR_RNDN);
        ;
        ;
        mpfr_sub(r27939, r27896, r27938, MPFR_RNDN);
        mpfr_sub(r27940, r27895, r27939, MPFR_RNDN);
        mpfr_div(r27941, r27937, r27940, MPFR_RNDN);
        mpfr_add(r27942, r27936, r27941, MPFR_RNDN);
        ;
        ;
        mpfr_add(r27945, r27897, r27944, MPFR_RNDN);
        mpfr_div(r27946, r27943, r27945, MPFR_RNDN);
        ;
        ;
        mpfr_add(r27949, r27895, r27948, MPFR_RNDN);
        mpfr_sub(r27950, r27949, r27896, MPFR_RNDN);
        mpfr_div(r27951, r27947, r27950, MPFR_RNDN);
        mpfr_add(r27952, r27946, r27951, MPFR_RNDN);
        mpfr_add(r27953, r27942, r27952, MPFR_RNDN);
        mpfr_add(r27954, r27930, r27953, MPFR_RNDN);
        mpfr_mul(r27955, r27910, r27954, MPFR_RNDN);
        return mpfr_get_d(r27955, MPFR_RNDN);
}

static mpfr_t r27956, r27957, r27958, r27959, r27960, r27961, r27962, r27963, r27964, r27965, r27966, r27967, r27968, r27969, r27970, r27971, r27972, r27973, r27974, r27975, r27976, r27977, r27978, r27979, r27980, r27981, r27982, r27983, r27984, r27985, r27986, r27987, r27988, r27989, r27990, r27991, r27992, r27993, r27994, r27995, r27996, r27997, r27998, r27999, r28000, r28001, r28002, r28003, r28004, r28005, r28006, r28007, r28008, r28009, r28010, r28011, r28012, r28013, r28014, r28015, r28016, r28017, r28018, r28019;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(144);
        mpfr_init_set_str(r27956, "0.5", 10, MPFR_RNDN);
        mpfr_init_set_str(r27957, "7", 10, MPFR_RNDN);
        mpfr_init(r27958);
        mpfr_init(r27959);
        mpfr_init_set_str(r27960, "1", 10, MPFR_RNDN);
        mpfr_init(r27961);
        mpfr_init(r27962);
        mpfr_init(r27963);
        mpfr_init(r27964);
        mpfr_init(r27965);
        mpfr_init(r27966);
        mpfr_init(r27967);
        mpfr_init(r27968);
        mpfr_init(r27969);
        mpfr_init(r27970);
        mpfr_init(r27971);
        mpfr_init(r27972);
        mpfr_init(r27973);
        mpfr_init(r27974);
        mpfr_init_set_str(r27975, "1.5056327351493116e-07", 10, MPFR_RNDN);
        mpfr_init_set_str(r27976, "8", 10, MPFR_RNDN);
        mpfr_init(r27977);
        mpfr_init(r27978);
        mpfr_init(r27979);
        mpfr_init_set_str(r27980, "9.984369578019572e-06", 10, MPFR_RNDN);
        mpfr_init(r27981);
        mpfr_init(r27982);
        mpfr_init(r27983);
        mpfr_init_set_str(r27984, "-0.13857109526572012", 10, MPFR_RNDN);
        mpfr_init_set_str(r27985, "6", 10, MPFR_RNDN);
        mpfr_init(r27986);
        mpfr_init(r27987);
        mpfr_init_set_str(r27988, "12.507343278686905", 10, MPFR_RNDN);
        mpfr_init_set_str(r27989, "5", 10, MPFR_RNDN);
        mpfr_init(r27990);
        mpfr_init(r27991);
        mpfr_init(r27992);
        mpfr_init(r27993);
        mpfr_init(r27994);
        mpfr_init_set_str(r27995, "676.5203681218851", 10, MPFR_RNDN);
        mpfr_init_set_str(r27996, "0", 10, MPFR_RNDN);
        mpfr_init(r27997);
        mpfr_init(r27998);
        mpfr_init_set_str(r27999, "0.9999999999998099", 10, MPFR_RNDN);
        mpfr_init(r28000);
        mpfr_init_set_str(r28001, "-176.6150291621406", 10, MPFR_RNDN);
        mpfr_init_set_str(r28002, "4", 10, MPFR_RNDN);
        mpfr_init(r28003);
        mpfr_init(r28004);
        mpfr_init(r28005);
        mpfr_init(r28006);
        mpfr_init_set_str(r28007, "-1259.1392167224028", 10, MPFR_RNDN);
        mpfr_init_set_str(r28008, "2", 10, MPFR_RNDN);
        mpfr_init(r28009);
        mpfr_init(r28010);
        mpfr_init_set_str(r28011, "771.3234287776531", 10, MPFR_RNDN);
        mpfr_init_set_str(r28012, "3", 10, MPFR_RNDN);
        mpfr_init(r28013);
        mpfr_init(r28014);
        mpfr_init(r28015);
        mpfr_init(r28016);
        mpfr_init(r28017);
        mpfr_init(r28018);
        mpfr_init(r28019);
}

double f_dm(double z) {
        ;
        ;
        mpfr_add(r27958, r27956, r27957, MPFR_RNDN);
        mpfr_set_d(r27959, z, MPFR_RNDN);
        ;
        mpfr_sub(r27961, r27959, r27960, MPFR_RNDN);
        mpfr_add(r27962, r27958, r27961, MPFR_RNDN);
        mpfr_sub(r27963, r27960, r27956, MPFR_RNDN);
        mpfr_sub(r27964, r27959, r27963, MPFR_RNDN);
        mpfr_pow(r27965, r27962, r27964, MPFR_RNDN);
        mpfr_const_pi(r27966, MPFR_RNDN);
        mpfr_add(r27967, r27966, r27966, MPFR_RNDN);
        mpfr_sqrt(r27968, r27967, MPFR_RNDN);
        mpfr_mul(r27969, r27965, r27968, MPFR_RNDN);
        mpfr_cbrt(r27970, r27969, MPFR_RNDN);
        mpfr_exp(r27971, r27962, MPFR_RNDN);
        mpfr_cbrt(r27972, r27971, MPFR_RNDN);
        mpfr_div(r27973, r27970, r27972, MPFR_RNDN);
        mpfr_mul(r27974, r27973, r27973, MPFR_RNDN); mpfr_mul(r27974, r27974, r27973, MPFR_RNDN);
        ;
        ;
        mpfr_add(r27977, r27976, r27959, MPFR_RNDN);
        mpfr_sub(r27978, r27977, r27960, MPFR_RNDN);
        mpfr_div(r27979, r27975, r27978, MPFR_RNDN);
        ;
        mpfr_add(r27981, r27961, r27957, MPFR_RNDN);
        mpfr_div(r27982, r27980, r27981, MPFR_RNDN);
        mpfr_add(r27983, r27979, r27982, MPFR_RNDN);
        ;
        ;
        mpfr_add(r27986, r27961, r27985, MPFR_RNDN);
        mpfr_div(r27987, r27984, r27986, MPFR_RNDN);
        ;
        ;
        mpfr_sub(r27990, r27960, r27989, MPFR_RNDN);
        mpfr_sub(r27991, r27959, r27990, MPFR_RNDN);
        mpfr_div(r27992, r27988, r27991, MPFR_RNDN);
        mpfr_add(r27993, r27987, r27992, MPFR_RNDN);
        mpfr_add(r27994, r27983, r27993, MPFR_RNDN);
        ;
        ;
        mpfr_sub(r27997, r27959, r27996, MPFR_RNDN);
        mpfr_div(r27998, r27995, r27997, MPFR_RNDN);
        ;
        mpfr_add(r28000, r27998, r27999, MPFR_RNDN);
        ;
        ;
        mpfr_sub(r28003, r27960, r28002, MPFR_RNDN);
        mpfr_sub(r28004, r27959, r28003, MPFR_RNDN);
        mpfr_div(r28005, r28001, r28004, MPFR_RNDN);
        mpfr_add(r28006, r28000, r28005, MPFR_RNDN);
        ;
        ;
        mpfr_add(r28009, r27961, r28008, MPFR_RNDN);
        mpfr_div(r28010, r28007, r28009, MPFR_RNDN);
        ;
        ;
        mpfr_add(r28013, r27959, r28012, MPFR_RNDN);
        mpfr_sub(r28014, r28013, r27960, MPFR_RNDN);
        mpfr_div(r28015, r28011, r28014, MPFR_RNDN);
        mpfr_add(r28016, r28010, r28015, MPFR_RNDN);
        mpfr_add(r28017, r28006, r28016, MPFR_RNDN);
        mpfr_add(r28018, r27994, r28017, MPFR_RNDN);
        mpfr_mul(r28019, r27974, r28018, MPFR_RNDN);
        return mpfr_get_d(r28019, MPFR_RNDN);
}

