#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 r19503 = 1.0f;
        float r19504 = 0.1049934947f;
        float r19505 = x;
        float r19506 = r19505 * r19505;
        float r19507 = r19504 * r19506;
        float r19508 = r19503 + r19507;
        float r19509 = 0.0424060604f;
        float r19510 = r19506 * r19506;
        float r19511 = r19509 * r19510;
        float r19512 = r19508 + r19511;
        float r19513 = 0.0072644182f;
        float r19514 = r19510 * r19506;
        float r19515 = r19513 * r19514;
        float r19516 = r19512 + r19515;
        float r19517 = 0.0005064034f;
        float r19518 = r19514 * r19506;
        float r19519 = r19517 * r19518;
        float r19520 = r19516 + r19519;
        float r19521 = 0.0001789971f;
        float r19522 = r19518 * r19506;
        float r19523 = r19521 * r19522;
        float r19524 = r19520 + r19523;
        float r19525 = 0.7715471019f;
        float r19526 = r19525 * r19506;
        float r19527 = r19503 + r19526;
        float r19528 = 0.2909738639f;
        float r19529 = r19528 * r19510;
        float r19530 = r19527 + r19529;
        float r19531 = 0.0694555761f;
        float r19532 = r19531 * r19514;
        float r19533 = r19530 + r19532;
        float r19534 = 0.0140005442f;
        float r19535 = r19534 * r19518;
        float r19536 = r19533 + r19535;
        float r19537 = 0.0008327945f;
        float r19538 = r19537 * r19522;
        float r19539 = r19536 + r19538;
        float r19540 = 2.0f;
        float r19541 = r19540 * r19521;
        float r19542 = r19522 * r19506;
        float r19543 = r19541 * r19542;
        float r19544 = r19539 + r19543;
        float r19545 = r19524 / r19544;
        float r19546 = r19545 * r19505;
        return r19546;
}

double f_id(double x) {
        double r19547 = 1.0;
        double r19548 = 0.1049934947;
        double r19549 = x;
        double r19550 = r19549 * r19549;
        double r19551 = r19548 * r19550;
        double r19552 = r19547 + r19551;
        double r19553 = 0.0424060604;
        double r19554 = r19550 * r19550;
        double r19555 = r19553 * r19554;
        double r19556 = r19552 + r19555;
        double r19557 = 0.0072644182;
        double r19558 = r19554 * r19550;
        double r19559 = r19557 * r19558;
        double r19560 = r19556 + r19559;
        double r19561 = 0.0005064034;
        double r19562 = r19558 * r19550;
        double r19563 = r19561 * r19562;
        double r19564 = r19560 + r19563;
        double r19565 = 0.0001789971;
        double r19566 = r19562 * r19550;
        double r19567 = r19565 * r19566;
        double r19568 = r19564 + r19567;
        double r19569 = 0.7715471019;
        double r19570 = r19569 * r19550;
        double r19571 = r19547 + r19570;
        double r19572 = 0.2909738639;
        double r19573 = r19572 * r19554;
        double r19574 = r19571 + r19573;
        double r19575 = 0.0694555761;
        double r19576 = r19575 * r19558;
        double r19577 = r19574 + r19576;
        double r19578 = 0.0140005442;
        double r19579 = r19578 * r19562;
        double r19580 = r19577 + r19579;
        double r19581 = 0.0008327945;
        double r19582 = r19581 * r19566;
        double r19583 = r19580 + r19582;
        double r19584 = 2.0;
        double r19585 = r19584 * r19565;
        double r19586 = r19566 * r19550;
        double r19587 = r19585 * r19586;
        double r19588 = r19583 + r19587;
        double r19589 = r19568 / r19588;
        double r19590 = r19589 * r19549;
        return r19590;
}


