#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 r18516 = 1.0f;
        float r18517 = 0.10499349236488342f;
        float r18518 = x;
        float r18519 = r18518 * r18518;
        float r18520 = r18517 * r18519;
        float r18521 = r18516 + r18520;
        float r18522 = 0.04240605980157852f;
        float r18523 = r18519 * r18519;
        float r18524 = r18522 * r18523;
        float r18525 = r18521 + r18524;
        float r18526 = 0.007264418061822653f;
        float r18527 = r18523 * r18519;
        float r18528 = r18526 * r18527;
        float r18529 = r18525 + r18528;
        float r18530 = 0.0005064033903181553f;
        float r18531 = r18527 * r18519;
        float r18532 = r18530 * r18531;
        float r18533 = r18529 + r18532;
        float r18534 = 0.00017899709928315133f;
        float r18535 = r18531 * r18519;
        float r18536 = r18534 * r18535;
        float r18537 = r18533 + r18536;
        float r18538 = 0.7715470790863037f;
        float r18539 = r18538 * r18519;
        float r18540 = r18516 + r18539;
        float r18541 = 0.29097387194633484f;
        float r18542 = r18541 * r18523;
        float r18543 = r18540 + r18542;
        float r18544 = 0.0694555789232254f;
        float r18545 = r18544 * r18527;
        float r18546 = r18543 + r18545;
        float r18547 = 0.01400054432451725f;
        float r18548 = r18547 * r18531;
        float r18549 = r18546 + r18548;
        float r18550 = 0.0008327945251949131f;
        float r18551 = r18550 * r18535;
        float r18552 = r18549 + r18551;
        float r18553 = 2.0f;
        float r18554 = r18553 * r18534;
        float r18555 = r18535 * r18519;
        float r18556 = r18554 * r18555;
        float r18557 = r18552 + r18556;
        float r18558 = r18537 / r18557;
        float r18559 = r18558 * r18518;
        return r18559;
}

double f_id(double x) {
        double r18560 = 1.0;
        double r18561 = 0.10499349236488342;
        double r18562 = x;
        double r18563 = r18562 * r18562;
        double r18564 = r18561 * r18563;
        double r18565 = r18560 + r18564;
        double r18566 = 0.04240605980157852;
        double r18567 = r18563 * r18563;
        double r18568 = r18566 * r18567;
        double r18569 = r18565 + r18568;
        double r18570 = 0.007264418061822653;
        double r18571 = r18567 * r18563;
        double r18572 = r18570 * r18571;
        double r18573 = r18569 + r18572;
        double r18574 = 0.0005064033903181553;
        double r18575 = r18571 * r18563;
        double r18576 = r18574 * r18575;
        double r18577 = r18573 + r18576;
        double r18578 = 0.00017899709928315133;
        double r18579 = r18575 * r18563;
        double r18580 = r18578 * r18579;
        double r18581 = r18577 + r18580;
        double r18582 = 0.7715470790863037;
        double r18583 = r18582 * r18563;
        double r18584 = r18560 + r18583;
        double r18585 = 0.29097387194633484;
        double r18586 = r18585 * r18567;
        double r18587 = r18584 + r18586;
        double r18588 = 0.0694555789232254;
        double r18589 = r18588 * r18571;
        double r18590 = r18587 + r18589;
        double r18591 = 0.01400054432451725;
        double r18592 = r18591 * r18575;
        double r18593 = r18590 + r18592;
        double r18594 = 0.0008327945251949131;
        double r18595 = r18594 * r18579;
        double r18596 = r18593 + r18595;
        double r18597 = 2.0;
        double r18598 = r18597 * r18578;
        double r18599 = r18579 * r18563;
        double r18600 = r18598 * r18599;
        double r18601 = r18596 + r18600;
        double r18602 = r18581 / r18601;
        double r18603 = r18602 * r18562;
        return r18603;
}


