#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 r19635 = 1.0f;
        float r19636 = 0.1049934947f;
        float r19637 = x;
        float r19638 = r19637 * r19637;
        float r19639 = r19636 * r19638;
        float r19640 = r19635 + r19639;
        float r19641 = 0.0424060604f;
        float r19642 = r19638 * r19638;
        float r19643 = r19641 * r19642;
        float r19644 = r19640 + r19643;
        float r19645 = 0.0072644182f;
        float r19646 = r19642 * r19638;
        float r19647 = r19645 * r19646;
        float r19648 = r19644 + r19647;
        float r19649 = 0.0005064034f;
        float r19650 = r19646 * r19638;
        float r19651 = r19649 * r19650;
        float r19652 = r19648 + r19651;
        float r19653 = 0.0001789971f;
        float r19654 = r19650 * r19638;
        float r19655 = r19653 * r19654;
        float r19656 = r19652 + r19655;
        float r19657 = 0.7715471019f;
        float r19658 = r19657 * r19638;
        float r19659 = r19635 + r19658;
        float r19660 = 0.2909738639f;
        float r19661 = r19660 * r19642;
        float r19662 = r19659 + r19661;
        float r19663 = 0.0694555761f;
        float r19664 = r19663 * r19646;
        float r19665 = r19662 + r19664;
        float r19666 = 0.0140005442f;
        float r19667 = r19666 * r19650;
        float r19668 = r19665 + r19667;
        float r19669 = 0.0008327945f;
        float r19670 = r19669 * r19654;
        float r19671 = r19668 + r19670;
        float r19672 = 2.0f;
        float r19673 = r19672 * r19653;
        float r19674 = r19654 * r19638;
        float r19675 = r19673 * r19674;
        float r19676 = r19671 + r19675;
        float r19677 = r19656 / r19676;
        float r19678 = r19677 * r19637;
        return r19678;
}

double f_id(double x) {
        double r19679 = 1.0;
        double r19680 = 0.1049934947;
        double r19681 = x;
        double r19682 = r19681 * r19681;
        double r19683 = r19680 * r19682;
        double r19684 = r19679 + r19683;
        double r19685 = 0.0424060604;
        double r19686 = r19682 * r19682;
        double r19687 = r19685 * r19686;
        double r19688 = r19684 + r19687;
        double r19689 = 0.0072644182;
        double r19690 = r19686 * r19682;
        double r19691 = r19689 * r19690;
        double r19692 = r19688 + r19691;
        double r19693 = 0.0005064034;
        double r19694 = r19690 * r19682;
        double r19695 = r19693 * r19694;
        double r19696 = r19692 + r19695;
        double r19697 = 0.0001789971;
        double r19698 = r19694 * r19682;
        double r19699 = r19697 * r19698;
        double r19700 = r19696 + r19699;
        double r19701 = 0.7715471019;
        double r19702 = r19701 * r19682;
        double r19703 = r19679 + r19702;
        double r19704 = 0.2909738639;
        double r19705 = r19704 * r19686;
        double r19706 = r19703 + r19705;
        double r19707 = 0.0694555761;
        double r19708 = r19707 * r19690;
        double r19709 = r19706 + r19708;
        double r19710 = 0.0140005442;
        double r19711 = r19710 * r19694;
        double r19712 = r19709 + r19711;
        double r19713 = 0.0008327945;
        double r19714 = r19713 * r19698;
        double r19715 = r19712 + r19714;
        double r19716 = 2.0;
        double r19717 = r19716 * r19697;
        double r19718 = r19698 * r19682;
        double r19719 = r19717 * r19718;
        double r19720 = r19715 + r19719;
        double r19721 = r19700 / r19720;
        double r19722 = r19721 * r19681;
        return r19722;
}