double f_of(float x) {
        float r19591 = x;
        float r19592 = -1.8712086047983953e+24f;
        bool r19593 = r19591 <= r19592;
        float r19594 = 1.0f;
        float r19595 = 0.1049934947f;
        float r19596 = r19591 * r19591;
        float r19597 = r19595 / r19596;
        float r19598 = r19594 + r19597;
        float r19599 = 0.0072644182f;
        float r19600 = r19599 * r19594;
        float r19601 = r19591 * (r19591 * r19591);
        float r19602 = r19601 * r19601;
        float r19603 = r19600 / r19602;
        float r19604 = r19598 + r19603;
        float r19605 = 0.0424060604f;
        float r19606 = r19605 * r19594;
        float r19607 = r19606 / r19601;
        float r19608 = r19607 / r19591;
        float r19609 = 0.0001789971f;
        float r19610 = 10.0f;
        float r19611 = pow(r19591, r19610);
        float r19612 = r19609 / r19611;
        float r19613 = r19608 + r19612;
        float r19614 = 0.0005064034f;
        float r19615 = r19594 * r19614;
        float r19616 = r19615 / r19602;
        float r19617 = r19616 / r19596;
        float r19618 = r19613 + r19617;
        float r19619 = r19604 + r19618;
        float r19620 = r19594 / r19591;
        float r19621 = r19620 / r19601;
        float r19622 = 0.2909738639f;
        float r19623 = r19621 * r19622;
        float r19624 = r19594 + r19623;
        float r19625 = 0.0694555761f;
        float r19626 = r19625 * r19594;
        float r19627 = r19626 / r19602;
        float r19628 = r19624 + r19627;
        float r19629 = 0.0140005442f;
        float r19630 = r19594 * r19629;
        float r19631 = r19630 / r19602;
        float r19632 = r19631 / r19596;
        float r19633 = r19594 / r19601;
        float r19634 = r19633 * r19633;
        float r19635 = 6.0f;
        float r19636 = pow(r19591, r19635);
        float r19637 = 0.0003579942f;
        float r19638 = r19636 / r19637;
        float r19639 = r19634 / r19638;
        float r19640 = r19632 + r19639;
        float r19641 = r19628 + r19640;
        float r19642 = 0.7715471019f;
        float r19643 = r19642 / r19596;
        float r19644 = 4.0f;
        float r19645 = pow(r19591, r19644);
        float r19646 = 0.0008327945f;
        float r19647 = r19645 / r19646;
        float r19648 = r19634 / r19647;
        float r19649 = r19643 + r19648;
        float r19650 = r19641 + r19649;
        float r19651 = r19650 * r19591;
        float r19652 = r19619 / r19651;
        float r19653 = 1.8449770898206623e+27f;
        bool r19654 = r19591 <= r19653;
        float r19655 = r19591 * r19591;
        float r19656 = r19655 * r19609;
        float r19657 = r19655 * r19655;
        float r19658 = r19657 * r19657;
        float r19659 = r19656 * r19658;
        float r19660 = r19591 * r19605;
        float r19661 = r19660 * r19601;
        float r19662 = r19661 + r19594;
        float r19663 = r19595 * r19655;
        float r19664 = r19662 + r19663;
        float r19665 = r19659 + r19664;
        float r19666 = r19591 * r19665;
        float r19667 = r19591 * r19642;
        float r19668 = r19667 * r19591;
        float r19669 = r19594 + r19668;
        float r19670 = r19591 * r19622;
        float r19671 = r19601 * r19670;
        float r19672 = r19669 + r19671;
        float r19673 = r19601 * r19601;
        float r19674 = r19629 * r19591;
        float r19675 = r19591 * r19674;
        float r19676 = r19625 + r19675;
        float r19677 = r19673 * r19676;
        float r19678 = r19673 * r19657;
        float r19679 = 2.0f;
        float r19680 = r19679 * r19609;
        float r19681 = r19680 * r19655;
        float r19682 = r19681 + r19646;
        float r19683 = r19678 * r19682;
        float r19684 = r19677 + r19683;
        float r19685 = r19672 + r19684;
        float r19686 = r19666 / r19685;
        float r19687 = r19591 * r19673;
        float r19688 = r19614 * r19655;
        float r19689 = r19688 + r19599;
        float r19690 = r19687 * r19689;
        float r19691 = r19655 * (r19655 * r19655);
        float r19692 = r19657 * r19691;
        float r19693 = r19655 * r19680;
        float r19694 = r19693 + r19646;
        float r19695 = r19692 * r19694;
        float r19696 = r19642 * r19591;
        float r19697 = r19591 * r19696;
        float r19698 = r19670 * r19601;
        float r19699 = r19698 + r19594;
        float r19700 = r19697 + r19699;
        float r19701 = r19695 + r19700;
        float r19702 = r19675 + r19625;
        float r19703 = r19691 * r19702;
        float r19704 = r19701 + r19703;
        float r19705 = r19690 / r19704;
        float r19706 = r19686 + r19705;
        float r19707 = r19654 ? r19706 : r19652;
        float r19708 = r19593 ? r19652 : r19707;
        return r19708;
}

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

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 r19827, r19828, r19829, r19830, r19831, r19832, r19833, r19834, r19835, r19836, r19837, r19838, r19839, r19840, r19841, r19842, r19843, r19844, r19845, r19846, r19847, r19848, r19849, r19850, r19851, r19852, r19853, r19854, r19855, r19856, r19857, r19858, r19859, r19860, r19861, r19862, r19863, r19864, r19865, r19866, r19867, r19868, r19869, r19870;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(144);
        mpfr_init_set_str(r19827, "1", 10, MPFR_RNDN);
        mpfr_init_set_str(r19828, "0.1049934947", 10, MPFR_RNDN);
        mpfr_init(r19829);
        mpfr_init(r19830);
        mpfr_init(r19831);
        mpfr_init(r19832);
        mpfr_init_set_str(r19833, "0.0424060604", 10, MPFR_RNDN);
        mpfr_init(r19834);
        mpfr_init(r19835);
        mpfr_init(r19836);
        mpfr_init_set_str(r19837, "0.0072644182", 10, MPFR_RNDN);
        mpfr_init(r19838);
        mpfr_init(r19839);
        mpfr_init(r19840);
        mpfr_init_set_str(r19841, "0.0005064034", 10, MPFR_RNDN);
        mpfr_init(r19842);
        mpfr_init(r19843);
        mpfr_init(r19844);
        mpfr_init_set_str(r19845, "0.0001789971", 10, MPFR_RNDN);
        mpfr_init(r19846);
        mpfr_init(r19847);
        mpfr_init(r19848);
        mpfr_init_set_str(r19849, "0.7715471019", 10, MPFR_RNDN);
        mpfr_init(r19850);
        mpfr_init(r19851);
        mpfr_init_set_str(r19852, "0.2909738639", 10, MPFR_RNDN);
        mpfr_init(r19853);
        mpfr_init(r19854);
        mpfr_init_set_str(r19855, "0.0694555761", 10, MPFR_RNDN);
        mpfr_init(r19856);
        mpfr_init(r19857);
        mpfr_init_set_str(r19858, "0.0140005442", 10, MPFR_RNDN);
        mpfr_init(r19859);
        mpfr_init(r19860);
        mpfr_init_set_str(r19861, "0.0008327945", 10, MPFR_RNDN);
        mpfr_init(r19862);
        mpfr_init(r19863);
        mpfr_init_set_str(r19864, "2", 10, MPFR_RNDN);
        mpfr_init(r19865);
        mpfr_init(r19866);
        mpfr_init(r19867);
        mpfr_init(r19868);
        mpfr_init(r19869);
        mpfr_init(r19870);
}