double f_of(float x) {
        float r18604 = x;
        float r18605 = -2276.928466796875f;
        bool r18606 = r18604 <= r18605;
        float r18607 = 0.04240605980157852f;
        float r18608 = r18607 / r18604;
        float r18609 = r18604 * (r18604 * r18604);
        float r18610 = r18608 / r18609;
        float r18611 = 0.00017899709928315133f;
        float r18612 = 10.0f;
        float r18613 = pow(r18604, r18612);
        float r18614 = r18611 / r18613;
        float r18615 = r18610 + r18614;
        float r18616 = 0.0005064033903181553f;
        float r18617 = r18616 / r18604;
        float r18618 = r18609 * r18609;
        float r18619 = r18604 * r18618;
        float r18620 = r18617 / r18619;
        float r18621 = r18615 + r18620;
        float r18622 = 0.10499349236488342f;
        float r18623 = r18622 / r18604;
        float r18624 = r18623 / r18604;
        float r18625 = 1.0f;
        float r18626 = r18624 + r18625;
        float r18627 = 0.007264418061822653f;
        float r18628 = r18627 / r18618;
        float r18629 = r18626 + r18628;
        float r18630 = r18621 + r18629;
        float r18631 = 0.29097387194633484f;
        float r18632 = r18631 / r18604;
        float r18633 = r18632 / r18609;
        float r18634 = r18633 + r18625;
        float r18635 = 0.01400054432451725f;
        float r18636 = r18604 * r18604;
        float r18637 = r18635 / r18636;
        float r18638 = r18637 / r18618;
        float r18639 = r18634 + r18638;
        float r18640 = 0.0694555789232254f;
        float r18641 = r18640 / r18618;
        float r18642 = r18639 + r18641;
        float r18643 = 0.7715470790863037f;
        float r18644 = r18643 / r18636;
        float r18645 = 0.0008327945251949131f;
        float r18646 = 4.0f;
        float r18647 = pow(r18604, r18646);
        float r18648 = r18645 / r18647;
        float r18649 = r18648 / r18618;
        float r18650 = r18644 + r18649;
        float r18651 = r18625 / r18609;
        float r18652 = r18651 / r18609;
        float r18653 = 6.0f;
        float r18654 = pow(r18604, r18653);
        float r18655 = 0.00035799419856630266f;
        float r18656 = r18654 / r18655;
        float r18657 = r18652 / r18656;
        float r18658 = r18650 + r18657;
        float r18659 = r18642 + r18658;
        float r18660 = r18630 / r18659;
        float r18661 = r18660 / r18604;
        float r18662 = 17378.18359375f;
        bool r18663 = r18604 <= r18662;
        float r18664 = r18604 * r18604;
        float r18665 = r18664 * (r18664 * r18664);
        float r18666 = r18664 * r18635;
        float r18667 = r18640 + r18666;
        float r18668 = r18665 * r18667;
        float r18669 = r18643 * r18604;
        float r18670 = r18669 * r18604;
        float r18671 = r18670 + r18625;
        float r18672 = r18604 * r18631;
        float r18673 = r18672 * r18609;
        float r18674 = r18671 + r18673;
        float r18675 = r18668 + r18674;
        float r18676 = 2.0f;
        float r18677 = r18604 * r18676;
        float r18678 = r18604 * r18611;
        float r18679 = r18677 * r18678;
        float r18680 = r18679 + r18645;
        float r18681 = r18664 * r18664;
        float r18682 = r18681 * r18665;
        float r18683 = r18680 * r18682;
        float r18684 = r18675 + r18683;
        float r18685 = r18664 * r18616;
        float r18686 = r18685 + r18627;
        float r18687 = r18665 * r18686;
        float r18688 = r18681 * r18681;
        float r18689 = r18678 * r18604;
        float r18690 = r18688 * r18689;
        float r18691 = r18604 * r18622;
        float r18692 = r18604 * r18691;
        float r18693 = r18604 * r18607;
        float r18694 = r18609 * r18693;
        float r18695 = r18692 + r18694;
        float r18696 = r18695 + r18625;
        float r18697 = r18690 + r18696;
        float r18698 = r18687 + r18697;
        float r18699 = r18684 / r18698;
        float r18700 = r18604 / r18699;
        float r18701 = r18663 ? r18700 : r18661;
        float r18702 = r18606 ? r18661 : r18701;
        return r18702;
}

