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

char *name = "Jmat.Real.dawson";

double f_if(float x) {
        float r27612 = 1;
        float r27613 = 0.1049934947;
        float r27614 = x;
        float r27615 = r27614 * r27614;
        float r27616 = r27613 * r27615;
        float r27617 = r27612 + r27616;
        float r27618 = 0.0424060604;
        float r27619 = r27615 * r27615;
        float r27620 = r27618 * r27619;
        float r27621 = r27617 + r27620;
        float r27622 = 0.0072644182;
        float r27623 = r27619 * r27615;
        float r27624 = r27622 * r27623;
        float r27625 = r27621 + r27624;
        float r27626 = 0.0005064034;
        float r27627 = r27623 * r27615;
        float r27628 = r27626 * r27627;
        float r27629 = r27625 + r27628;
        float r27630 = 0.0001789971;
        float r27631 = r27627 * r27615;
        float r27632 = r27630 * r27631;
        float r27633 = r27629 + r27632;
        float r27634 = 0.7715471019;
        float r27635 = r27634 * r27615;
        float r27636 = r27612 + r27635;
        float r27637 = 0.2909738639;
        float r27638 = r27637 * r27619;
        float r27639 = r27636 + r27638;
        float r27640 = 0.0694555761;
        float r27641 = r27640 * r27623;
        float r27642 = r27639 + r27641;
        float r27643 = 0.0140005442;
        float r27644 = r27643 * r27627;
        float r27645 = r27642 + r27644;
        float r27646 = 0.0008327945;
        float r27647 = r27646 * r27631;
        float r27648 = r27645 + r27647;
        float r27649 = 2;
        float r27650 = r27649 * r27630;
        float r27651 = r27631 * r27615;
        float r27652 = r27650 * r27651;
        float r27653 = r27648 + r27652;
        float r27654 = r27633 / r27653;
        float r27655 = r27654 * r27614;
        return r27655;
}

double f_id(double x) {
        double r27656 = 1;
        double r27657 = 0.1049934947;
        double r27658 = x;
        double r27659 = r27658 * r27658;
        double r27660 = r27657 * r27659;
        double r27661 = r27656 + r27660;
        double r27662 = 0.0424060604;
        double r27663 = r27659 * r27659;
        double r27664 = r27662 * r27663;
        double r27665 = r27661 + r27664;
        double r27666 = 0.0072644182;
        double r27667 = r27663 * r27659;
        double r27668 = r27666 * r27667;
        double r27669 = r27665 + r27668;
        double r27670 = 0.0005064034;
        double r27671 = r27667 * r27659;
        double r27672 = r27670 * r27671;
        double r27673 = r27669 + r27672;
        double r27674 = 0.0001789971;
        double r27675 = r27671 * r27659;
        double r27676 = r27674 * r27675;
        double r27677 = r27673 + r27676;
        double r27678 = 0.7715471019;
        double r27679 = r27678 * r27659;
        double r27680 = r27656 + r27679;
        double r27681 = 0.2909738639;
        double r27682 = r27681 * r27663;
        double r27683 = r27680 + r27682;
        double r27684 = 0.0694555761;
        double r27685 = r27684 * r27667;
        double r27686 = r27683 + r27685;
        double r27687 = 0.0140005442;
        double r27688 = r27687 * r27671;
        double r27689 = r27686 + r27688;
        double r27690 = 0.0008327945;
        double r27691 = r27690 * r27675;
        double r27692 = r27689 + r27691;
        double r27693 = 2;
        double r27694 = r27693 * r27674;
        double r27695 = r27675 * r27659;
        double r27696 = r27694 * r27695;
        double r27697 = r27692 + r27696;
        double r27698 = r27677 / r27697;
        double r27699 = r27698 * r27658;
        return r27699;
}