double f_im(double x) {
        ;
        ;
        mpfr_set_d(r19829, x, MPFR_RNDN);
        mpfr_mul(r19830, r19829, r19829, MPFR_RNDN);
        mpfr_mul(r19831, r19828, r19830, MPFR_RNDN);
        mpfr_add(r19832, r19827, r19831, MPFR_RNDN);
        ;
        mpfr_mul(r19834, r19830, r19830, MPFR_RNDN);
        mpfr_mul(r19835, r19833, r19834, MPFR_RNDN);
        mpfr_add(r19836, r19832, r19835, MPFR_RNDN);
        ;
        mpfr_mul(r19838, r19834, r19830, MPFR_RNDN);
        mpfr_mul(r19839, r19837, r19838, MPFR_RNDN);
        mpfr_add(r19840, r19836, r19839, MPFR_RNDN);
        ;
        mpfr_mul(r19842, r19838, r19830, MPFR_RNDN);
        mpfr_mul(r19843, r19841, r19842, MPFR_RNDN);
        mpfr_add(r19844, r19840, r19843, MPFR_RNDN);
        ;
        mpfr_mul(r19846, r19842, r19830, MPFR_RNDN);
        mpfr_mul(r19847, r19845, r19846, MPFR_RNDN);
        mpfr_add(r19848, r19844, r19847, MPFR_RNDN);
        ;
        mpfr_mul(r19850, r19849, r19830, MPFR_RNDN);
        mpfr_add(r19851, r19827, r19850, MPFR_RNDN);
        ;
        mpfr_mul(r19853, r19852, r19834, MPFR_RNDN);
        mpfr_add(r19854, r19851, r19853, MPFR_RNDN);
        ;
        mpfr_mul(r19856, r19855, r19838, MPFR_RNDN);
        mpfr_add(r19857, r19854, r19856, MPFR_RNDN);
        ;
        mpfr_mul(r19859, r19858, r19842, MPFR_RNDN);
        mpfr_add(r19860, r19857, r19859, MPFR_RNDN);
        ;
        mpfr_mul(r19862, r19861, r19846, MPFR_RNDN);
        mpfr_add(r19863, r19860, r19862, MPFR_RNDN);
        ;
        mpfr_mul(r19865, r19864, r19845, MPFR_RNDN);
        mpfr_mul(r19866, r19846, r19830, MPFR_RNDN);
        mpfr_mul(r19867, r19865, r19866, MPFR_RNDN);
        mpfr_add(r19868, r19863, r19867, MPFR_RNDN);
        mpfr_div(r19869, r19848, r19868, MPFR_RNDN);
        mpfr_mul(r19870, r19869, r19829, MPFR_RNDN);
        return mpfr_get_d(r19870, MPFR_RNDN);
}