double f_of(float x) {
        float r19723 = x;
        float r19724 = -4.8392898094319444e+23f;
        bool r19725 = r19723 <= r19724;
        float r19726 = 1.0f;
        float r19727 = 0.1049934947f;
        float r19728 = r19723 * r19723;
        float r19729 = r19727 / r19728;
        float r19730 = r19726 + r19729;
        float r19731 = 0.0072644182f;
        float r19732 = r19731 * r19726;
        float r19733 = r19723 * (r19723 * r19723);
        float r19734 = r19733 * r19733;
        float r19735 = r19732 / r19734;
        float r19736 = r19730 + r19735;
        float r19737 = 0.0424060604f;
        float r19738 = r19737 * r19726;
        float r19739 = r19738 / r19733;
        float r19740 = r19739 / r19723;
        float r19741 = 0.0001789971f;
        float r19742 = 10.0f;
        float r19743 = pow(r19723, r19742);
        float r19744 = r19741 / r19743;
        float r19745 = r19740 + r19744;
        float r19746 = 0.0005064034f;
        float r19747 = r19726 * r19746;
        float r19748 = r19747 / r19734;
        float r19749 = r19748 / r19728;
        float r19750 = r19745 + r19749;
        float r19751 = r19736 + r19750;
        float r19752 = r19726 / r19723;
        float r19753 = r19752 / r19733;
        float r19754 = 0.2909738639f;
        float r19755 = r19753 * r19754;
        float r19756 = r19726 + r19755;
        float r19757 = 0.0694555761f;
        float r19758 = r19757 * r19726;
        float r19759 = r19758 / r19734;
        float r19760 = r19756 + r19759;
        float r19761 = 0.0140005442f;
        float r19762 = r19726 * r19761;
        float r19763 = r19762 / r19734;
        float r19764 = r19763 / r19728;
        float r19765 = r19726 / r19733;
        float r19766 = r19765 * r19765;
        float r19767 = 6.0f;
        float r19768 = pow(r19723, r19767);
        float r19769 = 0.0003579942f;
        float r19770 = r19768 / r19769;
        float r19771 = r19766 / r19770;
        float r19772 = r19764 + r19771;
        float r19773 = r19760 + r19772;
        float r19774 = 0.7715471019f;
        float r19775 = r19774 / r19728;
        float r19776 = 4.0f;
        float r19777 = pow(r19723, r19776);
        float r19778 = 0.0008327945f;
        float r19779 = r19777 / r19778;
        float r19780 = r19766 / r19779;
        float r19781 = r19775 + r19780;
        float r19782 = r19773 + r19781;
        float r19783 = r19782 * r19723;
        float r19784 = r19751 / r19783;
        float r19785 = 3.598220797602781e+27f;
        bool r19786 = r19723 <= r19785;
        float r19787 = r19728 * r19728;
        float r19788 = r19733 * r19733;
        float r19789 = r19787 * r19788;
        float r19790 = 2.0f;
        float r19791 = r19790 * r19741;
        float r19792 = r19791 * r19728;
        float r19793 = r19792 + r19778;
        float r19794 = r19789 * r19793;
        float r19795 = r19723 * r19754;
        float r19796 = r19795 * r19733;
        float r19797 = r19726 + r19796;
        float r19798 = r19774 * r19723;
        float r19799 = r19798 * r19723;
        float r19800 = r19797 + r19799;
        float r19801 = r19794 + r19800;
        float r19802 = r19761 * r19728;
        float r19803 = r19757 + r19802;
        float r19804 = r19787 * r19803;
        float r19805 = r19728 * r19804;
        float r19806 = r19801 + r19805;
        float r19807 = r19723 / r19806;
        float r19808 = r19723 * r19737;
        float r19809 = r19808 * r19733;
        float r19810 = r19728 * r19727;
        float r19811 = r19810 + r19726;
        float r19812 = r19809 + r19811;
        float r19813 = r19728 * r19741;
        float r19814 = r19733 * r19723;
        float r19815 = r19787 * r19814;
        float r19816 = r19813 * r19815;
        float r19817 = r19812 + r19816;
        float r19818 = r19746 * r19723;
        float r19819 = r19818 * r19723;
        float r19820 = r19731 + r19819;
        float r19821 = r19787 * r19820;
        float r19822 = r19728 * r19821;
        float r19823 = r19817 + r19822;
        float r19824 = r19807 * r19823;
        float r19825 = r19786 ? r19824 : r19784;
        float r19826 = r19725 ? r19784 : r19825;
        return r19826;
}