double f_of(float x) {
        float r27700 = 0.5;
        float r27701 = x;
        float r27702 = r27700 / r27701;
        float r27703 = 0.2514179000665375;
        float r27704 = r27703 * r27701;
        float r27705 = 4;
        float r27706 = pow(r27701, r27705);
        float r27707 = r27704 / r27706;
        float r27708 = 0.15298196345929327;
        float r27709 = r27708 * r27701;
        float r27710 = 6;
        float r27711 = pow(r27701, r27710);
        float r27712 = r27709 / r27711;
        float r27713 = r27707 + r27712;
        float r27714 = r27702 + r27713;
        float r27715 = -0.0003066489264684035;
        bool r27716 = r27714 <= r27715;
        float r27717 = r27701 * r27701;
        float r27718 = 0.1049934947;
        float r27719 = r27717 * r27718;
        float r27720 = 1;
        float r27721 = r27719 + r27720;
        float r27722 = r27717 * r27717;
        float r27723 = 0.0424060604;
        float r27724 = 0.0072644182;
        float r27725 = r27724 * r27717;
        float r27726 = r27723 + r27725;
        float r27727 = r27722 * r27726;
        float r27728 = r27721 + r27727;
        float r27729 = 3;
        float r27730 = r27729 + r27720;
        float r27731 = pow(r27717, r27730);
        float r27732 = 0.0001789971;
        float r27733 = r27717 * r27732;
        float r27734 = 0.0005064034;
        float r27735 = r27733 + r27734;
        float r27736 = r27731 * r27735;
        float r27737 = r27728 + r27736;
        float r27738 = pow(r27717, r27729);
        float r27739 = r27722 * r27738;
        float r27740 = 0.0008327945;
        float r27741 = 2;
        float r27742 = r27732 * r27741;
        float r27743 = r27742 * r27717;
        float r27744 = r27740 + r27743;
        float r27745 = r27739 * r27744;
        float r27746 = 0.7715471019;
        float r27747 = r27746 * r27717;
        float r27748 = r27747 + r27720;
        float r27749 = 0.0140005442;
        float r27750 = r27749 * r27717;
        float r27751 = r27750 * r27738;
        float r27752 = r27748 + r27751;
        float r27753 = 0.0694555761;
        float r27754 = r27753 * r27717;
        float r27755 = 0.2909738639;
        float r27756 = r27754 + r27755;
        float r27757 = r27722 * r27756;
        float r27758 = r27752 + r27757;
        float r27759 = r27745 + r27758;
        float r27760 = r27737 / r27759;
        float r27761 = log(r27760);
        float r27762 = exp(r27761);
        float r27763 = r27762 * r27701;
        float r27764 = 3.4524091359178665e-32;
        bool r27765 = r27714 <= r27764;
        float r27766 = r27718 * r27717;
        float r27767 = r27720 + r27766;
        float r27768 = r27723 * r27722;
        float r27769 = r27767 + r27768;
        float r27770 = r27722 * r27717;
        float r27771 = r27724 * r27770;
        float r27772 = r27769 + r27771;
        float r27773 = r27770 * r27717;
        float r27774 = r27734 * r27773;
        float r27775 = r27772 + r27774;
        float r27776 = r27773 * r27717;
        float r27777 = r27732 * r27776;
        float r27778 = r27775 + r27777;
        float r27779 = r27720 + r27747;
        float r27780 = r27755 * r27722;
        float r27781 = r27779 + r27780;
        float r27782 = r27753 * r27770;
        float r27783 = r27781 + r27782;
        float r27784 = r27749 * r27773;
        float r27785 = r27783 + r27784;
        float r27786 = r27740 * r27776;
        float r27787 = r27785 + r27786;
        float r27788 = r27741 * r27732;
        float r27789 = r27776 * r27717;
        float r27790 = r27788 * r27789;
        float r27791 = r27787 + r27790;
        float r27792 = r27778 / r27791;
        float r27793 = r27792 * r27701;
        float r27794 = r27765 ? r27714 : r27793;
        float r27795 = r27716 ? r27763 : r27794;
        return r27795;
}