double f_od(double x) {
        double r18703 = x;
        double r18704 = -2276.928466796875;
        bool r18705 = r18703 <= r18704;
        double r18706 = 0.04240605980157852;
        double r18707 = r18706 / r18703;
        double r18708 = r18703 * (r18703 * r18703);
        double r18709 = r18707 / r18708;
        double r18710 = 0.00017899709928315133;
        double r18711 = 10.0;
        double r18712 = pow(r18703, r18711);
        double r18713 = r18710 / r18712;
        double r18714 = r18709 + r18713;
        double r18715 = 0.0005064033903181553;
        double r18716 = r18715 / r18703;
        double r18717 = r18708 * r18708;
        double r18718 = r18703 * r18717;
        double r18719 = r18716 / r18718;
        double r18720 = r18714 + r18719;
        double r18721 = 0.10499349236488342;
        double r18722 = r18721 / r18703;
        double r18723 = r18722 / r18703;
        double r18724 = 1.0;
        double r18725 = r18723 + r18724;
        double r18726 = 0.007264418061822653;
        double r18727 = r18726 / r18717;
        double r18728 = r18725 + r18727;
        double r18729 = r18720 + r18728;
        double r18730 = 0.29097387194633484;
        double r18731 = r18730 / r18703;
        double r18732 = r18731 / r18708;
        double r18733 = r18732 + r18724;
        double r18734 = 0.01400054432451725;
        double r18735 = r18703 * r18703;
        double r18736 = r18734 / r18735;
        double r18737 = r18736 / r18717;
        double r18738 = r18733 + r18737;
        double r18739 = 0.0694555789232254;
        double r18740 = r18739 / r18717;
        double r18741 = r18738 + r18740;
        double r18742 = 0.7715470790863037;
        double r18743 = r18742 / r18735;
        double r18744 = 0.0008327945251949131;
        double r18745 = 4.0;
        double r18746 = pow(r18703, r18745);
        double r18747 = r18744 / r18746;
        double r18748 = r18747 / r18717;
        double r18749 = r18743 + r18748;
        double r18750 = r18724 / r18708;
        double r18751 = r18750 / r18708;
        double r18752 = 6.0;
        double r18753 = pow(r18703, r18752);
        double r18754 = 0.00035799419856630266;
        double r18755 = r18753 / r18754;
        double r18756 = r18751 / r18755;
        double r18757 = r18749 + r18756;
        double r18758 = r18741 + r18757;
        double r18759 = r18729 / r18758;
        double r18760 = r18759 / r18703;
        double r18761 = 17378.18359375;
        bool r18762 = r18703 <= r18761;
        double r18763 = r18703 * r18703;
        double r18764 = r18763 * (r18763 * r18763);
        double r18765 = r18763 * r18734;
        double r18766 = r18739 + r18765;
        double r18767 = r18764 * r18766;
        double r18768 = r18742 * r18703;
        double r18769 = r18768 * r18703;
        double r18770 = r18769 + r18724;
        double r18771 = r18703 * r18730;
        double r18772 = r18771 * r18708;
        double r18773 = r18770 + r18772;
        double r18774 = r18767 + r18773;
        double r18775 = 2.0;
        double r18776 = r18703 * r18775;
        double r18777 = r18703 * r18710;
        double r18778 = r18776 * r18777;
        double r18779 = r18778 + r18744;
        double r18780 = r18763 * r18763;
        double r18781 = r18780 * r18764;
        double r18782 = r18779 * r18781;
        double r18783 = r18774 + r18782;
        double r18784 = r18763 * r18715;
        double r18785 = r18784 + r18726;
        double r18786 = r18764 * r18785;
        double r18787 = r18780 * r18780;
        double r18788 = r18777 * r18703;
        double r18789 = r18787 * r18788;
        double r18790 = r18703 * r18721;
        double r18791 = r18703 * r18790;
        double r18792 = r18703 * r18706;
        double r18793 = r18708 * r18792;
        double r18794 = r18791 + r18793;
        double r18795 = r18794 + r18724;
        double r18796 = r18789 + r18795;
        double r18797 = r18786 + r18796;
        double r18798 = r18783 / r18797;
        double r18799 = r18703 / r18798;
        double r18800 = r18762 ? r18799 : r18760;
        double r18801 = r18705 ? r18760 : r18800;
        return r18801;
}

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 r18802, r18803, r18804, r18805, r18806, r18807, r18808, r18809, r18810, r18811, r18812, r18813, r18814, r18815, r18816, r18817, r18818, r18819, r18820, r18821, r18822, r18823, r18824, r18825, r18826, r18827, r18828, r18829, r18830, r18831, r18832, r18833, r18834, r18835, r18836, r18837, r18838, r18839, r18840, r18841, r18842, r18843, r18844, r18845;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(144);
        mpfr_init_set_str(r18802, "1", 10, MPFR_RNDN);
        mpfr_init_set_str(r18803, "0.1049934947", 10, MPFR_RNDN);
        mpfr_init(r18804);
        mpfr_init(r18805);
        mpfr_init(r18806);
        mpfr_init(r18807);
        mpfr_init_set_str(r18808, "0.0424060604", 10, MPFR_RNDN);
        mpfr_init(r18809);
        mpfr_init(r18810);
        mpfr_init(r18811);
        mpfr_init_set_str(r18812, "0.0072644182", 10, MPFR_RNDN);
        mpfr_init(r18813);
        mpfr_init(r18814);
        mpfr_init(r18815);
        mpfr_init_set_str(r18816, "0.0005064034", 10, MPFR_RNDN);
        mpfr_init(r18817);
        mpfr_init(r18818);
        mpfr_init(r18819);
        mpfr_init_set_str(r18820, "0.0001789971", 10, MPFR_RNDN);
        mpfr_init(r18821);
        mpfr_init(r18822);
        mpfr_init(r18823);
        mpfr_init_set_str(r18824, "0.7715471019", 10, MPFR_RNDN);
        mpfr_init(r18825);
        mpfr_init(r18826);
        mpfr_init_set_str(r18827, "0.2909738639", 10, MPFR_RNDN);
        mpfr_init(r18828);
        mpfr_init(r18829);
        mpfr_init_set_str(r18830, "0.0694555761", 10, MPFR_RNDN);
        mpfr_init(r18831);
        mpfr_init(r18832);
        mpfr_init_set_str(r18833, "0.0140005442", 10, MPFR_RNDN);
        mpfr_init(r18834);
        mpfr_init(r18835);
        mpfr_init_set_str(r18836, "0.0008327945", 10, MPFR_RNDN);
        mpfr_init(r18837);
        mpfr_init(r18838);
        mpfr_init_set_str(r18839, "2", 10, MPFR_RNDN);
        mpfr_init(r18840);
        mpfr_init(r18841);
        mpfr_init(r18842);
        mpfr_init(r18843);
        mpfr_init(r18844);
        mpfr_init(r18845);
}