static mpfr_t r19871, r19872, r19873, r19874, r19875, r19876, r19877, r19878, r19879, r19880, r19881, r19882, r19883, r19884, r19885, r19886, r19887, r19888, r19889, r19890, r19891, r19892, r19893, r19894, r19895, r19896, r19897, r19898, r19899, r19900, r19901, r19902, r19903, r19904, r19905, r19906, r19907, r19908, r19909, r19910, r19911, r19912, r19913, r19914, r19915, r19916, r19917, r19918, r19919, r19920, r19921, r19922, r19923, r19924, r19925, r19926, r19927, r19928, r19929, r19930, 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, r19975, r19976, r19977, r19978, r19979, r19980, r19981, r19982, r19983, r19984, r19985, r19986, r19987, r19988;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(144);
        mpfr_init(r19871);
        mpfr_init_set_str(r19872, "-1.8712086047983953e+24", 10, MPFR_RNDN);
        mpfr_init(r19873);
        mpfr_init_set_str(r19874, "1", 10, MPFR_RNDN);
        mpfr_init_set_str(r19875, "0.1049934947", 10, MPFR_RNDN);
        mpfr_init(r19876);
        mpfr_init(r19877);
        mpfr_init(r19878);
        mpfr_init_set_str(r19879, "0.0072644182", 10, MPFR_RNDN);
        mpfr_init(r19880);
        mpfr_init(r19881);
        mpfr_init(r19882);
        mpfr_init(r19883);
        mpfr_init(r19884);
        mpfr_init_set_str(r19885, "0.0424060604", 10, MPFR_RNDN);
        mpfr_init(r19886);
        mpfr_init(r19887);
        mpfr_init(r19888);
        mpfr_init_set_str(r19889, "0.0001789971", 10, MPFR_RNDN);
        mpfr_init_set_str(r19890, "10", 10, MPFR_RNDN);
        mpfr_init(r19891);
        mpfr_init(r19892);
        mpfr_init(r19893);
        mpfr_init_set_str(r19894, "0.0005064034", 10, MPFR_RNDN);
        mpfr_init(r19895);
        mpfr_init(r19896);
        mpfr_init(r19897);
        mpfr_init(r19898);
        mpfr_init(r19899);
        mpfr_init(r19900);
        mpfr_init(r19901);
        mpfr_init_set_str(r19902, "0.2909738639", 10, MPFR_RNDN);
        mpfr_init(r19903);
        mpfr_init(r19904);
        mpfr_init_set_str(r19905, "0.0694555761", 10, MPFR_RNDN);
        mpfr_init(r19906);
        mpfr_init(r19907);
        mpfr_init(r19908);
        mpfr_init_set_str(r19909, "0.0140005442", 10, MPFR_RNDN);
        mpfr_init(r19910);
        mpfr_init(r19911);
        mpfr_init(r19912);
        mpfr_init(r19913);
        mpfr_init(r19914);
        mpfr_init_set_str(r19915, "6", 10, MPFR_RNDN);
        mpfr_init(r19916);
        mpfr_init_set_str(r19917, "0.0003579942", 10, MPFR_RNDN);
        mpfr_init(r19918);
        mpfr_init(r19919);
        mpfr_init(r19920);
        mpfr_init(r19921);
        mpfr_init_set_str(r19922, "0.7715471019", 10, MPFR_RNDN);
        mpfr_init(r19923);
        mpfr_init_set_str(r19924, "4", 10, MPFR_RNDN);
        mpfr_init(r19925);
        mpfr_init_set_str(r19926, "0.0008327945", 10, MPFR_RNDN);
        mpfr_init(r19927);
        mpfr_init(r19928);
        mpfr_init(r19929);
        mpfr_init(r19930);
        mpfr_init(r19931);
        mpfr_init(r19932);
        mpfr_init_set_str(r19933, "1.8449770898206623e+27", 10, MPFR_RNDN);
        mpfr_init(r19934);
        mpfr_init(r19935);
        mpfr_init(r19936);
        mpfr_init(r19937);
        mpfr_init(r19938);
        mpfr_init(r19939);
        mpfr_init(r19940);
        mpfr_init(r19941);
        mpfr_init(r19942);
        mpfr_init(r19943);
        mpfr_init(r19944);
        mpfr_init(r19945);
        mpfr_init(r19946);
        mpfr_init(r19947);
        mpfr_init(r19948);
        mpfr_init(r19949);
        mpfr_init(r19950);
        mpfr_init(r19951);
        mpfr_init(r19952);
        mpfr_init(r19953);
        mpfr_init(r19954);
        mpfr_init(r19955);
        mpfr_init(r19956);
        mpfr_init(r19957);
        mpfr_init(r19958);
        mpfr_init_set_str(r19959, "2", 10, MPFR_RNDN);
        mpfr_init(r19960);
        mpfr_init(r19961);
        mpfr_init(r19962);
        mpfr_init(r19963);
        mpfr_init(r19964);
        mpfr_init(r19965);
        mpfr_init(r19966);
        mpfr_init(r19967);
        mpfr_init(r19968);
        mpfr_init(r19969);
        mpfr_init(r19970);
        mpfr_init(r19971);
        mpfr_init(r19972);
        mpfr_init(r19973);
        mpfr_init(r19974);
        mpfr_init(r19975);
        mpfr_init(r19976);
        mpfr_init(r19977);
        mpfr_init(r19978);
        mpfr_init(r19979);
        mpfr_init(r19980);
        mpfr_init(r19981);
        mpfr_init(r19982);
        mpfr_init(r19983);
        mpfr_init(r19984);
        mpfr_init(r19985);
        mpfr_init(r19986);
        mpfr_init(r19987);
        mpfr_init(r19988);
}