double f_od(double x) {
        double r27796 = 0.5;
        double r27797 = x;
        double r27798 = r27796 / r27797;
        double r27799 = 0.2514179000665375;
        double r27800 = r27799 * r27797;
        double r27801 = 4;
        double r27802 = pow(r27797, r27801);
        double r27803 = r27800 / r27802;
        double r27804 = 0.15298196345929327;
        double r27805 = r27804 * r27797;
        double r27806 = 6;
        double r27807 = pow(r27797, r27806);
        double r27808 = r27805 / r27807;
        double r27809 = r27803 + r27808;
        double r27810 = r27798 + r27809;
        double r27811 = -0.0003066489264684035;
        bool r27812 = r27810 <= r27811;
        double r27813 = r27797 * r27797;
        double r27814 = 0.1049934947;
        double r27815 = r27813 * r27814;
        double r27816 = 1;
        double r27817 = r27815 + r27816;
        double r27818 = r27813 * r27813;
        double r27819 = 0.0424060604;
        double r27820 = 0.0072644182;
        double r27821 = r27820 * r27813;
        double r27822 = r27819 + r27821;
        double r27823 = r27818 * r27822;
        double r27824 = r27817 + r27823;
        double r27825 = 3;
        double r27826 = r27825 + r27816;
        double r27827 = pow(r27813, r27826);
        double r27828 = 0.0001789971;
        double r27829 = r27813 * r27828;
        double r27830 = 0.0005064034;
        double r27831 = r27829 + r27830;
        double r27832 = r27827 * r27831;
        double r27833 = r27824 + r27832;
        double r27834 = pow(r27813, r27825);
        double r27835 = r27818 * r27834;
        double r27836 = 0.0008327945;
        double r27837 = 2;
        double r27838 = r27828 * r27837;
        double r27839 = r27838 * r27813;
        double r27840 = r27836 + r27839;
        double r27841 = r27835 * r27840;
        double r27842 = 0.7715471019;
        double r27843 = r27842 * r27813;
        double r27844 = r27843 + r27816;
        double r27845 = 0.0140005442;
        double r27846 = r27845 * r27813;
        double r27847 = r27846 * r27834;
        double r27848 = r27844 + r27847;
        double r27849 = 0.0694555761;
        double r27850 = r27849 * r27813;
        double r27851 = 0.2909738639;
        double r27852 = r27850 + r27851;
        double r27853 = r27818 * r27852;
        double r27854 = r27848 + r27853;
        double r27855 = r27841 + r27854;
        double r27856 = r27833 / r27855;
        double r27857 = log(r27856);
        double r27858 = exp(r27857);
        double r27859 = r27858 * r27797;
        double r27860 = 3.4524091359178665e-32;
        bool r27861 = r27810 <= r27860;
        double r27862 = r27814 * r27813;
        double r27863 = r27816 + r27862;
        double r27864 = r27819 * r27818;
        double r27865 = r27863 + r27864;
        double r27866 = r27818 * r27813;
        double r27867 = r27820 * r27866;
        double r27868 = r27865 + r27867;
        double r27869 = r27866 * r27813;
        double r27870 = r27830 * r27869;
        double r27871 = r27868 + r27870;
        double r27872 = r27869 * r27813;
        double r27873 = r27828 * r27872;
        double r27874 = r27871 + r27873;
        double r27875 = r27816 + r27843;
        double r27876 = r27851 * r27818;
        double r27877 = r27875 + r27876;
        double r27878 = r27849 * r27866;
        double r27879 = r27877 + r27878;
        double r27880 = r27845 * r27869;
        double r27881 = r27879 + r27880;
        double r27882 = r27836 * r27872;
        double r27883 = r27881 + r27882;
        double r27884 = r27837 * r27828;
        double r27885 = r27872 * r27813;
        double r27886 = r27884 * r27885;
        double r27887 = r27883 + r27886;
        double r27888 = r27874 / r27887;
        double r27889 = r27888 * r27797;
        double r27890 = r27861 ? r27810 : r27889;
        double r27891 = r27812 ? r27859 : r27890;
        return r27891;
}

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 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;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(336);
        mpfr_init_set_str(r27892, "1", 10, MPFR_RNDN);
        mpfr_init_set_str(r27893, "0.1049934947", 10, MPFR_RNDN);
        mpfr_init(r27894);
        mpfr_init(r27895);
        mpfr_init(r27896);
        mpfr_init(r27897);
        mpfr_init_set_str(r27898, "0.0424060604", 10, MPFR_RNDN);
        mpfr_init(r27899);
        mpfr_init(r27900);
        mpfr_init(r27901);
        mpfr_init_set_str(r27902, "0.0072644182", 10, MPFR_RNDN);
        mpfr_init(r27903);
        mpfr_init(r27904);
        mpfr_init(r27905);
        mpfr_init_set_str(r27906, "0.0005064034", 10, MPFR_RNDN);
        mpfr_init(r27907);
        mpfr_init(r27908);
        mpfr_init(r27909);
        mpfr_init_set_str(r27910, "0.0001789971", 10, MPFR_RNDN);
        mpfr_init(r27911);
        mpfr_init(r27912);
        mpfr_init(r27913);
        mpfr_init_set_str(r27914, "0.7715471019", 10, MPFR_RNDN);
        mpfr_init(r27915);
        mpfr_init(r27916);
        mpfr_init_set_str(r27917, "0.2909738639", 10, MPFR_RNDN);
        mpfr_init(r27918);
        mpfr_init(r27919);
        mpfr_init_set_str(r27920, "0.0694555761", 10, MPFR_RNDN);
        mpfr_init(r27921);
        mpfr_init(r27922);
        mpfr_init_set_str(r27923, "0.0140005442", 10, MPFR_RNDN);
        mpfr_init(r27924);
        mpfr_init(r27925);
        mpfr_init_set_str(r27926, "0.0008327945", 10, MPFR_RNDN);
        mpfr_init(r27927);
        mpfr_init(r27928);
        mpfr_init_set_str(r27929, "2", 10, MPFR_RNDN);
        mpfr_init(r27930);
        mpfr_init(r27931);
        mpfr_init(r27932);
        mpfr_init(r27933);
        mpfr_init(r27934);
        mpfr_init(r27935);
}