double f_im(double x) {
        ;
        ;
        mpfr_set_d(r18804, x, MPFR_RNDN);
        mpfr_mul(r18805, r18804, r18804, MPFR_RNDN);
        mpfr_mul(r18806, r18803, r18805, MPFR_RNDN);
        mpfr_add(r18807, r18802, r18806, MPFR_RNDN);
        ;
        mpfr_mul(r18809, r18805, r18805, MPFR_RNDN);
        mpfr_mul(r18810, r18808, r18809, MPFR_RNDN);
        mpfr_add(r18811, r18807, r18810, MPFR_RNDN);
        ;
        mpfr_mul(r18813, r18809, r18805, MPFR_RNDN);
        mpfr_mul(r18814, r18812, r18813, MPFR_RNDN);
        mpfr_add(r18815, r18811, r18814, MPFR_RNDN);
        ;
        mpfr_mul(r18817, r18813, r18805, MPFR_RNDN);
        mpfr_mul(r18818, r18816, r18817, MPFR_RNDN);
        mpfr_add(r18819, r18815, r18818, MPFR_RNDN);
        ;
        mpfr_mul(r18821, r18817, r18805, MPFR_RNDN);
        mpfr_mul(r18822, r18820, r18821, MPFR_RNDN);
        mpfr_add(r18823, r18819, r18822, MPFR_RNDN);
        ;
        mpfr_mul(r18825, r18824, r18805, MPFR_RNDN);
        mpfr_add(r18826, r18802, r18825, MPFR_RNDN);
        ;
        mpfr_mul(r18828, r18827, r18809, MPFR_RNDN);
        mpfr_add(r18829, r18826, r18828, MPFR_RNDN);
        ;
        mpfr_mul(r18831, r18830, r18813, MPFR_RNDN);
        mpfr_add(r18832, r18829, r18831, MPFR_RNDN);
        ;
        mpfr_mul(r18834, r18833, r18817, MPFR_RNDN);
        mpfr_add(r18835, r18832, r18834, MPFR_RNDN);
        ;
        mpfr_mul(r18837, r18836, r18821, MPFR_RNDN);
        mpfr_add(r18838, r18835, r18837, MPFR_RNDN);
        ;
        mpfr_mul(r18840, r18839, r18820, MPFR_RNDN);
        mpfr_mul(r18841, r18821, r18805, MPFR_RNDN);
        mpfr_mul(r18842, r18840, r18841, MPFR_RNDN);
        mpfr_add(r18843, r18838, r18842, MPFR_RNDN);
        mpfr_div(r18844, r18823, r18843, MPFR_RNDN);
        mpfr_mul(r18845, r18844, r18804, MPFR_RNDN);
        return mpfr_get_d(r18845, MPFR_RNDN);
}

static mpfr_t r18846, r18847, r18848, r18849, r18850, r18851, r18852, r18853, r18854, r18855, r18856, r18857, r18858, r18859, r18860, r18861, r18862, r18863, r18864, r18865, r18866, r18867, r18868, r18869, r18870, r18871, r18872, r18873, r18874, r18875, r18876, r18877, r18878, r18879, r18880, r18881, r18882, r18883, r18884, r18885, r18886, r18887, r18888, r18889, r18890, r18891, r18892, r18893, r18894, r18895, r18896, r18897, r18898, r18899, r18900, r18901, r18902, r18903, r18904, r18905, r18906, r18907, r18908, r18909, r18910, r18911, r18912, r18913, r18914, r18915, r18916, r18917, r18918, r18919, r18920, r18921, r18922, r18923, r18924, r18925, r18926, r18927, r18928, r18929, r18930, r18931, r18932, r18933, r18934, r18935, r18936, r18937, r18938, r18939, r18940, r18941, r18942, r18943, r18944;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(144);
        mpfr_init(r18846);
        mpfr_init_set_str(r18847, "-2276.9285f0", 10, MPFR_RNDN);
        mpfr_init(r18848);
        mpfr_init_set_str(r18849, "0.0424060604", 10, MPFR_RNDN);
        mpfr_init(r18850);
        mpfr_init(r18851);
        mpfr_init(r18852);
        mpfr_init_set_str(r18853, "0.0001789971", 10, MPFR_RNDN);
        mpfr_init_set_str(r18854, "10", 10, MPFR_RNDN);
        mpfr_init(r18855);
        mpfr_init(r18856);
        mpfr_init(r18857);
        mpfr_init_set_str(r18858, "0.0005064034", 10, MPFR_RNDN);
        mpfr_init(r18859);
        mpfr_init(r18860);
        mpfr_init(r18861);
        mpfr_init(r18862);
        mpfr_init(r18863);
        mpfr_init_set_str(r18864, "0.1049934947", 10, MPFR_RNDN);
        mpfr_init(r18865);
        mpfr_init(r18866);
        mpfr_init_set_str(r18867, "1", 10, MPFR_RNDN);
        mpfr_init(r18868);
        mpfr_init_set_str(r18869, "0.0072644182", 10, MPFR_RNDN);
        mpfr_init(r18870);
        mpfr_init(r18871);
        mpfr_init(r18872);
        mpfr_init_set_str(r18873, "0.2909738639", 10, MPFR_RNDN);
        mpfr_init(r18874);
        mpfr_init(r18875);
        mpfr_init(r18876);
        mpfr_init_set_str(r18877, "0.0140005442", 10, MPFR_RNDN);
        mpfr_init(r18878);
        mpfr_init(r18879);
        mpfr_init(r18880);
        mpfr_init(r18881);
        mpfr_init_set_str(r18882, "0.0694555761", 10, MPFR_RNDN);
        mpfr_init(r18883);
        mpfr_init(r18884);
        mpfr_init_set_str(r18885, "0.7715471019", 10, MPFR_RNDN);
        mpfr_init(r18886);
        mpfr_init_set_str(r18887, "0.0008327945", 10, MPFR_RNDN);
        mpfr_init_set_str(r18888, "4", 10, MPFR_RNDN);
        mpfr_init(r18889);
        mpfr_init(r18890);
        mpfr_init(r18891);
        mpfr_init(r18892);
        mpfr_init(r18893);
        mpfr_init(r18894);
        mpfr_init_set_str(r18895, "6", 10, MPFR_RNDN);
        mpfr_init(r18896);
        mpfr_init_set_str(r18897, "0.0003579942", 10, MPFR_RNDN);
        mpfr_init(r18898);
        mpfr_init(r18899);
        mpfr_init(r18900);
        mpfr_init(r18901);
        mpfr_init(r18902);
        mpfr_init(r18903);
        mpfr_init_set_str(r18904, "17378.184f0", 10, MPFR_RNDN);
        mpfr_init(r18905);
        mpfr_init(r18906);
        mpfr_init(r18907);
        mpfr_init(r18908);
        mpfr_init(r18909);
        mpfr_init(r18910);
        mpfr_init(r18911);
        mpfr_init(r18912);
        mpfr_init(r18913);
        mpfr_init(r18914);
        mpfr_init(r18915);
        mpfr_init(r18916);
        mpfr_init(r18917);
        mpfr_init_set_str(r18918, "2", 10, MPFR_RNDN);
        mpfr_init(r18919);
        mpfr_init(r18920);
        mpfr_init(r18921);
        mpfr_init(r18922);
        mpfr_init(r18923);
        mpfr_init(r18924);
        mpfr_init(r18925);
        mpfr_init(r18926);
        mpfr_init(r18927);
        mpfr_init(r18928);
        mpfr_init(r18929);
        mpfr_init(r18930);
        mpfr_init(r18931);
        mpfr_init(r18932);
        mpfr_init(r18933);
        mpfr_init(r18934);
        mpfr_init(r18935);
        mpfr_init(r18936);
        mpfr_init(r18937);
        mpfr_init(r18938);
        mpfr_init(r18939);
        mpfr_init(r18940);
        mpfr_init(r18941);
        mpfr_init(r18942);
        mpfr_init(r18943);
        mpfr_init(r18944);
}