double f_fm(double x) {
        mpfr_set_d(r19871, x, MPFR_RNDN);
        ;
        mpfr_set_si(r19873, mpfr_cmp(r19871, r19872) <= 0, MPFR_RNDN);
        ;
        ;
        mpfr_mul(r19876, r19871, r19871, MPFR_RNDN);
        mpfr_div(r19877, r19875, r19876, MPFR_RNDN);
        mpfr_add(r19878, r19874, r19877, MPFR_RNDN);
        ;
        mpfr_mul(r19880, r19879, r19874, MPFR_RNDN);
        mpfr_mul(r19881, r19871, r19871, MPFR_RNDN); mpfr_mul(r19881, r19881, r19871, MPFR_RNDN);
        mpfr_sqr(r19882, r19881, MPFR_RNDN);
        mpfr_div(r19883, r19880, r19882, MPFR_RNDN);
        mpfr_add(r19884, r19878, r19883, MPFR_RNDN);
        ;
        mpfr_mul(r19886, r19885, r19874, MPFR_RNDN);
        mpfr_div(r19887, r19886, r19881, MPFR_RNDN);
        mpfr_div(r19888, r19887, r19871, MPFR_RNDN);
        ;
        ;
        mpfr_pow(r19891, r19871, r19890, MPFR_RNDN);
        mpfr_div(r19892, r19889, r19891, MPFR_RNDN);
        mpfr_add(r19893, r19888, r19892, MPFR_RNDN);
        ;
        mpfr_mul(r19895, r19874, r19894, MPFR_RNDN);
        mpfr_div(r19896, r19895, r19882, MPFR_RNDN);
        mpfr_div(r19897, r19896, r19876, MPFR_RNDN);
        mpfr_add(r19898, r19893, r19897, MPFR_RNDN);
        mpfr_add(r19899, r19884, r19898, MPFR_RNDN);
        mpfr_div(r19900, r19874, r19871, MPFR_RNDN);
        mpfr_div(r19901, r19900, r19881, MPFR_RNDN);
        ;
        mpfr_mul(r19903, r19901, r19902, MPFR_RNDN);
        mpfr_add(r19904, r19874, r19903, MPFR_RNDN);
        ;
        mpfr_mul(r19906, r19905, r19874, MPFR_RNDN);
        mpfr_div(r19907, r19906, r19882, MPFR_RNDN);
        mpfr_add(r19908, r19904, r19907, MPFR_RNDN);
        ;
        mpfr_mul(r19910, r19874, r19909, MPFR_RNDN);
        mpfr_div(r19911, r19910, r19882, MPFR_RNDN);
        mpfr_div(r19912, r19911, r19876, MPFR_RNDN);
        mpfr_div(r19913, r19874, r19881, MPFR_RNDN);
        mpfr_mul(r19914, r19913, r19913, MPFR_RNDN);
        ;
        mpfr_pow(r19916, r19871, r19915, MPFR_RNDN);
        ;
        mpfr_div(r19918, r19916, r19917, MPFR_RNDN);
        mpfr_div(r19919, r19914, r19918, MPFR_RNDN);
        mpfr_add(r19920, r19912, r19919, MPFR_RNDN);
        mpfr_add(r19921, r19908, r19920, MPFR_RNDN);
        ;
        mpfr_div(r19923, r19922, r19876, MPFR_RNDN);
        ;
        mpfr_pow(r19925, r19871, r19924, MPFR_RNDN);
        ;
        mpfr_div(r19927, r19925, r19926, MPFR_RNDN);
        mpfr_div(r19928, r19914, r19927, MPFR_RNDN);
        mpfr_add(r19929, r19923, r19928, MPFR_RNDN);
        mpfr_add(r19930, r19921, r19929, MPFR_RNDN);
        mpfr_mul(r19931, r19930, r19871, MPFR_RNDN);
        mpfr_div(r19932, r19899, r19931, MPFR_RNDN);
        ;
        mpfr_set_si(r19934, mpfr_cmp(r19871, r19933) <= 0, MPFR_RNDN);
        mpfr_sqr(r19935, r19871, MPFR_RNDN);
        mpfr_mul(r19936, r19935, r19889, MPFR_RNDN);
        mpfr_mul(r19937, r19935, r19935, MPFR_RNDN);
        mpfr_mul(r19938, r19937, r19937, MPFR_RNDN);
        mpfr_mul(r19939, r19936, r19938, MPFR_RNDN);
        mpfr_mul(r19940, r19871, r19885, MPFR_RNDN);
        mpfr_mul(r19941, r19940, r19881, MPFR_RNDN);
        mpfr_add(r19942, r19941, r19874, MPFR_RNDN);
        mpfr_mul(r19943, r19875, r19935, MPFR_RNDN);
        mpfr_add(r19944, r19942, r19943, MPFR_RNDN);
        mpfr_add(r19945, r19939, r19944, MPFR_RNDN);
        mpfr_mul(r19946, r19871, r19945, MPFR_RNDN);
        mpfr_mul(r19947, r19871, r19922, MPFR_RNDN);
        mpfr_mul(r19948, r19947, r19871, MPFR_RNDN);
        mpfr_add(r19949, r19874, r19948, MPFR_RNDN);
        mpfr_mul(r19950, r19871, r19902, MPFR_RNDN);
        mpfr_mul(r19951, r19881, r19950, MPFR_RNDN);
        mpfr_add(r19952, r19949, r19951, MPFR_RNDN);
        mpfr_mul(r19953, r19881, r19881, MPFR_RNDN);
        mpfr_mul(r19954, r19909, r19871, MPFR_RNDN);
        mpfr_mul(r19955, r19871, r19954, MPFR_RNDN);
        mpfr_add(r19956, r19905, r19955, MPFR_RNDN);
        mpfr_mul(r19957, r19953, r19956, MPFR_RNDN);
        mpfr_mul(r19958, r19953, r19937, MPFR_RNDN);
        ;
        mpfr_mul(r19960, r19959, r19889, MPFR_RNDN);
        mpfr_mul(r19961, r19960, r19935, MPFR_RNDN);
        mpfr_add(r19962, r19961, r19926, MPFR_RNDN);
        mpfr_mul(r19963, r19958, r19962, MPFR_RNDN);
        mpfr_add(r19964, r19957, r19963, MPFR_RNDN);
        mpfr_add(r19965, r19952, r19964, MPFR_RNDN);
        mpfr_div(r19966, r19946, r19965, MPFR_RNDN);
        mpfr_mul(r19967, r19871, r19953, MPFR_RNDN);
        mpfr_mul(r19968, r19894, r19935, MPFR_RNDN);
        mpfr_add(r19969, r19968, r19879, MPFR_RNDN);
        mpfr_mul(r19970, r19967, r19969, MPFR_RNDN);
        mpfr_mul(r19971, r19935, r19935, MPFR_RNDN); mpfr_mul(r19971, r19971, r19935, MPFR_RNDN);
        mpfr_mul(r19972, r19937, r19971, MPFR_RNDN);
        mpfr_mul(r19973, r19935, r19960, MPFR_RNDN);
        mpfr_add(r19974, r19973, r19926, MPFR_RNDN);
        mpfr_mul(r19975, r19972, r19974, MPFR_RNDN);
        mpfr_mul(r19976, r19922, r19871, MPFR_RNDN);
        mpfr_mul(r19977, r19871, r19976, MPFR_RNDN);
        mpfr_mul(r19978, r19950, r19881, MPFR_RNDN);
        mpfr_add(r19979, r19978, r19874, MPFR_RNDN);
        mpfr_add(r19980, r19977, r19979, MPFR_RNDN);
        mpfr_add(r19981, r19975, r19980, MPFR_RNDN);
        mpfr_add(r19982, r19955, r19905, MPFR_RNDN);
        mpfr_mul(r19983, r19971, r19982, MPFR_RNDN);
        mpfr_add(r19984, r19981, r19983, MPFR_RNDN);
        mpfr_div(r19985, r19970, r19984, MPFR_RNDN);
        mpfr_add(r19986, r19966, r19985, MPFR_RNDN);
        if (mpfr_get_si(r19934, MPFR_RNDN)) { mpfr_set(r19987, r19986, MPFR_RNDN); } else { mpfr_set(r19987, r19932, MPFR_RNDN); };
        if (mpfr_get_si(r19873, MPFR_RNDN)) { mpfr_set(r19988, r19932, MPFR_RNDN); } else { mpfr_set(r19988, r19987, MPFR_RNDN); };
        return mpfr_get_d(r19988, MPFR_RNDN);
}