double f_im(double x) {
        ;
        ;
        mpfr_set_d(r27894, x, MPFR_RNDN);
        mpfr_mul(r27895, r27894, r27894, MPFR_RNDN);
        mpfr_mul(r27896, r27893, r27895, MPFR_RNDN);
        mpfr_add(r27897, r27892, r27896, MPFR_RNDN);
        ;
        mpfr_mul(r27899, r27895, r27895, MPFR_RNDN);
        mpfr_mul(r27900, r27898, r27899, MPFR_RNDN);
        mpfr_add(r27901, r27897, r27900, MPFR_RNDN);
        ;
        mpfr_mul(r27903, r27899, r27895, MPFR_RNDN);
        mpfr_mul(r27904, r27902, r27903, MPFR_RNDN);
        mpfr_add(r27905, r27901, r27904, MPFR_RNDN);
        ;
        mpfr_mul(r27907, r27903, r27895, MPFR_RNDN);
        mpfr_mul(r27908, r27906, r27907, MPFR_RNDN);
        mpfr_add(r27909, r27905, r27908, MPFR_RNDN);
        ;
        mpfr_mul(r27911, r27907, r27895, MPFR_RNDN);
        mpfr_mul(r27912, r27910, r27911, MPFR_RNDN);
        mpfr_add(r27913, r27909, r27912, MPFR_RNDN);
        ;
        mpfr_mul(r27915, r27914, r27895, MPFR_RNDN);
        mpfr_add(r27916, r27892, r27915, MPFR_RNDN);
        ;
        mpfr_mul(r27918, r27917, r27899, MPFR_RNDN);
        mpfr_add(r27919, r27916, r27918, MPFR_RNDN);
        ;
        mpfr_mul(r27921, r27920, r27903, MPFR_RNDN);
        mpfr_add(r27922, r27919, r27921, MPFR_RNDN);
        ;
        mpfr_mul(r27924, r27923, r27907, MPFR_RNDN);
        mpfr_add(r27925, r27922, r27924, MPFR_RNDN);
        ;
        mpfr_mul(r27927, r27926, r27911, MPFR_RNDN);
        mpfr_add(r27928, r27925, r27927, MPFR_RNDN);
        ;
        mpfr_mul(r27930, r27929, r27910, MPFR_RNDN);
        mpfr_mul(r27931, r27911, r27895, MPFR_RNDN);
        mpfr_mul(r27932, r27930, r27931, MPFR_RNDN);
        mpfr_add(r27933, r27928, r27932, MPFR_RNDN);
        mpfr_div(r27934, r27913, r27933, MPFR_RNDN);
        mpfr_mul(r27935, r27934, r27894, MPFR_RNDN);
        return mpfr_get_d(r27935, MPFR_RNDN);
}

static mpfr_t r27936, r27937, r27938, r27939, r27940, r27941, r27942, r27943, r27944, r27945, r27946, r27947, r27948, r27949, r27950, r27951, r27952, r27953, r27954, r27955, 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, r28020, r28021, r28022, r28023, r28024, r28025, r28026, r28027, r28028, r28029, r28030, r28031;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(336);
        mpfr_init_set_str(r27936, "0.5", 10, MPFR_RNDN);
        mpfr_init(r27937);
        mpfr_init(r27938);
        mpfr_init_set_str(r27939, "0.2514179000665375", 10, MPFR_RNDN);
        mpfr_init(r27940);
        mpfr_init_set_str(r27941, "4", 10, MPFR_RNDN);
        mpfr_init(r27942);
        mpfr_init(r27943);
        mpfr_init_set_str(r27944, "0.15298196345929327", 10, MPFR_RNDN);
        mpfr_init(r27945);
        mpfr_init_set_str(r27946, "6", 10, MPFR_RNDN);
        mpfr_init(r27947);
        mpfr_init(r27948);
        mpfr_init(r27949);
        mpfr_init(r27950);
        mpfr_init_set_str(r27951, "-0.0003066489264684035", 10, MPFR_RNDN);
        mpfr_init(r27952);
        mpfr_init(r27953);
        mpfr_init_set_str(r27954, "0.1049934947", 10, MPFR_RNDN);
        mpfr_init(r27955);
        mpfr_init_set_str(r27956, "1", 10, MPFR_RNDN);
        mpfr_init(r27957);
        mpfr_init(r27958);
        mpfr_init_set_str(r27959, "0.0424060604", 10, MPFR_RNDN);
        mpfr_init_set_str(r27960, "0.0072644182", 10, MPFR_RNDN);
        mpfr_init(r27961);
        mpfr_init(r27962);
        mpfr_init(r27963);
        mpfr_init(r27964);
        mpfr_init_set_str(r27965, "3", 10, MPFR_RNDN);
        mpfr_init(r27966);
        mpfr_init(r27967);
        mpfr_init_set_str(r27968, "0.0001789971", 10, MPFR_RNDN);
        mpfr_init(r27969);
        mpfr_init_set_str(r27970, "0.0005064034", 10, MPFR_RNDN);
        mpfr_init(r27971);
        mpfr_init(r27972);
        mpfr_init(r27973);
        mpfr_init(r27974);
        mpfr_init(r27975);
        mpfr_init_set_str(r27976, "0.0008327945", 10, MPFR_RNDN);
        mpfr_init_set_str(r27977, "2", 10, MPFR_RNDN);
        mpfr_init(r27978);
        mpfr_init(r27979);
        mpfr_init(r27980);
        mpfr_init(r27981);
        mpfr_init_set_str(r27982, "0.7715471019", 10, MPFR_RNDN);
        mpfr_init(r27983);
        mpfr_init(r27984);
        mpfr_init_set_str(r27985, "0.0140005442", 10, MPFR_RNDN);
        mpfr_init(r27986);
        mpfr_init(r27987);
        mpfr_init(r27988);
        mpfr_init_set_str(r27989, "0.0694555761", 10, MPFR_RNDN);
        mpfr_init(r27990);
        mpfr_init_set_str(r27991, "0.2909738639", 10, MPFR_RNDN);
        mpfr_init(r27992);
        mpfr_init(r27993);
        mpfr_init(r27994);
        mpfr_init(r27995);
        mpfr_init(r27996);
        mpfr_init(r27997);
        mpfr_init(r27998);
        mpfr_init(r27999);
        mpfr_init_set_str(r28000, "3.4524091359178665e-32", 10, MPFR_RNDN);
        mpfr_init(r28001);
        mpfr_init(r28002);
        mpfr_init(r28003);
        mpfr_init(r28004);
        mpfr_init(r28005);
        mpfr_init(r28006);
        mpfr_init(r28007);
        mpfr_init(r28008);
        mpfr_init(r28009);
        mpfr_init(r28010);
        mpfr_init(r28011);
        mpfr_init(r28012);
        mpfr_init(r28013);
        mpfr_init(r28014);
        mpfr_init(r28015);
        mpfr_init(r28016);
        mpfr_init(r28017);
        mpfr_init(r28018);
        mpfr_init(r28019);
        mpfr_init(r28020);
        mpfr_init(r28021);
        mpfr_init(r28022);
        mpfr_init(r28023);
        mpfr_init(r28024);
        mpfr_init(r28025);
        mpfr_init(r28026);
        mpfr_init(r28027);
        mpfr_init(r28028);
        mpfr_init(r28029);
        mpfr_init(r28030);
        mpfr_init(r28031);
}