double f_fm(double x) {
        mpfr_set_d(r18846, x, MPFR_RNDN);
        ;
        mpfr_set_si(r18848, mpfr_cmp(r18846, r18847) <= 0, MPFR_RNDN);
        ;
        mpfr_div(r18850, r18849, r18846, MPFR_RNDN);
        mpfr_mul(r18851, r18846, r18846, MPFR_RNDN); mpfr_mul(r18851, r18851, r18846, MPFR_RNDN);
        mpfr_div(r18852, r18850, r18851, MPFR_RNDN);
        ;
        ;
        mpfr_pow(r18855, r18846, r18854, MPFR_RNDN);
        mpfr_div(r18856, r18853, r18855, MPFR_RNDN);
        mpfr_add(r18857, r18852, r18856, MPFR_RNDN);
        ;
        mpfr_div(r18859, r18858, r18846, MPFR_RNDN);
        mpfr_mul(r18860, r18851, r18851, MPFR_RNDN);
        mpfr_mul(r18861, r18846, r18860, MPFR_RNDN);
        mpfr_div(r18862, r18859, r18861, MPFR_RNDN);
        mpfr_add(r18863, r18857, r18862, MPFR_RNDN);
        ;
        mpfr_div(r18865, r18864, r18846, MPFR_RNDN);
        mpfr_div(r18866, r18865, r18846, MPFR_RNDN);
        ;
        mpfr_add(r18868, r18866, r18867, MPFR_RNDN);
        ;
        mpfr_div(r18870, r18869, r18860, MPFR_RNDN);
        mpfr_add(r18871, r18868, r18870, MPFR_RNDN);
        mpfr_add(r18872, r18863, r18871, MPFR_RNDN);
        ;
        mpfr_div(r18874, r18873, r18846, MPFR_RNDN);
        mpfr_div(r18875, r18874, r18851, MPFR_RNDN);
        mpfr_add(r18876, r18875, r18867, MPFR_RNDN);
        ;
        mpfr_mul(r18878, r18846, r18846, MPFR_RNDN);
        mpfr_div(r18879, r18877, r18878, MPFR_RNDN);
        mpfr_div(r18880, r18879, r18860, MPFR_RNDN);
        mpfr_add(r18881, r18876, r18880, MPFR_RNDN);
        ;
        mpfr_div(r18883, r18882, r18860, MPFR_RNDN);
        mpfr_add(r18884, r18881, r18883, MPFR_RNDN);
        ;
        mpfr_div(r18886, r18885, r18878, MPFR_RNDN);
        ;
        ;
        mpfr_pow(r18889, r18846, r18888, MPFR_RNDN);
        mpfr_div(r18890, r18887, r18889, MPFR_RNDN);
        mpfr_div(r18891, r18890, r18860, MPFR_RNDN);
        mpfr_add(r18892, r18886, r18891, MPFR_RNDN);
        mpfr_div(r18893, r18867, r18851, MPFR_RNDN);
        mpfr_div(r18894, r18893, r18851, MPFR_RNDN);
        ;
        mpfr_pow(r18896, r18846, r18895, MPFR_RNDN);
        ;
        mpfr_div(r18898, r18896, r18897, MPFR_RNDN);
        mpfr_div(r18899, r18894, r18898, MPFR_RNDN);
        mpfr_add(r18900, r18892, r18899, MPFR_RNDN);
        mpfr_add(r18901, r18884, r18900, MPFR_RNDN);
        mpfr_div(r18902, r18872, r18901, MPFR_RNDN);
        mpfr_div(r18903, r18902, r18846, MPFR_RNDN);
        ;
        mpfr_set_si(r18905, mpfr_cmp(r18846, r18904) <= 0, MPFR_RNDN);
        mpfr_sqr(r18906, r18846, MPFR_RNDN);
        mpfr_mul(r18907, r18906, r18906, MPFR_RNDN); mpfr_mul(r18907, r18907, r18906, MPFR_RNDN);
        mpfr_mul(r18908, r18906, r18877, MPFR_RNDN);
        mpfr_add(r18909, r18882, r18908, MPFR_RNDN);
        mpfr_mul(r18910, r18907, r18909, MPFR_RNDN);
        mpfr_mul(r18911, r18885, r18846, MPFR_RNDN);
        mpfr_mul(r18912, r18911, r18846, MPFR_RNDN);
        mpfr_add(r18913, r18912, r18867, MPFR_RNDN);
        mpfr_mul(r18914, r18846, r18873, MPFR_RNDN);
        mpfr_mul(r18915, r18914, r18851, MPFR_RNDN);
        mpfr_add(r18916, r18913, r18915, MPFR_RNDN);
        mpfr_add(r18917, r18910, r18916, MPFR_RNDN);
        ;
        mpfr_mul(r18919, r18846, r18918, MPFR_RNDN);
        mpfr_mul(r18920, r18846, r18853, MPFR_RNDN);
        mpfr_mul(r18921, r18919, r18920, MPFR_RNDN);
        mpfr_add(r18922, r18921, r18887, MPFR_RNDN);
        mpfr_mul(r18923, r18906, r18906, MPFR_RNDN);
        mpfr_mul(r18924, r18923, r18907, MPFR_RNDN);
        mpfr_mul(r18925, r18922, r18924, MPFR_RNDN);
        mpfr_add(r18926, r18917, r18925, MPFR_RNDN);
        mpfr_mul(r18927, r18906, r18858, MPFR_RNDN);
        mpfr_add(r18928, r18927, r18869, MPFR_RNDN);
        mpfr_mul(r18929, r18907, r18928, MPFR_RNDN);
        mpfr_mul(r18930, r18923, r18923, MPFR_RNDN);
        mpfr_mul(r18931, r18920, r18846, MPFR_RNDN);
        mpfr_mul(r18932, r18930, r18931, MPFR_RNDN);
        mpfr_mul(r18933, r18846, r18864, MPFR_RNDN);
        mpfr_mul(r18934, r18846, r18933, MPFR_RNDN);
        mpfr_mul(r18935, r18846, r18849, MPFR_RNDN);
        mpfr_mul(r18936, r18851, r18935, MPFR_RNDN);
        mpfr_add(r18937, r18934, r18936, MPFR_RNDN);
        mpfr_add(r18938, r18937, r18867, MPFR_RNDN);
        mpfr_add(r18939, r18932, r18938, MPFR_RNDN);
        mpfr_add(r18940, r18929, r18939, MPFR_RNDN);
        mpfr_div(r18941, r18926, r18940, MPFR_RNDN);
        mpfr_div(r18942, r18846, r18941, MPFR_RNDN);
        if (mpfr_get_si(r18905, MPFR_RNDN)) { mpfr_set(r18943, r18942, MPFR_RNDN); } else { mpfr_set(r18943, r18903, MPFR_RNDN); };
        if (mpfr_get_si(r18848, MPFR_RNDN)) { mpfr_set(r18944, r18903, MPFR_RNDN); } else { mpfr_set(r18944, r18943, MPFR_RNDN); };
        return mpfr_get_d(r18944, MPFR_RNDN);
}