static mpfr_t 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, 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;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(144);
        mpfr_init(r19989);
        mpfr_init_set_str(r19990, "-1.8712086047983953e+24", 10, MPFR_RNDN);
        mpfr_init(r19991);
        mpfr_init_set_str(r19992, "1", 10, MPFR_RNDN);
        mpfr_init_set_str(r19993, "0.1049934947", 10, MPFR_RNDN);
        mpfr_init(r19994);
        mpfr_init(r19995);
        mpfr_init(r19996);
        mpfr_init_set_str(r19997, "0.0072644182", 10, MPFR_RNDN);
        mpfr_init(r19998);
        mpfr_init(r19999);
        mpfr_init(r20000);
        mpfr_init(r20001);
        mpfr_init(r20002);
        mpfr_init_set_str(r20003, "0.0424060604", 10, MPFR_RNDN);
        mpfr_init(r20004);
        mpfr_init(r20005);
        mpfr_init(r20006);
        mpfr_init_set_str(r20007, "0.0001789971", 10, MPFR_RNDN);
        mpfr_init_set_str(r20008, "10", 10, MPFR_RNDN);
        mpfr_init(r20009);
        mpfr_init(r20010);
        mpfr_init(r20011);
        mpfr_init_set_str(r20012, "0.0005064034", 10, MPFR_RNDN);
        mpfr_init(r20013);
        mpfr_init(r20014);
        mpfr_init(r20015);
        mpfr_init(r20016);
        mpfr_init(r20017);
        mpfr_init(r20018);
        mpfr_init(r20019);
        mpfr_init_set_str(r20020, "0.2909738639", 10, MPFR_RNDN);
        mpfr_init(r20021);
        mpfr_init(r20022);
        mpfr_init_set_str(r20023, "0.0694555761", 10, MPFR_RNDN);
        mpfr_init(r20024);
        mpfr_init(r20025);
        mpfr_init(r20026);
        mpfr_init_set_str(r20027, "0.0140005442", 10, MPFR_RNDN);
        mpfr_init(r20028);
        mpfr_init(r20029);
        mpfr_init(r20030);
        mpfr_init(r20031);
        mpfr_init(r20032);
        mpfr_init_set_str(r20033, "6", 10, MPFR_RNDN);
        mpfr_init(r20034);
        mpfr_init_set_str(r20035, "0.0003579942", 10, MPFR_RNDN);
        mpfr_init(r20036);
        mpfr_init(r20037);
        mpfr_init(r20038);
        mpfr_init(r20039);
        mpfr_init_set_str(r20040, "0.7715471019", 10, MPFR_RNDN);
        mpfr_init(r20041);
        mpfr_init_set_str(r20042, "4", 10, MPFR_RNDN);
        mpfr_init(r20043);
        mpfr_init_set_str(r20044, "0.0008327945", 10, MPFR_RNDN);
        mpfr_init(r20045);
        mpfr_init(r20046);
        mpfr_init(r20047);
        mpfr_init(r20048);
        mpfr_init(r20049);
        mpfr_init(r20050);
        mpfr_init_set_str(r20051, "1.8449770898206623e+27", 10, MPFR_RNDN);
        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_set_str(r20077, "2", 10, MPFR_RNDN);
        mpfr_init(r20078);
        mpfr_init(r20079);
        mpfr_init(r20080);
        mpfr_init(r20081);
        mpfr_init(r20082);
        mpfr_init(r20083);
        mpfr_init(r20084);
        mpfr_init(r20085);
        mpfr_init(r20086);
        mpfr_init(r20087);
        mpfr_init(r20088);
        mpfr_init(r20089);
        mpfr_init(r20090);
        mpfr_init(r20091);
        mpfr_init(r20092);
        mpfr_init(r20093);
        mpfr_init(r20094);
        mpfr_init(r20095);
        mpfr_init(r20096);
        mpfr_init(r20097);
        mpfr_init(r20098);
        mpfr_init(r20099);
        mpfr_init(r20100);
        mpfr_init(r20101);
        mpfr_init(r20102);
        mpfr_init(r20103);
        mpfr_init(r20104);
        mpfr_init(r20105);
        mpfr_init(r20106);
}