double f_fm(double x) {
        ;
        mpfr_set_d(r27937, x, MPFR_RNDN);
        mpfr_div(r27938, r27936, r27937, MPFR_RNDN);
        ;
        mpfr_mul(r27940, r27939, r27937, MPFR_RNDN);
        ;
        mpfr_pow(r27942, r27937, r27941, MPFR_RNDN);
        mpfr_div(r27943, r27940, r27942, MPFR_RNDN);
        ;
        mpfr_mul(r27945, r27944, r27937, MPFR_RNDN);
        ;
        mpfr_pow(r27947, r27937, r27946, MPFR_RNDN);
        mpfr_div(r27948, r27945, r27947, MPFR_RNDN);
        mpfr_add(r27949, r27943, r27948, MPFR_RNDN);
        mpfr_add(r27950, r27938, r27949, MPFR_RNDN);
        ;
        mpfr_set_si(r27952, mpfr_cmp(r27950, r27951) <= 0, MPFR_RNDN);
        mpfr_mul(r27953, r27937, r27937, MPFR_RNDN);
        ;
        mpfr_mul(r27955, r27953, r27954, MPFR_RNDN);
        ;
        mpfr_add(r27957, r27955, r27956, MPFR_RNDN);
        mpfr_mul(r27958, r27953, r27953, MPFR_RNDN);
        ;
        ;
        mpfr_mul(r27961, r27960, r27953, MPFR_RNDN);
        mpfr_add(r27962, r27959, r27961, MPFR_RNDN);
        mpfr_mul(r27963, r27958, r27962, MPFR_RNDN);
        mpfr_add(r27964, r27957, r27963, MPFR_RNDN);
        ;
        mpfr_add(r27966, r27965, r27956, MPFR_RNDN);
        mpfr_pow(r27967, r27953, r27966, MPFR_RNDN);
        ;
        mpfr_mul(r27969, r27953, r27968, MPFR_RNDN);
        ;
        mpfr_add(r27971, r27969, r27970, MPFR_RNDN);
        mpfr_mul(r27972, r27967, r27971, MPFR_RNDN);
        mpfr_add(r27973, r27964, r27972, MPFR_RNDN);
        mpfr_pow(r27974, r27953, r27965, MPFR_RNDN);
        mpfr_mul(r27975, r27958, r27974, MPFR_RNDN);
        ;
        ;
        mpfr_mul(r27978, r27968, r27977, MPFR_RNDN);
        mpfr_mul(r27979, r27978, r27953, MPFR_RNDN);
        mpfr_add(r27980, r27976, r27979, MPFR_RNDN);
        mpfr_mul(r27981, r27975, r27980, MPFR_RNDN);
        ;
        mpfr_mul(r27983, r27982, r27953, MPFR_RNDN);
        mpfr_add(r27984, r27983, r27956, MPFR_RNDN);
        ;
        mpfr_mul(r27986, r27985, r27953, MPFR_RNDN);
        mpfr_mul(r27987, r27986, r27974, MPFR_RNDN);
        mpfr_add(r27988, r27984, r27987, MPFR_RNDN);
        ;
        mpfr_mul(r27990, r27989, r27953, MPFR_RNDN);
        ;
        mpfr_add(r27992, r27990, r27991, MPFR_RNDN);
        mpfr_mul(r27993, r27958, r27992, MPFR_RNDN);
        mpfr_add(r27994, r27988, r27993, MPFR_RNDN);
        mpfr_add(r27995, r27981, r27994, MPFR_RNDN);
        mpfr_div(r27996, r27973, r27995, MPFR_RNDN);
        mpfr_log(r27997, r27996, MPFR_RNDN);
        mpfr_exp(r27998, r27997, MPFR_RNDN);
        mpfr_mul(r27999, r27998, r27937, MPFR_RNDN);
        ;
        mpfr_set_si(r28001, mpfr_cmp(r27950, r28000) <= 0, MPFR_RNDN);
        mpfr_mul(r28002, r27954, r27953, MPFR_RNDN);
        mpfr_add(r28003, r27956, r28002, MPFR_RNDN);
        mpfr_mul(r28004, r27959, r27958, MPFR_RNDN);
        mpfr_add(r28005, r28003, r28004, MPFR_RNDN);
        mpfr_mul(r28006, r27958, r27953, MPFR_RNDN);
        mpfr_mul(r28007, r27960, r28006, MPFR_RNDN);
        mpfr_add(r28008, r28005, r28007, MPFR_RNDN);
        mpfr_mul(r28009, r28006, r27953, MPFR_RNDN);
        mpfr_mul(r28010, r27970, r28009, MPFR_RNDN);
        mpfr_add(r28011, r28008, r28010, MPFR_RNDN);
        mpfr_mul(r28012, r28009, r27953, MPFR_RNDN);
        mpfr_mul(r28013, r27968, r28012, MPFR_RNDN);
        mpfr_add(r28014, r28011, r28013, MPFR_RNDN);
        mpfr_add(r28015, r27956, r27983, MPFR_RNDN);
        mpfr_mul(r28016, r27991, r27958, MPFR_RNDN);
        mpfr_add(r28017, r28015, r28016, MPFR_RNDN);
        mpfr_mul(r28018, r27989, r28006, MPFR_RNDN);
        mpfr_add(r28019, r28017, r28018, MPFR_RNDN);
        mpfr_mul(r28020, r27985, r28009, MPFR_RNDN);
        mpfr_add(r28021, r28019, r28020, MPFR_RNDN);
        mpfr_mul(r28022, r27976, r28012, MPFR_RNDN);
        mpfr_add(r28023, r28021, r28022, MPFR_RNDN);
        mpfr_mul(r28024, r27977, r27968, MPFR_RNDN);
        mpfr_mul(r28025, r28012, r27953, MPFR_RNDN);
        mpfr_mul(r28026, r28024, r28025, MPFR_RNDN);
        mpfr_add(r28027, r28023, r28026, MPFR_RNDN);
        mpfr_div(r28028, r28014, r28027, MPFR_RNDN);
        mpfr_mul(r28029, r28028, r27937, MPFR_RNDN);
        if (mpfr_get_si(r28001, MPFR_RNDN)) { mpfr_set(r28030, r27950, MPFR_RNDN); } else { mpfr_set(r28030, r28029, MPFR_RNDN); };
        if (mpfr_get_si(r27952, MPFR_RNDN)) { mpfr_set(r28031, r27999, MPFR_RNDN); } else { mpfr_set(r28031, r28030, MPFR_RNDN); };
        return mpfr_get_d(r28031, MPFR_RNDN);
}