double f_od(double x) {
        double r19827 = x;
        double r19828 = -4.8392898094319444e+23;
        bool r19829 = r19827 <= r19828;
        double r19830 = 1.0;
        double r19831 = 0.1049934947;
        double r19832 = r19827 * r19827;
        double r19833 = r19831 / r19832;
        double r19834 = r19830 + r19833;
        double r19835 = 0.0072644182;
        double r19836 = r19835 * r19830;
        double r19837 = r19827 * (r19827 * r19827);
        double r19838 = r19837 * r19837;
        double r19839 = r19836 / r19838;
        double r19840 = r19834 + r19839;
        double r19841 = 0.0424060604;
        double r19842 = r19841 * r19830;
        double r19843 = r19842 / r19837;
        double r19844 = r19843 / r19827;
        double r19845 = 0.0001789971;
        double r19846 = 10.0;
        double r19847 = pow(r19827, r19846);
        double r19848 = r19845 / r19847;
        double r19849 = r19844 + r19848;
        double r19850 = 0.0005064034;
        double r19851 = r19830 * r19850;
        double r19852 = r19851 / r19838;
        double r19853 = r19852 / r19832;
        double r19854 = r19849 + r19853;
        double r19855 = r19840 + r19854;
        double r19856 = r19830 / r19827;
        double r19857 = r19856 / r19837;
        double r19858 = 0.2909738639;
        double r19859 = r19857 * r19858;
        double r19860 = r19830 + r19859;
        double r19861 = 0.0694555761;
        double r19862 = r19861 * r19830;
        double r19863 = r19862 / r19838;
        double r19864 = r19860 + r19863;
        double r19865 = 0.0140005442;
        double r19866 = r19830 * r19865;
        double r19867 = r19866 / r19838;
        double r19868 = r19867 / r19832;
        double r19869 = r19830 / r19837;
        double r19870 = r19869 * r19869;
        double r19871 = 6.0;
        double r19872 = pow(r19827, r19871);
        double r19873 = 0.0003579942;
        double r19874 = r19872 / r19873;
        double r19875 = r19870 / r19874;
        double r19876 = r19868 + r19875;
        double r19877 = r19864 + r19876;
        double r19878 = 0.7715471019;
        double r19879 = r19878 / r19832;
        double r19880 = 4.0;
        double r19881 = pow(r19827, r19880);
        double r19882 = 0.0008327945;
        double r19883 = r19881 / r19882;
        double r19884 = r19870 / r19883;
        double r19885 = r19879 + r19884;
        double r19886 = r19877 + r19885;
        double r19887 = r19886 * r19827;
        double r19888 = r19855 / r19887;
        double r19889 = 3.598220797602781e+27;
        bool r19890 = r19827 <= r19889;
        double r19891 = r19832 * r19832;
        double r19892 = r19837 * r19837;
        double r19893 = r19891 * r19892;
        double r19894 = 2.0;
        double r19895 = r19894 * r19845;
        double r19896 = r19895 * r19832;
        double r19897 = r19896 + r19882;
        double r19898 = r19893 * r19897;
        double r19899 = r19827 * r19858;
        double r19900 = r19899 * r19837;
        double r19901 = r19830 + r19900;
        double r19902 = r19878 * r19827;
        double r19903 = r19902 * r19827;
        double r19904 = r19901 + r19903;
        double r19905 = r19898 + r19904;
        double r19906 = r19865 * r19832;
        double r19907 = r19861 + r19906;
        double r19908 = r19891 * r19907;
        double r19909 = r19832 * r19908;
        double r19910 = r19905 + r19909;
        double r19911 = r19827 / r19910;
        double r19912 = r19827 * r19841;
        double r19913 = r19912 * r19837;
        double r19914 = r19832 * r19831;
        double r19915 = r19914 + r19830;
        double r19916 = r19913 + r19915;
        double r19917 = r19832 * r19845;
        double r19918 = r19837 * r19827;
        double r19919 = r19891 * r19918;
        double r19920 = r19917 * r19919;
        double r19921 = r19916 + r19920;
        double r19922 = r19850 * r19827;
        double r19923 = r19922 * r19827;
        double r19924 = r19835 + r19923;
        double r19925 = r19891 * r19924;
        double r19926 = r19832 * r19925;
        double r19927 = r19921 + r19926;
        double r19928 = r19911 * r19927;
        double r19929 = r19890 ? r19928 : r19888;
        double r19930 = r19829 ? r19888 : r19929;
        return r19930;
}

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 r19931, r19932, r19933, r19934, r19935, r19936, r19937, r19938, r19939, r19940, r19941, r19942, r19943, r19944, r19945, r19946, r19947, r19948, r19949, r19950, r19951, r19952, r19953, r19954, r19955, r19956, r19957, r19958, r19959, r19960, r19961, r19962, r19963, r19964, r19965, r19966, r19967, r19968, r19969, r19970, r19971, r19972, r19973, r19974;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(144);
        mpfr_init_set_str(r19931, "1", 10, MPFR_RNDN);
        mpfr_init_set_str(r19932, "0.1049934947", 10, MPFR_RNDN);
        mpfr_init(r19933);
        mpfr_init(r19934);
        mpfr_init(r19935);
        mpfr_init(r19936);
        mpfr_init_set_str(r19937, "0.0424060604", 10, MPFR_RNDN);
        mpfr_init(r19938);
        mpfr_init(r19939);
        mpfr_init(r19940);
        mpfr_init_set_str(r19941, "0.0072644182", 10, MPFR_RNDN);
        mpfr_init(r19942);
        mpfr_init(r19943);
        mpfr_init(r19944);
        mpfr_init_set_str(r19945, "0.0005064034", 10, MPFR_RNDN);
        mpfr_init(r19946);
        mpfr_init(r19947);
        mpfr_init(r19948);
        mpfr_init_set_str(r19949, "0.0001789971", 10, MPFR_RNDN);
        mpfr_init(r19950);
        mpfr_init(r19951);
        mpfr_init(r19952);
        mpfr_init_set_str(r19953, "0.7715471019", 10, MPFR_RNDN);
        mpfr_init(r19954);
        mpfr_init(r19955);
        mpfr_init_set_str(r19956, "0.2909738639", 10, MPFR_RNDN);
        mpfr_init(r19957);
        mpfr_init(r19958);
        mpfr_init_set_str(r19959, "0.0694555761", 10, MPFR_RNDN);
        mpfr_init(r19960);
        mpfr_init(r19961);
        mpfr_init_set_str(r19962, "0.0140005442", 10, MPFR_RNDN);
        mpfr_init(r19963);
        mpfr_init(r19964);
        mpfr_init_set_str(r19965, "0.0008327945", 10, MPFR_RNDN);
        mpfr_init(r19966);
        mpfr_init(r19967);
        mpfr_init_set_str(r19968, "2", 10, MPFR_RNDN);
        mpfr_init(r19969);
        mpfr_init(r19970);
        mpfr_init(r19971);
        mpfr_init(r19972);
        mpfr_init(r19973);
        mpfr_init(r19974);
}