double f_dm(double x) {
        mpfr_set_d(r19989, x, MPFR_RNDN);
        ;
        mpfr_set_si(r19991, mpfr_cmp(r19989, r19990) <= 0, MPFR_RNDN);
        ;
        ;
        mpfr_mul(r19994, r19989, r19989, MPFR_RNDN);
        mpfr_div(r19995, r19993, r19994, MPFR_RNDN);
        mpfr_add(r19996, r19992, r19995, MPFR_RNDN);
        ;
        mpfr_mul(r19998, r19997, r19992, MPFR_RNDN);
        mpfr_mul(r19999, r19989, r19989, MPFR_RNDN); mpfr_mul(r19999, r19999, r19989, MPFR_RNDN);
        mpfr_sqr(r20000, r19999, MPFR_RNDN);
        mpfr_div(r20001, r19998, r20000, MPFR_RNDN);
        mpfr_add(r20002, r19996, r20001, MPFR_RNDN);
        ;
        mpfr_mul(r20004, r20003, r19992, MPFR_RNDN);
        mpfr_div(r20005, r20004, r19999, MPFR_RNDN);
        mpfr_div(r20006, r20005, r19989, MPFR_RNDN);
        ;
        ;
        mpfr_pow(r20009, r19989, r20008, MPFR_RNDN);
        mpfr_div(r20010, r20007, r20009, MPFR_RNDN);
        mpfr_add(r20011, r20006, r20010, MPFR_RNDN);
        ;
        mpfr_mul(r20013, r19992, r20012, MPFR_RNDN);
        mpfr_div(r20014, r20013, r20000, MPFR_RNDN);
        mpfr_div(r20015, r20014, r19994, MPFR_RNDN);
        mpfr_add(r20016, r20011, r20015, MPFR_RNDN);
        mpfr_add(r20017, r20002, r20016, MPFR_RNDN);
        mpfr_div(r20018, r19992, r19989, MPFR_RNDN);
        mpfr_div(r20019, r20018, r19999, MPFR_RNDN);
        ;
        mpfr_mul(r20021, r20019, r20020, MPFR_RNDN);
        mpfr_add(r20022, r19992, r20021, MPFR_RNDN);
        ;
        mpfr_mul(r20024, r20023, r19992, MPFR_RNDN);
        mpfr_div(r20025, r20024, r20000, MPFR_RNDN);
        mpfr_add(r20026, r20022, r20025, MPFR_RNDN);
        ;
        mpfr_mul(r20028, r19992, r20027, MPFR_RNDN);
        mpfr_div(r20029, r20028, r20000, MPFR_RNDN);
        mpfr_div(r20030, r20029, r19994, MPFR_RNDN);
        mpfr_div(r20031, r19992, r19999, MPFR_RNDN);
        mpfr_mul(r20032, r20031, r20031, MPFR_RNDN);
        ;
        mpfr_pow(r20034, r19989, r20033, MPFR_RNDN);
        ;
        mpfr_div(r20036, r20034, r20035, MPFR_RNDN);
        mpfr_div(r20037, r20032, r20036, MPFR_RNDN);
        mpfr_add(r20038, r20030, r20037, MPFR_RNDN);
        mpfr_add(r20039, r20026, r20038, MPFR_RNDN);
        ;
        mpfr_div(r20041, r20040, r19994, MPFR_RNDN);
        ;
        mpfr_pow(r20043, r19989, r20042, MPFR_RNDN);
        ;
        mpfr_div(r20045, r20043, r20044, MPFR_RNDN);
        mpfr_div(r20046, r20032, r20045, MPFR_RNDN);
        mpfr_add(r20047, r20041, r20046, MPFR_RNDN);
        mpfr_add(r20048, r20039, r20047, MPFR_RNDN);
        mpfr_mul(r20049, r20048, r19989, MPFR_RNDN);
        mpfr_div(r20050, r20017, r20049, MPFR_RNDN);
        ;
        mpfr_set_si(r20052, mpfr_cmp(r19989, r20051) <= 0, MPFR_RNDN);
        mpfr_sqr(r20053, r19989, MPFR_RNDN);
        mpfr_mul(r20054, r20053, r20007, MPFR_RNDN);
        mpfr_mul(r20055, r20053, r20053, MPFR_RNDN);
        mpfr_mul(r20056, r20055, r20055, MPFR_RNDN);
        mpfr_mul(r20057, r20054, r20056, MPFR_RNDN);
        mpfr_mul(r20058, r19989, r20003, MPFR_RNDN);
        mpfr_mul(r20059, r20058, r19999, MPFR_RNDN);
        mpfr_add(r20060, r20059, r19992, MPFR_RNDN);
        mpfr_mul(r20061, r19993, r20053, MPFR_RNDN);
        mpfr_add(r20062, r20060, r20061, MPFR_RNDN);
        mpfr_add(r20063, r20057, r20062, MPFR_RNDN);
        mpfr_mul(r20064, r19989, r20063, MPFR_RNDN);
        mpfr_mul(r20065, r19989, r20040, MPFR_RNDN);
        mpfr_mul(r20066, r20065, r19989, MPFR_RNDN);
        mpfr_add(r20067, r19992, r20066, MPFR_RNDN);
        mpfr_mul(r20068, r19989, r20020, MPFR_RNDN);
        mpfr_mul(r20069, r19999, r20068, MPFR_RNDN);
        mpfr_add(r20070, r20067, r20069, MPFR_RNDN);
        mpfr_mul(r20071, r19999, r19999, MPFR_RNDN);
        mpfr_mul(r20072, r20027, r19989, MPFR_RNDN);
        mpfr_mul(r20073, r19989, r20072, MPFR_RNDN);
        mpfr_add(r20074, r20023, r20073, MPFR_RNDN);
        mpfr_mul(r20075, r20071, r20074, MPFR_RNDN);
        mpfr_mul(r20076, r20071, r20055, MPFR_RNDN);
        ;
        mpfr_mul(r20078, r20077, r20007, MPFR_RNDN);
        mpfr_mul(r20079, r20078, r20053, MPFR_RNDN);
        mpfr_add(r20080, r20079, r20044, MPFR_RNDN);
        mpfr_mul(r20081, r20076, r20080, MPFR_RNDN);
        mpfr_add(r20082, r20075, r20081, MPFR_RNDN);
        mpfr_add(r20083, r20070, r20082, MPFR_RNDN);
        mpfr_div(r20084, r20064, r20083, MPFR_RNDN);
        mpfr_mul(r20085, r19989, r20071, MPFR_RNDN);
        mpfr_mul(r20086, r20012, r20053, MPFR_RNDN);
        mpfr_add(r20087, r20086, r19997, MPFR_RNDN);
        mpfr_mul(r20088, r20085, r20087, MPFR_RNDN);
        mpfr_mul(r20089, r20053, r20053, MPFR_RNDN); mpfr_mul(r20089, r20089, r20053, MPFR_RNDN);
        mpfr_mul(r20090, r20055, r20089, MPFR_RNDN);
        mpfr_mul(r20091, r20053, r20078, MPFR_RNDN);
        mpfr_add(r20092, r20091, r20044, MPFR_RNDN);
        mpfr_mul(r20093, r20090, r20092, MPFR_RNDN);
        mpfr_mul(r20094, r20040, r19989, MPFR_RNDN);
        mpfr_mul(r20095, r19989, r20094, MPFR_RNDN);
        mpfr_mul(r20096, r20068, r19999, MPFR_RNDN);
        mpfr_add(r20097, r20096, r19992, MPFR_RNDN);
        mpfr_add(r20098, r20095, r20097, MPFR_RNDN);
        mpfr_add(r20099, r20093, r20098, MPFR_RNDN);
        mpfr_add(r20100, r20073, r20023, MPFR_RNDN);
        mpfr_mul(r20101, r20089, r20100, MPFR_RNDN);
        mpfr_add(r20102, r20099, r20101, MPFR_RNDN);
        mpfr_div(r20103, r20088, r20102, MPFR_RNDN);
        mpfr_add(r20104, r20084, r20103, MPFR_RNDN);
        if (mpfr_get_si(r20052, MPFR_RNDN)) { mpfr_set(r20105, r20104, MPFR_RNDN); } else { mpfr_set(r20105, r20050, MPFR_RNDN); };
        if (mpfr_get_si(r19991, MPFR_RNDN)) { mpfr_set(r20106, r20050, MPFR_RNDN); } else { mpfr_set(r20106, r20105, MPFR_RNDN); };
        return mpfr_get_d(r20106, MPFR_RNDN);
}