static mpfr_t r28032, r28033, r28034, r28035, r28036, r28037, r28038, r28039, r28040, r28041, r28042, r28043, r28044, r28045, r28046, r28047, r28048, r28049, r28050, r28051, r28052, r28053, r28054, r28055, r28056, r28057, r28058, r28059, r28060, r28061, r28062, r28063, r28064, r28065, r28066, r28067, r28068, r28069, r28070, r28071, r28072, r28073, r28074, r28075, r28076, r28077, r28078, r28079, r28080, r28081, r28082, r28083, r28084, r28085, r28086, r28087, r28088, r28089, r28090, r28091, r28092, r28093, r28094, r28095, r28096, r28097, r28098, r28099, r28100, r28101, r28102, r28103, r28104, r28105, r28106, r28107, r28108, r28109, r28110, r28111, r28112, r28113, r28114, r28115, r28116, r28117, r28118, r28119, r28120, r28121, r28122, r28123, r28124, r28125, r28126, r28127;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(336);
        mpfr_init_set_str(r28032, "0.5", 10, MPFR_RNDN);
        mpfr_init(r28033);
        mpfr_init(r28034);
        mpfr_init_set_str(r28035, "0.2514179000665375", 10, MPFR_RNDN);
        mpfr_init(r28036);
        mpfr_init_set_str(r28037, "4", 10, MPFR_RNDN);
        mpfr_init(r28038);
        mpfr_init(r28039);
        mpfr_init_set_str(r28040, "0.15298196345929327", 10, MPFR_RNDN);
        mpfr_init(r28041);
        mpfr_init_set_str(r28042, "6", 10, MPFR_RNDN);
        mpfr_init(r28043);
        mpfr_init(r28044);
        mpfr_init(r28045);
        mpfr_init(r28046);
        mpfr_init_set_str(r28047, "-0.0003066489264684035", 10, MPFR_RNDN);
        mpfr_init(r28048);
        mpfr_init(r28049);
        mpfr_init_set_str(r28050, "0.1049934947", 10, MPFR_RNDN);
        mpfr_init(r28051);
        mpfr_init_set_str(r28052, "1", 10, MPFR_RNDN);
        mpfr_init(r28053);
        mpfr_init(r28054);
        mpfr_init_set_str(r28055, "0.0424060604", 10, MPFR_RNDN);
        mpfr_init_set_str(r28056, "0.0072644182", 10, MPFR_RNDN);
        mpfr_init(r28057);
        mpfr_init(r28058);
        mpfr_init(r28059);
        mpfr_init(r28060);
        mpfr_init_set_str(r28061, "3", 10, MPFR_RNDN);
        mpfr_init(r28062);
        mpfr_init(r28063);
        mpfr_init_set_str(r28064, "0.0001789971", 10, MPFR_RNDN);
        mpfr_init(r28065);
        mpfr_init_set_str(r28066, "0.0005064034", 10, MPFR_RNDN);
        mpfr_init(r28067);
        mpfr_init(r28068);
        mpfr_init(r28069);
        mpfr_init(r28070);
        mpfr_init(r28071);
        mpfr_init_set_str(r28072, "0.0008327945", 10, MPFR_RNDN);
        mpfr_init_set_str(r28073, "2", 10, MPFR_RNDN);
        mpfr_init(r28074);
        mpfr_init(r28075);
        mpfr_init(r28076);
        mpfr_init(r28077);
        mpfr_init_set_str(r28078, "0.7715471019", 10, MPFR_RNDN);
        mpfr_init(r28079);
        mpfr_init(r28080);
        mpfr_init_set_str(r28081, "0.0140005442", 10, MPFR_RNDN);
        mpfr_init(r28082);
        mpfr_init(r28083);
        mpfr_init(r28084);
        mpfr_init_set_str(r28085, "0.0694555761", 10, MPFR_RNDN);
        mpfr_init(r28086);
        mpfr_init_set_str(r28087, "0.2909738639", 10, MPFR_RNDN);
        mpfr_init(r28088);
        mpfr_init(r28089);
        mpfr_init(r28090);
        mpfr_init(r28091);
        mpfr_init(r28092);
        mpfr_init(r28093);
        mpfr_init(r28094);
        mpfr_init(r28095);
        mpfr_init_set_str(r28096, "3.4524091359178665e-32", 10, MPFR_RNDN);
        mpfr_init(r28097);
        mpfr_init(r28098);
        mpfr_init(r28099);
        mpfr_init(r28100);
        mpfr_init(r28101);
        mpfr_init(r28102);
        mpfr_init(r28103);
        mpfr_init(r28104);
        mpfr_init(r28105);
        mpfr_init(r28106);
        mpfr_init(r28107);
        mpfr_init(r28108);
        mpfr_init(r28109);
        mpfr_init(r28110);
        mpfr_init(r28111);
        mpfr_init(r28112);
        mpfr_init(r28113);
        mpfr_init(r28114);
        mpfr_init(r28115);
        mpfr_init(r28116);
        mpfr_init(r28117);
        mpfr_init(r28118);
        mpfr_init(r28119);
        mpfr_init(r28120);
        mpfr_init(r28121);
        mpfr_init(r28122);
        mpfr_init(r28123);
        mpfr_init(r28124);
        mpfr_init(r28125);
        mpfr_init(r28126);
        mpfr_init(r28127);
}