double f_im(double x) {
        ;
        ;
        mpfr_set_d(r19933, x, MPFR_RNDN);
        mpfr_mul(r19934, r19933, r19933, MPFR_RNDN);
        mpfr_mul(r19935, r19932, r19934, MPFR_RNDN);
        mpfr_add(r19936, r19931, r19935, MPFR_RNDN);
        ;
        mpfr_mul(r19938, r19934, r19934, MPFR_RNDN);
        mpfr_mul(r19939, r19937, r19938, MPFR_RNDN);
        mpfr_add(r19940, r19936, r19939, MPFR_RNDN);
        ;
        mpfr_mul(r19942, r19938, r19934, MPFR_RNDN);
        mpfr_mul(r19943, r19941, r19942, MPFR_RNDN);
        mpfr_add(r19944, r19940, r19943, MPFR_RNDN);
        ;
        mpfr_mul(r19946, r19942, r19934, MPFR_RNDN);
        mpfr_mul(r19947, r19945, r19946, MPFR_RNDN);
        mpfr_add(r19948, r19944, r19947, MPFR_RNDN);
        ;
        mpfr_mul(r19950, r19946, r19934, MPFR_RNDN);
        mpfr_mul(r19951, r19949, r19950, MPFR_RNDN);
        mpfr_add(r19952, r19948, r19951, MPFR_RNDN);
        ;
        mpfr_mul(r19954, r19953, r19934, MPFR_RNDN);
        mpfr_add(r19955, r19931, r19954, MPFR_RNDN);
        ;
        mpfr_mul(r19957, r19956, r19938, MPFR_RNDN);
        mpfr_add(r19958, r19955, r19957, MPFR_RNDN);
        ;
        mpfr_mul(r19960, r19959, r19942, MPFR_RNDN);
        mpfr_add(r19961, r19958, r19960, MPFR_RNDN);
        ;
        mpfr_mul(r19963, r19962, r19946, MPFR_RNDN);
        mpfr_add(r19964, r19961, r19963, MPFR_RNDN);
        ;
        mpfr_mul(r19966, r19965, r19950, MPFR_RNDN);
        mpfr_add(r19967, r19964, r19966, MPFR_RNDN);
        ;
        mpfr_mul(r19969, r19968, r19949, MPFR_RNDN);
        mpfr_mul(r19970, r19950, r19934, MPFR_RNDN);
        mpfr_mul(r19971, r19969, r19970, MPFR_RNDN);
        mpfr_add(r19972, r19967, r19971, MPFR_RNDN);
        mpfr_div(r19973, r19952, r19972, MPFR_RNDN);
        mpfr_mul(r19974, r19973, r19933, MPFR_RNDN);
        return mpfr_get_d(r19974, MPFR_RNDN);
}

static mpfr_t r19975, r19976, r19977, r19978, r19979, r19980, r19981, r19982, r19983, r19984, r19985, r19986, r19987, r19988, r19989, r19990, r19991, r19992, r19993, r19994, r19995, r19996, r19997, r19998, r19999, r20000, r20001, r20002, r20003, r20004, r20005, r20006, r20007, r20008, r20009, r20010, r20011, r20012, r20013, r20014, r20015, r20016, r20017, r20018, r20019, r20020, r20021, r20022, r20023, r20024, r20025, r20026, r20027, r20028, r20029, r20030, r20031, r20032, r20033, r20034, r20035, r20036, r20037, r20038, r20039, r20040, r20041, r20042, r20043, r20044, r20045, r20046, r20047, r20048, r20049, r20050, r20051, r20052, r20053, r20054, r20055, r20056, r20057, r20058, r20059, r20060, r20061, r20062, r20063, r20064, r20065, r20066, r20067, r20068, r20069, r20070, r20071, r20072, r20073, r20074, r20075, r20076, r20077, r20078;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(144);
        mpfr_init(r19975);
        mpfr_init_set_str(r19976, "-4.8392898094319444e+23", 10, MPFR_RNDN);
        mpfr_init(r19977);
        mpfr_init_set_str(r19978, "1", 10, MPFR_RNDN);
        mpfr_init_set_str(r19979, "0.1049934947", 10, MPFR_RNDN);
        mpfr_init(r19980);
        mpfr_init(r19981);
        mpfr_init(r19982);
        mpfr_init_set_str(r19983, "0.0072644182", 10, MPFR_RNDN);
        mpfr_init(r19984);
        mpfr_init(r19985);
        mpfr_init(r19986);
        mpfr_init(r19987);
        mpfr_init(r19988);
        mpfr_init_set_str(r19989, "0.0424060604", 10, MPFR_RNDN);
        mpfr_init(r19990);
        mpfr_init(r19991);
        mpfr_init(r19992);
        mpfr_init_set_str(r19993, "0.0001789971", 10, MPFR_RNDN);
        mpfr_init_set_str(r19994, "10", 10, MPFR_RNDN);
        mpfr_init(r19995);
        mpfr_init(r19996);
        mpfr_init(r19997);
        mpfr_init_set_str(r19998, "0.0005064034", 10, MPFR_RNDN);
        mpfr_init(r19999);
        mpfr_init(r20000);
        mpfr_init(r20001);
        mpfr_init(r20002);
        mpfr_init(r20003);
        mpfr_init(r20004);
        mpfr_init(r20005);
        mpfr_init_set_str(r20006, "0.2909738639", 10, MPFR_RNDN);
        mpfr_init(r20007);
        mpfr_init(r20008);
        mpfr_init_set_str(r20009, "0.0694555761", 10, MPFR_RNDN);
        mpfr_init(r20010);
        mpfr_init(r20011);
        mpfr_init(r20012);
        mpfr_init_set_str(r20013, "0.0140005442", 10, MPFR_RNDN);
        mpfr_init(r20014);
        mpfr_init(r20015);
        mpfr_init(r20016);
        mpfr_init(r20017);
        mpfr_init(r20018);
        mpfr_init_set_str(r20019, "6", 10, MPFR_RNDN);
        mpfr_init(r20020);
        mpfr_init_set_str(r20021, "0.0003579942", 10, MPFR_RNDN);
        mpfr_init(r20022);
        mpfr_init(r20023);
        mpfr_init(r20024);
        mpfr_init(r20025);
        mpfr_init_set_str(r20026, "0.7715471019", 10, MPFR_RNDN);
        mpfr_init(r20027);
        mpfr_init_set_str(r20028, "4", 10, MPFR_RNDN);
        mpfr_init(r20029);
        mpfr_init_set_str(r20030, "0.0008327945", 10, MPFR_RNDN);
        mpfr_init(r20031);
        mpfr_init(r20032);
        mpfr_init(r20033);
        mpfr_init(r20034);
        mpfr_init(r20035);
        mpfr_init(r20036);
        mpfr_init_set_str(r20037, "3.598220797602781e+27", 10, MPFR_RNDN);
        mpfr_init(r20038);
        mpfr_init(r20039);
        mpfr_init(r20040);
        mpfr_init(r20041);
        mpfr_init_set_str(r20042, "2", 10, MPFR_RNDN);
        mpfr_init(r20043);
        mpfr_init(r20044);
        mpfr_init(r20045);
        mpfr_init(r20046);
        mpfr_init(r20047);
        mpfr_init(r20048);
        mpfr_init(r20049);
        mpfr_init(r20050);
        mpfr_init(r20051);
        mpfr_init(r20052);
        mpfr_init(r20053);
        mpfr_init(r20054);
        mpfr_init(r20055);
        mpfr_init(r20056);
        mpfr_init(r20057);
        mpfr_init(r20058);
        mpfr_init(r20059);
        mpfr_init(r20060);
        mpfr_init(r20061);
        mpfr_init(r20062);
        mpfr_init(r20063);
        mpfr_init(r20064);
        mpfr_init(r20065);
        mpfr_init(r20066);
        mpfr_init(r20067);
        mpfr_init(r20068);
        mpfr_init(r20069);
        mpfr_init(r20070);
        mpfr_init(r20071);
        mpfr_init(r20072);
        mpfr_init(r20073);
        mpfr_init(r20074);
        mpfr_init(r20075);
        mpfr_init(r20076);
        mpfr_init(r20077);
        mpfr_init(r20078);
}