static mpfr_t r18945, r18946, r18947, r18948, r18949, r18950, r18951, r18952, r18953, r18954, r18955, r18956, r18957, r18958, r18959, r18960, r18961, r18962, r18963, r18964, r18965, r18966, r18967, r18968, r18969, r18970, r18971, r18972, r18973, r18974, r18975, r18976, r18977, r18978, r18979, r18980, r18981, r18982, r18983, r18984, r18985, r18986, r18987, r18988, r18989, r18990, r18991, r18992, r18993, r18994, r18995, r18996, r18997, r18998, r18999, r19000, r19001, r19002, r19003, r19004, r19005, r19006, r19007, r19008, r19009, r19010, r19011, r19012, r19013, r19014, r19015, r19016, r19017, r19018, r19019, r19020, r19021, r19022, r19023, r19024, r19025, r19026, r19027, r19028, r19029, r19030, r19031, r19032, r19033, r19034, r19035, r19036, r19037, r19038, r19039, r19040, r19041, r19042, r19043;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(144);
        mpfr_init(r18945);
        mpfr_init_set_str(r18946, "-2276.9285f0", 10, MPFR_RNDN);
        mpfr_init(r18947);
        mpfr_init_set_str(r18948, "0.0424060604", 10, MPFR_RNDN);
        mpfr_init(r18949);
        mpfr_init(r18950);
        mpfr_init(r18951);
        mpfr_init_set_str(r18952, "0.0001789971", 10, MPFR_RNDN);
        mpfr_init_set_str(r18953, "10", 10, MPFR_RNDN);
        mpfr_init(r18954);
        mpfr_init(r18955);
        mpfr_init(r18956);
        mpfr_init_set_str(r18957, "0.0005064034", 10, MPFR_RNDN);
        mpfr_init(r18958);
        mpfr_init(r18959);
        mpfr_init(r18960);
        mpfr_init(r18961);
        mpfr_init(r18962);
        mpfr_init_set_str(r18963, "0.1049934947", 10, MPFR_RNDN);
        mpfr_init(r18964);
        mpfr_init(r18965);
        mpfr_init_set_str(r18966, "1", 10, MPFR_RNDN);
        mpfr_init(r18967);
        mpfr_init_set_str(r18968, "0.0072644182", 10, MPFR_RNDN);
        mpfr_init(r18969);
        mpfr_init(r18970);
        mpfr_init(r18971);
        mpfr_init_set_str(r18972, "0.2909738639", 10, MPFR_RNDN);
        mpfr_init(r18973);
        mpfr_init(r18974);
        mpfr_init(r18975);
        mpfr_init_set_str(r18976, "0.0140005442", 10, MPFR_RNDN);
        mpfr_init(r18977);
        mpfr_init(r18978);
        mpfr_init(r18979);
        mpfr_init(r18980);
        mpfr_init_set_str(r18981, "0.0694555761", 10, MPFR_RNDN);
        mpfr_init(r18982);
        mpfr_init(r18983);
        mpfr_init_set_str(r18984, "0.7715471019", 10, MPFR_RNDN);
        mpfr_init(r18985);
        mpfr_init_set_str(r18986, "0.0008327945", 10, MPFR_RNDN);
        mpfr_init_set_str(r18987, "4", 10, MPFR_RNDN);
        mpfr_init(r18988);
        mpfr_init(r18989);
        mpfr_init(r18990);
        mpfr_init(r18991);
        mpfr_init(r18992);
        mpfr_init(r18993);
        mpfr_init_set_str(r18994, "6", 10, MPFR_RNDN);
        mpfr_init(r18995);
        mpfr_init_set_str(r18996, "0.0003579942", 10, MPFR_RNDN);
        mpfr_init(r18997);
        mpfr_init(r18998);
        mpfr_init(r18999);
        mpfr_init(r19000);
        mpfr_init(r19001);
        mpfr_init(r19002);
        mpfr_init_set_str(r19003, "17378.184f0", 10, MPFR_RNDN);
        mpfr_init(r19004);
        mpfr_init(r19005);
        mpfr_init(r19006);
        mpfr_init(r19007);
        mpfr_init(r19008);
        mpfr_init(r19009);
        mpfr_init(r19010);
        mpfr_init(r19011);
        mpfr_init(r19012);
        mpfr_init(r19013);
        mpfr_init(r19014);
        mpfr_init(r19015);
        mpfr_init(r19016);
        mpfr_init_set_str(r19017, "2", 10, MPFR_RNDN);
        mpfr_init(r19018);
        mpfr_init(r19019);
        mpfr_init(r19020);
        mpfr_init(r19021);
        mpfr_init(r19022);
        mpfr_init(r19023);
        mpfr_init(r19024);
        mpfr_init(r19025);
        mpfr_init(r19026);
        mpfr_init(r19027);
        mpfr_init(r19028);
        mpfr_init(r19029);
        mpfr_init(r19030);
        mpfr_init(r19031);
        mpfr_init(r19032);
        mpfr_init(r19033);
        mpfr_init(r19034);
        mpfr_init(r19035);
        mpfr_init(r19036);
        mpfr_init(r19037);
        mpfr_init(r19038);
        mpfr_init(r19039);
        mpfr_init(r19040);
        mpfr_init(r19041);
        mpfr_init(r19042);
        mpfr_init(r19043);
}