double f_dm(double x) {
        ;
        mpfr_set_d(r28033, x, MPFR_RNDN);
        mpfr_div(r28034, r28032, r28033, MPFR_RNDN);
        ;
        mpfr_mul(r28036, r28035, r28033, MPFR_RNDN);
        ;
        mpfr_pow(r28038, r28033, r28037, MPFR_RNDN);
        mpfr_div(r28039, r28036, r28038, MPFR_RNDN);
        ;
        mpfr_mul(r28041, r28040, r28033, MPFR_RNDN);
        ;
        mpfr_pow(r28043, r28033, r28042, MPFR_RNDN);
        mpfr_div(r28044, r28041, r28043, MPFR_RNDN);
        mpfr_add(r28045, r28039, r28044, MPFR_RNDN);
        mpfr_add(r28046, r28034, r28045, MPFR_RNDN);
        ;
        mpfr_set_si(r28048, mpfr_cmp(r28046, r28047) <= 0, MPFR_RNDN);
        mpfr_mul(r28049, r28033, r28033, MPFR_RNDN);
        ;
        mpfr_mul(r28051, r28049, r28050, MPFR_RNDN);
        ;
        mpfr_add(r28053, r28051, r28052, MPFR_RNDN);
        mpfr_mul(r28054, r28049, r28049, MPFR_RNDN);
        ;
        ;
        mpfr_mul(r28057, r28056, r28049, MPFR_RNDN);
        mpfr_add(r28058, r28055, r28057, MPFR_RNDN);
        mpfr_mul(r28059, r28054, r28058, MPFR_RNDN);
        mpfr_add(r28060, r28053, r28059, MPFR_RNDN);
        ;
        mpfr_add(r28062, r28061, r28052, MPFR_RNDN);
        mpfr_pow(r28063, r28049, r28062, MPFR_RNDN);
        ;
        mpfr_mul(r28065, r28049, r28064, MPFR_RNDN);
        ;
        mpfr_add(r28067, r28065, r28066, MPFR_RNDN);
        mpfr_mul(r28068, r28063, r28067, MPFR_RNDN);
        mpfr_add(r28069, r28060, r28068, MPFR_RNDN);
        mpfr_pow(r28070, r28049, r28061, MPFR_RNDN);
        mpfr_mul(r28071, r28054, r28070, MPFR_RNDN);
        ;
        ;
        mpfr_mul(r28074, r28064, r28073, MPFR_RNDN);
        mpfr_mul(r28075, r28074, r28049, MPFR_RNDN);
        mpfr_add(r28076, r28072, r28075, MPFR_RNDN);
        mpfr_mul(r28077, r28071, r28076, MPFR_RNDN);
        ;
        mpfr_mul(r28079, r28078, r28049, MPFR_RNDN);
        mpfr_add(r28080, r28079, r28052, MPFR_RNDN);
        ;
        mpfr_mul(r28082, r28081, r28049, MPFR_RNDN);
        mpfr_mul(r28083, r28082, r28070, MPFR_RNDN);
        mpfr_add(r28084, r28080, r28083, MPFR_RNDN);
        ;
        mpfr_mul(r28086, r28085, r28049, MPFR_RNDN);
        ;
        mpfr_add(r28088, r28086, r28087, MPFR_RNDN);
        mpfr_mul(r28089, r28054, r28088, MPFR_RNDN);
        mpfr_add(r28090, r28084, r28089, MPFR_RNDN);
        mpfr_add(r28091, r28077, r28090, MPFR_RNDN);
        mpfr_div(r28092, r28069, r28091, MPFR_RNDN);
        mpfr_log(r28093, r28092, MPFR_RNDN);
        mpfr_exp(r28094, r28093, MPFR_RNDN);
        mpfr_mul(r28095, r28094, r28033, MPFR_RNDN);
        ;
        mpfr_set_si(r28097, mpfr_cmp(r28046, r28096) <= 0, MPFR_RNDN);
        mpfr_mul(r28098, r28050, r28049, MPFR_RNDN);
        mpfr_add(r28099, r28052, r28098, MPFR_RNDN);
        mpfr_mul(r28100, r28055, r28054, MPFR_RNDN);
        mpfr_add(r28101, r28099, r28100, MPFR_RNDN);
        mpfr_mul(r28102, r28054, r28049, MPFR_RNDN);
        mpfr_mul(r28103, r28056, r28102, MPFR_RNDN);
        mpfr_add(r28104, r28101, r28103, MPFR_RNDN);
        mpfr_mul(r28105, r28102, r28049, MPFR_RNDN);
        mpfr_mul(r28106, r28066, r28105, MPFR_RNDN);
        mpfr_add(r28107, r28104, r28106, MPFR_RNDN);
        mpfr_mul(r28108, r28105, r28049, MPFR_RNDN);
        mpfr_mul(r28109, r28064, r28108, MPFR_RNDN);
        mpfr_add(r28110, r28107, r28109, MPFR_RNDN);
        mpfr_add(r28111, r28052, r28079, MPFR_RNDN);
        mpfr_mul(r28112, r28087, r28054, MPFR_RNDN);
        mpfr_add(r28113, r28111, r28112, MPFR_RNDN);
        mpfr_mul(r28114, r28085, r28102, MPFR_RNDN);
        mpfr_add(r28115, r28113, r28114, MPFR_RNDN);
        mpfr_mul(r28116, r28081, r28105, MPFR_RNDN);
        mpfr_add(r28117, r28115, r28116, MPFR_RNDN);
        mpfr_mul(r28118, r28072, r28108, MPFR_RNDN);
        mpfr_add(r28119, r28117, r28118, MPFR_RNDN);
        mpfr_mul(r28120, r28073, r28064, MPFR_RNDN);
        mpfr_mul(r28121, r28108, r28049, MPFR_RNDN);
        mpfr_mul(r28122, r28120, r28121, MPFR_RNDN);
        mpfr_add(r28123, r28119, r28122, MPFR_RNDN);
        mpfr_div(r28124, r28110, r28123, MPFR_RNDN);
        mpfr_mul(r28125, r28124, r28033, MPFR_RNDN);
        if (mpfr_get_si(r28097, MPFR_RNDN)) { mpfr_set(r28126, r28046, MPFR_RNDN); } else { mpfr_set(r28126, r28125, MPFR_RNDN); };
        if (mpfr_get_si(r28048, MPFR_RNDN)) { mpfr_set(r28127, r28095, MPFR_RNDN); } else { mpfr_set(r28127, r28126, MPFR_RNDN); };
        return mpfr_get_d(r28127, MPFR_RNDN);
}