double f_fm(double x) {
        mpfr_set_d(r19975, x, MPFR_RNDN);
        ;
        mpfr_set_si(r19977, mpfr_cmp(r19975, r19976) <= 0, MPFR_RNDN);
        ;
        ;
        mpfr_mul(r19980, r19975, r19975, MPFR_RNDN);
        mpfr_div(r19981, r19979, r19980, MPFR_RNDN);
        mpfr_add(r19982, r19978, r19981, MPFR_RNDN);
        ;
        mpfr_mul(r19984, r19983, r19978, MPFR_RNDN);
        mpfr_mul(r19985, r19975, r19975, MPFR_RNDN); mpfr_mul(r19985, r19985, r19975, MPFR_RNDN);
        mpfr_sqr(r19986, r19985, MPFR_RNDN);
        mpfr_div(r19987, r19984, r19986, MPFR_RNDN);
        mpfr_add(r19988, r19982, r19987, MPFR_RNDN);
        ;
        mpfr_mul(r19990, r19989, r19978, MPFR_RNDN);
        mpfr_div(r19991, r19990, r19985, MPFR_RNDN);
        mpfr_div(r19992, r19991, r19975, MPFR_RNDN);
        ;
        ;
        mpfr_pow(r19995, r19975, r19994, MPFR_RNDN);
        mpfr_div(r19996, r19993, r19995, MPFR_RNDN);
        mpfr_add(r19997, r19992, r19996, MPFR_RNDN);
        ;
        mpfr_mul(r19999, r19978, r19998, MPFR_RNDN);
        mpfr_div(r20000, r19999, r19986, MPFR_RNDN);
        mpfr_div(r20001, r20000, r19980, MPFR_RNDN);
        mpfr_add(r20002, r19997, r20001, MPFR_RNDN);
        mpfr_add(r20003, r19988, r20002, MPFR_RNDN);
        mpfr_div(r20004, r19978, r19975, MPFR_RNDN);
        mpfr_div(r20005, r20004, r19985, MPFR_RNDN);
        ;
        mpfr_mul(r20007, r20005, r20006, MPFR_RNDN);
        mpfr_add(r20008, r19978, r20007, MPFR_RNDN);
        ;
        mpfr_mul(r20010, r20009, r19978, MPFR_RNDN);
        mpfr_div(r20011, r20010, r19986, MPFR_RNDN);
        mpfr_add(r20012, r20008, r20011, MPFR_RNDN);
        ;
        mpfr_mul(r20014, r19978, r20013, MPFR_RNDN);
        mpfr_div(r20015, r20014, r19986, MPFR_RNDN);
        mpfr_div(r20016, r20015, r19980, MPFR_RNDN);
        mpfr_div(r20017, r19978, r19985, MPFR_RNDN);
        mpfr_mul(r20018, r20017, r20017, MPFR_RNDN);
        ;
        mpfr_pow(r20020, r19975, r20019, MPFR_RNDN);
        ;
        mpfr_div(r20022, r20020, r20021, MPFR_RNDN);
        mpfr_div(r20023, r20018, r20022, MPFR_RNDN);
        mpfr_add(r20024, r20016, r20023, MPFR_RNDN);
        mpfr_add(r20025, r20012, r20024, MPFR_RNDN);
        ;
        mpfr_div(r20027, r20026, r19980, MPFR_RNDN);
        ;
        mpfr_pow(r20029, r19975, r20028, MPFR_RNDN);
        ;
        mpfr_div(r20031, r20029, r20030, MPFR_RNDN);
        mpfr_div(r20032, r20018, r20031, MPFR_RNDN);
        mpfr_add(r20033, r20027, r20032, MPFR_RNDN);
        mpfr_add(r20034, r20025, r20033, MPFR_RNDN);
        mpfr_mul(r20035, r20034, r19975, MPFR_RNDN);
        mpfr_div(r20036, r20003, r20035, MPFR_RNDN);
        ;
        mpfr_set_si(r20038, mpfr_cmp(r19975, r20037) <= 0, MPFR_RNDN);
        mpfr_mul(r20039, r19980, r19980, MPFR_RNDN);
        mpfr_mul(r20040, r19985, r19985, MPFR_RNDN);
        mpfr_mul(r20041, r20039, r20040, MPFR_RNDN);
        ;
        mpfr_mul(r20043, r20042, r19993, MPFR_RNDN);
        mpfr_mul(r20044, r20043, r19980, MPFR_RNDN);
        mpfr_add(r20045, r20044, r20030, MPFR_RNDN);
        mpfr_mul(r20046, r20041, r20045, MPFR_RNDN);
        mpfr_mul(r20047, r19975, r20006, MPFR_RNDN);
        mpfr_mul(r20048, r20047, r19985, MPFR_RNDN);
        mpfr_add(r20049, r19978, r20048, MPFR_RNDN);
        mpfr_mul(r20050, r20026, r19975, MPFR_RNDN);
        mpfr_mul(r20051, r20050, r19975, MPFR_RNDN);
        mpfr_add(r20052, r20049, r20051, MPFR_RNDN);
        mpfr_add(r20053, r20046, r20052, MPFR_RNDN);
        mpfr_mul(r20054, r20013, r19980, MPFR_RNDN);
        mpfr_add(r20055, r20009, r20054, MPFR_RNDN);
        mpfr_mul(r20056, r20039, r20055, MPFR_RNDN);
        mpfr_mul(r20057, r19980, r20056, MPFR_RNDN);
        mpfr_add(r20058, r20053, r20057, MPFR_RNDN);
        mpfr_div(r20059, r19975, r20058, MPFR_RNDN);
        mpfr_mul(r20060, r19975, r19989, MPFR_RNDN);
        mpfr_mul(r20061, r20060, r19985, MPFR_RNDN);
        mpfr_mul(r20062, r19980, r19979, MPFR_RNDN);
        mpfr_add(r20063, r20062, r19978, MPFR_RNDN);
        mpfr_add(r20064, r20061, r20063, MPFR_RNDN);
        mpfr_mul(r20065, r19980, r19993, MPFR_RNDN);
        mpfr_mul(r20066, r19985, r19975, MPFR_RNDN);
        mpfr_mul(r20067, r20039, r20066, MPFR_RNDN);
        mpfr_mul(r20068, r20065, r20067, MPFR_RNDN);
        mpfr_add(r20069, r20064, r20068, MPFR_RNDN);
        mpfr_mul(r20070, r19998, r19975, MPFR_RNDN);
        mpfr_mul(r20071, r20070, r19975, MPFR_RNDN);
        mpfr_add(r20072, r19983, r20071, MPFR_RNDN);
        mpfr_mul(r20073, r20039, r20072, MPFR_RNDN);
        mpfr_mul(r20074, r19980, r20073, MPFR_RNDN);
        mpfr_add(r20075, r20069, r20074, MPFR_RNDN);
        mpfr_mul(r20076, r20059, r20075, MPFR_RNDN);
        if (mpfr_get_si(r20038, MPFR_RNDN)) { mpfr_set(r20077, r20076, MPFR_RNDN); } else { mpfr_set(r20077, r20036, MPFR_RNDN); };
        if (mpfr_get_si(r19977, MPFR_RNDN)) { mpfr_set(r20078, r20036, MPFR_RNDN); } else { mpfr_set(r20078, r20077, MPFR_RNDN); };
        return mpfr_get_d(r20078, MPFR_RNDN);
}