double f_dm(double x) {
        mpfr_set_d(r18945, x, MPFR_RNDN);
        ;
        mpfr_set_si(r18947, mpfr_cmp(r18945, r18946) <= 0, MPFR_RNDN);
        ;
        mpfr_div(r18949, r18948, r18945, MPFR_RNDN);
        mpfr_mul(r18950, r18945, r18945, MPFR_RNDN); mpfr_mul(r18950, r18950, r18945, MPFR_RNDN);
        mpfr_div(r18951, r18949, r18950, MPFR_RNDN);
        ;
        ;
        mpfr_pow(r18954, r18945, r18953, MPFR_RNDN);
        mpfr_div(r18955, r18952, r18954, MPFR_RNDN);
        mpfr_add(r18956, r18951, r18955, MPFR_RNDN);
        ;
        mpfr_div(r18958, r18957, r18945, MPFR_RNDN);
        mpfr_mul(r18959, r18950, r18950, MPFR_RNDN);
        mpfr_mul(r18960, r18945, r18959, MPFR_RNDN);
        mpfr_div(r18961, r18958, r18960, MPFR_RNDN);
        mpfr_add(r18962, r18956, r18961, MPFR_RNDN);
        ;
        mpfr_div(r18964, r18963, r18945, MPFR_RNDN);
        mpfr_div(r18965, r18964, r18945, MPFR_RNDN);
        ;
        mpfr_add(r18967, r18965, r18966, MPFR_RNDN);
        ;
        mpfr_div(r18969, r18968, r18959, MPFR_RNDN);
        mpfr_add(r18970, r18967, r18969, MPFR_RNDN);
        mpfr_add(r18971, r18962, r18970, MPFR_RNDN);
        ;
        mpfr_div(r18973, r18972, r18945, MPFR_RNDN);
        mpfr_div(r18974, r18973, r18950, MPFR_RNDN);
        mpfr_add(r18975, r18974, r18966, MPFR_RNDN);
        ;
        mpfr_mul(r18977, r18945, r18945, MPFR_RNDN);
        mpfr_div(r18978, r18976, r18977, MPFR_RNDN);
        mpfr_div(r18979, r18978, r18959, MPFR_RNDN);
        mpfr_add(r18980, r18975, r18979, MPFR_RNDN);
        ;
        mpfr_div(r18982, r18981, r18959, MPFR_RNDN);
        mpfr_add(r18983, r18980, r18982, MPFR_RNDN);
        ;
        mpfr_div(r18985, r18984, r18977, MPFR_RNDN);
        ;
        ;
        mpfr_pow(r18988, r18945, r18987, MPFR_RNDN);
        mpfr_div(r18989, r18986, r18988, MPFR_RNDN);
        mpfr_div(r18990, r18989, r18959, MPFR_RNDN);
        mpfr_add(r18991, r18985, r18990, MPFR_RNDN);
        mpfr_div(r18992, r18966, r18950, MPFR_RNDN);
        mpfr_div(r18993, r18992, r18950, MPFR_RNDN);
        ;
        mpfr_pow(r18995, r18945, r18994, MPFR_RNDN);
        ;
        mpfr_div(r18997, r18995, r18996, MPFR_RNDN);
        mpfr_div(r18998, r18993, r18997, MPFR_RNDN);
        mpfr_add(r18999, r18991, r18998, MPFR_RNDN);
        mpfr_add(r19000, r18983, r18999, MPFR_RNDN);
        mpfr_div(r19001, r18971, r19000, MPFR_RNDN);
        mpfr_div(r19002, r19001, r18945, MPFR_RNDN);
        ;
        mpfr_set_si(r19004, mpfr_cmp(r18945, r19003) <= 0, MPFR_RNDN);
        mpfr_sqr(r19005, r18945, MPFR_RNDN);
        mpfr_mul(r19006, r19005, r19005, MPFR_RNDN); mpfr_mul(r19006, r19006, r19005, MPFR_RNDN);
        mpfr_mul(r19007, r19005, r18976, MPFR_RNDN);
        mpfr_add(r19008, r18981, r19007, MPFR_RNDN);
        mpfr_mul(r19009, r19006, r19008, MPFR_RNDN);
        mpfr_mul(r19010, r18984, r18945, MPFR_RNDN);
        mpfr_mul(r19011, r19010, r18945, MPFR_RNDN);
        mpfr_add(r19012, r19011, r18966, MPFR_RNDN);
        mpfr_mul(r19013, r18945, r18972, MPFR_RNDN);
        mpfr_mul(r19014, r19013, r18950, MPFR_RNDN);
        mpfr_add(r19015, r19012, r19014, MPFR_RNDN);
        mpfr_add(r19016, r19009, r19015, MPFR_RNDN);
        ;
        mpfr_mul(r19018, r18945, r19017, MPFR_RNDN);
        mpfr_mul(r19019, r18945, r18952, MPFR_RNDN);
        mpfr_mul(r19020, r19018, r19019, MPFR_RNDN);
        mpfr_add(r19021, r19020, r18986, MPFR_RNDN);
        mpfr_mul(r19022, r19005, r19005, MPFR_RNDN);
        mpfr_mul(r19023, r19022, r19006, MPFR_RNDN);
        mpfr_mul(r19024, r19021, r19023, MPFR_RNDN);
        mpfr_add(r19025, r19016, r19024, MPFR_RNDN);
        mpfr_mul(r19026, r19005, r18957, MPFR_RNDN);
        mpfr_add(r19027, r19026, r18968, MPFR_RNDN);
        mpfr_mul(r19028, r19006, r19027, MPFR_RNDN);
        mpfr_mul(r19029, r19022, r19022, MPFR_RNDN);
        mpfr_mul(r19030, r19019, r18945, MPFR_RNDN);
        mpfr_mul(r19031, r19029, r19030, MPFR_RNDN);
        mpfr_mul(r19032, r18945, r18963, MPFR_RNDN);
        mpfr_mul(r19033, r18945, r19032, MPFR_RNDN);
        mpfr_mul(r19034, r18945, r18948, MPFR_RNDN);
        mpfr_mul(r19035, r18950, r19034, MPFR_RNDN);
        mpfr_add(r19036, r19033, r19035, MPFR_RNDN);
        mpfr_add(r19037, r19036, r18966, MPFR_RNDN);
        mpfr_add(r19038, r19031, r19037, MPFR_RNDN);
        mpfr_add(r19039, r19028, r19038, MPFR_RNDN);
        mpfr_div(r19040, r19025, r19039, MPFR_RNDN);
        mpfr_div(r19041, r18945, r19040, MPFR_RNDN);
        if (mpfr_get_si(r19004, MPFR_RNDN)) { mpfr_set(r19042, r19041, MPFR_RNDN); } else { mpfr_set(r19042, r19002, MPFR_RNDN); };
        if (mpfr_get_si(r18947, MPFR_RNDN)) { mpfr_set(r19043, r19002, MPFR_RNDN); } else { mpfr_set(r19043, r19042, MPFR_RNDN); };
        return mpfr_get_d(r19043, MPFR_RNDN);
}