static mpfr_t r20079, r20080, r20081, r20082, r20083, r20084, r20085, r20086, r20087, r20088, r20089, r20090, r20091, r20092, r20093, r20094, r20095, r20096, r20097, r20098, r20099, r20100, r20101, r20102, r20103, r20104, r20105, r20106, r20107, r20108, r20109, r20110, r20111, r20112, r20113, r20114, r20115, r20116, r20117, r20118, r20119, r20120, r20121, r20122, r20123, r20124, r20125, r20126, r20127, r20128, r20129, r20130, r20131, r20132, r20133, r20134, r20135, r20136, r20137, r20138, r20139, r20140, r20141, r20142, r20143, r20144, r20145, r20146, r20147, r20148, r20149, r20150, r20151, r20152, r20153, r20154, r20155, r20156, r20157, r20158, r20159, r20160, r20161, r20162, r20163, r20164, r20165, r20166, r20167, r20168, r20169, r20170, r20171, r20172, r20173, r20174, r20175, r20176, r20177, r20178, r20179, r20180, r20181, r20182;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(144);
        mpfr_init(r20079);
        mpfr_init_set_str(r20080, "-4.8392898094319444e+23", 10, MPFR_RNDN);
        mpfr_init(r20081);
        mpfr_init_set_str(r20082, "1", 10, MPFR_RNDN);
        mpfr_init_set_str(r20083, "0.1049934947", 10, MPFR_RNDN);
        mpfr_init(r20084);
        mpfr_init(r20085);
        mpfr_init(r20086);
        mpfr_init_set_str(r20087, "0.0072644182", 10, MPFR_RNDN);
        mpfr_init(r20088);
        mpfr_init(r20089);
        mpfr_init(r20090);
        mpfr_init(r20091);
        mpfr_init(r20092);
        mpfr_init_set_str(r20093, "0.0424060604", 10, MPFR_RNDN);
        mpfr_init(r20094);
        mpfr_init(r20095);
        mpfr_init(r20096);
        mpfr_init_set_str(r20097, "0.0001789971", 10, MPFR_RNDN);
        mpfr_init_set_str(r20098, "10", 10, MPFR_RNDN);
        mpfr_init(r20099);
        mpfr_init(r20100);
        mpfr_init(r20101);
        mpfr_init_set_str(r20102, "0.0005064034", 10, MPFR_RNDN);
        mpfr_init(r20103);
        mpfr_init(r20104);
        mpfr_init(r20105);
        mpfr_init(r20106);
        mpfr_init(r20107);
        mpfr_init(r20108);
        mpfr_init(r20109);
        mpfr_init_set_str(r20110, "0.2909738639", 10, MPFR_RNDN);
        mpfr_init(r20111);
        mpfr_init(r20112);
        mpfr_init_set_str(r20113, "0.0694555761", 10, MPFR_RNDN);
        mpfr_init(r20114);
        mpfr_init(r20115);
        mpfr_init(r20116);
        mpfr_init_set_str(r20117, "0.0140005442", 10, MPFR_RNDN);
        mpfr_init(r20118);
        mpfr_init(r20119);
        mpfr_init(r20120);
        mpfr_init(r20121);
        mpfr_init(r20122);
        mpfr_init_set_str(r20123, "6", 10, MPFR_RNDN);
        mpfr_init(r20124);
        mpfr_init_set_str(r20125, "0.0003579942", 10, MPFR_RNDN);
        mpfr_init(r20126);
        mpfr_init(r20127);
        mpfr_init(r20128);
        mpfr_init(r20129);
        mpfr_init_set_str(r20130, "0.7715471019", 10, MPFR_RNDN);
        mpfr_init(r20131);
        mpfr_init_set_str(r20132, "4", 10, MPFR_RNDN);
        mpfr_init(r20133);
        mpfr_init_set_str(r20134, "0.0008327945", 10, MPFR_RNDN);
        mpfr_init(r20135);
        mpfr_init(r20136);
        mpfr_init(r20137);
        mpfr_init(r20138);
        mpfr_init(r20139);
        mpfr_init(r20140);
        mpfr_init_set_str(r20141, "3.598220797602781e+27", 10, MPFR_RNDN);
        mpfr_init(r20142);
        mpfr_init(r20143);
        mpfr_init(r20144);
        mpfr_init(r20145);
        mpfr_init_set_str(r20146, "2", 10, MPFR_RNDN);
        mpfr_init(r20147);
        mpfr_init(r20148);
        mpfr_init(r20149);
        mpfr_init(r20150);
        mpfr_init(r20151);
        mpfr_init(r20152);
        mpfr_init(r20153);
        mpfr_init(r20154);
        mpfr_init(r20155);
        mpfr_init(r20156);
        mpfr_init(r20157);
        mpfr_init(r20158);
        mpfr_init(r20159);
        mpfr_init(r20160);
        mpfr_init(r20161);
        mpfr_init(r20162);
        mpfr_init(r20163);
        mpfr_init(r20164);
        mpfr_init(r20165);
        mpfr_init(r20166);
        mpfr_init(r20167);
        mpfr_init(r20168);
        mpfr_init(r20169);
        mpfr_init(r20170);
        mpfr_init(r20171);
        mpfr_init(r20172);
        mpfr_init(r20173);
        mpfr_init(r20174);
        mpfr_init(r20175);
        mpfr_init(r20176);
        mpfr_init(r20177);
        mpfr_init(r20178);
        mpfr_init(r20179);
        mpfr_init(r20180);
        mpfr_init(r20181);
        mpfr_init(r20182);
}

double f_dm(double x) {
        mpfr_set_d(r20079, x, MPFR_RNDN);
        ;
        mpfr_set_si(r20081, mpfr_cmp(r20079, r20080) <= 0, MPFR_RNDN);
        ;
        ;
        mpfr_mul(r20084, r20079, r20079, MPFR_RNDN);
        mpfr_div(r20085, r20083, r20084, MPFR_RNDN);
        mpfr_add(r20086, r20082, r20085, MPFR_RNDN);
        ;
        mpfr_mul(r20088, r20087, r20082, MPFR_RNDN);
        mpfr_mul(r20089, r20079, r20079, MPFR_RNDN); mpfr_mul(r20089, r20089, r20079, MPFR_RNDN);
        mpfr_sqr(r20090, r20089, MPFR_RNDN);
        mpfr_div(r20091, r20088, r20090, MPFR_RNDN);
        mpfr_add(r20092, r20086, r20091, MPFR_RNDN);
        ;
        mpfr_mul(r20094, r20093, r20082, MPFR_RNDN);
        mpfr_div(r20095, r20094, r20089, MPFR_RNDN);
        mpfr_div(r20096, r20095, r20079, MPFR_RNDN);
        ;
        ;
        mpfr_pow(r20099, r20079, r20098, MPFR_RNDN);
        mpfr_div(r20100, r20097, r20099, MPFR_RNDN);
        mpfr_add(r20101, r20096, r20100, MPFR_RNDN);
        ;
        mpfr_mul(r20103, r20082, r20102, MPFR_RNDN);
        mpfr_div(r20104, r20103, r20090, MPFR_RNDN);
        mpfr_div(r20105, r20104, r20084, MPFR_RNDN);
        mpfr_add(r20106, r20101, r20105, MPFR_RNDN);
        mpfr_add(r20107, r20092, r20106, MPFR_RNDN);
        mpfr_div(r20108, r20082, r20079, MPFR_RNDN);
        mpfr_div(r20109, r20108, r20089, MPFR_RNDN);
        ;
        mpfr_mul(r20111, r20109, r20110, MPFR_RNDN);
        mpfr_add(r20112, r20082, r20111, MPFR_RNDN);
        ;
        mpfr_mul(r20114, r20113, r20082, MPFR_RNDN);
        mpfr_div(r20115, r20114, r20090, MPFR_RNDN);
        mpfr_add(r20116, r20112, r20115, MPFR_RNDN);
        ;
        mpfr_mul(r20118, r20082, r20117, MPFR_RNDN);
        mpfr_div(r20119, r20118, r20090, MPFR_RNDN);
        mpfr_div(r20120, r20119, r20084, MPFR_RNDN);
        mpfr_div(r20121, r20082, r20089, MPFR_RNDN);
        mpfr_mul(r20122, r20121, r20121, MPFR_RNDN);
        ;
        mpfr_pow(r20124, r20079, r20123, MPFR_RNDN);
        ;
        mpfr_div(r20126, r20124, r20125, MPFR_RNDN);
        mpfr_div(r20127, r20122, r20126, MPFR_RNDN);
        mpfr_add(r20128, r20120, r20127, MPFR_RNDN);
        mpfr_add(r20129, r20116, r20128, MPFR_RNDN);
        ;
        mpfr_div(r20131, r20130, r20084, MPFR_RNDN);
        ;
        mpfr_pow(r20133, r20079, r20132, MPFR_RNDN);
        ;
        mpfr_div(r20135, r20133, r20134, MPFR_RNDN);
        mpfr_div(r20136, r20122, r20135, MPFR_RNDN);
        mpfr_add(r20137, r20131, r20136, MPFR_RNDN);
        mpfr_add(r20138, r20129, r20137, MPFR_RNDN);
        mpfr_mul(r20139, r20138, r20079, MPFR_RNDN);
        mpfr_div(r20140, r20107, r20139, MPFR_RNDN);
        ;
        mpfr_set_si(r20142, mpfr_cmp(r20079, r20141) <= 0, MPFR_RNDN);
        mpfr_mul(r20143, r20084, r20084, MPFR_RNDN);
        mpfr_mul(r20144, r20089, r20089, MPFR_RNDN);
        mpfr_mul(r20145, r20143, r20144, MPFR_RNDN);
        ;
        mpfr_mul(r20147, r20146, r20097, MPFR_RNDN);
        mpfr_mul(r20148, r20147, r20084, MPFR_RNDN);
        mpfr_add(r20149, r20148, r20134, MPFR_RNDN);
        mpfr_mul(r20150, r20145, r20149, MPFR_RNDN);
        mpfr_mul(r20151, r20079, r20110, MPFR_RNDN);
        mpfr_mul(r20152, r20151, r20089, MPFR_RNDN);
        mpfr_add(r20153, r20082, r20152, MPFR_RNDN);
        mpfr_mul(r20154, r20130, r20079, MPFR_RNDN);
        mpfr_mul(r20155, r20154, r20079, MPFR_RNDN);
        mpfr_add(r20156, r20153, r20155, MPFR_RNDN);
        mpfr_add(r20157, r20150, r20156, MPFR_RNDN);
        mpfr_mul(r20158, r20117, r20084, MPFR_RNDN);
        mpfr_add(r20159, r20113, r20158, MPFR_RNDN);
        mpfr_mul(r20160, r20143, r20159, MPFR_RNDN);
        mpfr_mul(r20161, r20084, r20160, MPFR_RNDN);
        mpfr_add(r20162, r20157, r20161, MPFR_RNDN);
        mpfr_div(r20163, r20079, r20162, MPFR_RNDN);
        mpfr_mul(r20164, r20079, r20093, MPFR_RNDN);
        mpfr_mul(r20165, r20164, r20089, MPFR_RNDN);
        mpfr_mul(r20166, r20084, r20083, MPFR_RNDN);
        mpfr_add(r20167, r20166, r20082, MPFR_RNDN);
        mpfr_add(r20168, r20165, r20167, MPFR_RNDN);
        mpfr_mul(r20169, r20084, r20097, MPFR_RNDN);
        mpfr_mul(r20170, r20089, r20079, MPFR_RNDN);
        mpfr_mul(r20171, r20143, r20170, MPFR_RNDN);
        mpfr_mul(r20172, r20169, r20171, MPFR_RNDN);
        mpfr_add(r20173, r20168, r20172, MPFR_RNDN);
        mpfr_mul(r20174, r20102, r20079, MPFR_RNDN);
        mpfr_mul(r20175, r20174, r20079, MPFR_RNDN);
        mpfr_add(r20176, r20087, r20175, MPFR_RNDN);
        mpfr_mul(r20177, r20143, r20176, MPFR_RNDN);
        mpfr_mul(r20178, r20084, r20177, MPFR_RNDN);
        mpfr_add(r20179, r20173, r20178, MPFR_RNDN);
        mpfr_mul(r20180, r20163, r20179, MPFR_RNDN);
        if (mpfr_get_si(r20142, MPFR_RNDN)) { mpfr_set(r20181, r20180, MPFR_RNDN); } else { mpfr_set(r20181, r20140, MPFR_RNDN); };
        if (mpfr_get_si(r20081, MPFR_RNDN)) { mpfr_set(r20182, r20140, MPFR_RNDN); } else { mpfr_set(r20182, r20181, MPFR_RNDN); };
        return mpfr_get_d(r20182, MPFR_RNDN);
}

