#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 r18639 = 1.0f;
        float r18640 = 0.1049934947f;
        float r18641 = x;
        float r18642 = r18641 * r18641;
        float r18643 = r18640 * r18642;
        float r18644 = r18639 + r18643;
        float r18645 = 0.0424060604f;
        float r18646 = r18642 * r18642;
        float r18647 = r18645 * r18646;
        float r18648 = r18644 + r18647;
        float r18649 = 0.0072644182f;
        float r18650 = r18646 * r18642;
        float r18651 = r18649 * r18650;
        float r18652 = r18648 + r18651;
        float r18653 = 0.0005064034f;
        float r18654 = r18650 * r18642;
        float r18655 = r18653 * r18654;
        float r18656 = r18652 + r18655;
        float r18657 = 0.0001789971f;
        float r18658 = r18654 * r18642;
        float r18659 = r18657 * r18658;
        float r18660 = r18656 + r18659;
        float r18661 = 0.7715471019f;
        float r18662 = r18661 * r18642;
        float r18663 = r18639 + r18662;
        float r18664 = 0.2909738639f;
        float r18665 = r18664 * r18646;
        float r18666 = r18663 + r18665;
        float r18667 = 0.0694555761f;
        float r18668 = r18667 * r18650;
        float r18669 = r18666 + r18668;
        float r18670 = 0.0140005442f;
        float r18671 = r18670 * r18654;
        float r18672 = r18669 + r18671;
        float r18673 = 0.0008327945f;
        float r18674 = r18673 * r18658;
        float r18675 = r18672 + r18674;
        float r18676 = 2.0f;
        float r18677 = r18676 * r18657;
        float r18678 = r18658 * r18642;
        float r18679 = r18677 * r18678;
        float r18680 = r18675 + r18679;
        float r18681 = r18660 / r18680;
        float r18682 = r18681 * r18641;
        return r18682;
}

double f_id(double x) {
        double r18683 = 1.0;
        double r18684 = 0.1049934947;
        double r18685 = x;
        double r18686 = r18685 * r18685;
        double r18687 = r18684 * r18686;
        double r18688 = r18683 + r18687;
        double r18689 = 0.0424060604;
        double r18690 = r18686 * r18686;
        double r18691 = r18689 * r18690;
        double r18692 = r18688 + r18691;
        double r18693 = 0.0072644182;
        double r18694 = r18690 * r18686;
        double r18695 = r18693 * r18694;
        double r18696 = r18692 + r18695;
        double r18697 = 0.0005064034;
        double r18698 = r18694 * r18686;
        double r18699 = r18697 * r18698;
        double r18700 = r18696 + r18699;
        double r18701 = 0.0001789971;
        double r18702 = r18698 * r18686;
        double r18703 = r18701 * r18702;
        double r18704 = r18700 + r18703;
        double r18705 = 0.7715471019;
        double r18706 = r18705 * r18686;
        double r18707 = r18683 + r18706;
        double r18708 = 0.2909738639;
        double r18709 = r18708 * r18690;
        double r18710 = r18707 + r18709;
        double r18711 = 0.0694555761;
        double r18712 = r18711 * r18694;
        double r18713 = r18710 + r18712;
        double r18714 = 0.0140005442;
        double r18715 = r18714 * r18698;
        double r18716 = r18713 + r18715;
        double r18717 = 0.0008327945;
        double r18718 = r18717 * r18702;
        double r18719 = r18716 + r18718;
        double r18720 = 2.0;
        double r18721 = r18720 * r18701;
        double r18722 = r18702 * r18686;
        double r18723 = r18721 * r18722;
        double r18724 = r18719 + r18723;
        double r18725 = r18704 / r18724;
        double r18726 = r18725 * r18685;
        return r18726;
}


double f_of(float x) {
        float r18727 = x;
        float r18728 = 1.0f;
        float r18729 = r18727 / r18728;
        float r18730 = 0.0001789971f;
        float r18731 = r18727 * r18727;
        float r18732 = r18731 * r18731;
        float r18733 = r18727 * (r18727 * r18727);
        float r18734 = r18733 * r18733;
        float r18735 = r18732 * r18734;
        float r18736 = 0.0424060604f;
        float r18737 = 0.1049934947f;
        float r18738 = r18737 * r18727;
        float r18739 = fma(r18738, r18727, r18728);
        float r18740 = fma(r18736, r18732, r18739);
        float r18741 = fma(r18730, r18735, r18740);
        float r18742 = 0.0005064034f;
        float r18743 = r18732 * r18732;
        float r18744 = 0.0072644182f;
        float r18745 = r18744 * r18734;
        float r18746 = fma(r18742, r18743, r18745);
        float r18747 = r18741 + r18746;
        float r18748 = 2.0f;
        float r18749 = r18730 * r18748;
        float r18750 = r18732 * (r18732 * r18732);
        float r18751 = 0.0008327945f;
        float r18752 = r18731 * r18733;
        float r18753 = r18752 * r18752;
        float r18754 = 0.2909738639f;
        float r18755 = 0.7715471019f;
        float r18756 = r18755 * r18727;
        float r18757 = fma(r18756, r18727, r18728);
        float r18758 = fma(r18754, r18732, r18757);
        float r18759 = fma(r18751, r18753, r18758);
        float r18760 = 0.0140005442f;
        float r18761 = 0.0694555761f;
        float r18762 = r18734 * r18761;
        float r18763 = fma(r18743, r18760, r18762);
        float r18764 = r18759 + r18763;
        float r18765 = fma(r18749, r18750, r18764);
        float r18766 = r18747 / r18765;
        float r18767 = r18729 * r18766;
        return r18767;
}

double f_od(double x) {
        double r18768 = x;
        double r18769 = 1.0;
        double r18770 = r18768 / r18769;
        double r18771 = 0.0001789971;
        double r18772 = r18768 * r18768;
        double r18773 = r18772 * r18772;
        double r18774 = r18768 * (r18768 * r18768);
        double r18775 = r18774 * r18774;
        double r18776 = r18773 * r18775;
        double r18777 = 0.0424060604;
        double r18778 = 0.1049934947;
        double r18779 = r18778 * r18768;
        double r18780 = fma(r18779, r18768, r18769);
        double r18781 = fma(r18777, r18773, r18780);
        double r18782 = fma(r18771, r18776, r18781);
        double r18783 = 0.0005064034;
        double r18784 = r18773 * r18773;
        double r18785 = 0.0072644182;
        double r18786 = r18785 * r18775;
        double r18787 = fma(r18783, r18784, r18786);
        double r18788 = r18782 + r18787;
        double r18789 = 2.0;
        double r18790 = r18771 * r18789;
        double r18791 = r18773 * (r18773 * r18773);
        double r18792 = 0.0008327945;
        double r18793 = r18772 * r18774;
        double r18794 = r18793 * r18793;
        double r18795 = 0.2909738639;
        double r18796 = 0.7715471019;
        double r18797 = r18796 * r18768;
        double r18798 = fma(r18797, r18768, r18769);
        double r18799 = fma(r18795, r18773, r18798);
        double r18800 = fma(r18792, r18794, r18799);
        double r18801 = 0.0140005442;
        double r18802 = 0.0694555761;
        double r18803 = r18775 * r18802;
        double r18804 = fma(r18784, r18801, r18803);
        double r18805 = r18800 + r18804;
        double r18806 = fma(r18790, r18791, r18805);
        double r18807 = r18788 / r18806;
        double r18808 = r18770 * r18807;
        return r18808;
}

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 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, r18846, r18847, r18848, r18849, r18850, r18851, r18852;

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

double f_im(double x) {
        ;
        ;
        mpfr_set_d(r18811, x, MPFR_RNDN);
        mpfr_mul(r18812, r18811, r18811, MPFR_RNDN);
        mpfr_mul(r18813, r18810, r18812, MPFR_RNDN);
        mpfr_add(r18814, r18809, r18813, MPFR_RNDN);
        ;
        mpfr_mul(r18816, r18812, r18812, MPFR_RNDN);
        mpfr_mul(r18817, r18815, r18816, MPFR_RNDN);
        mpfr_add(r18818, r18814, r18817, MPFR_RNDN);
        ;
        mpfr_mul(r18820, r18816, r18812, MPFR_RNDN);
        mpfr_mul(r18821, r18819, r18820, MPFR_RNDN);
        mpfr_add(r18822, r18818, r18821, MPFR_RNDN);
        ;
        mpfr_mul(r18824, r18820, r18812, MPFR_RNDN);
        mpfr_mul(r18825, r18823, r18824, MPFR_RNDN);
        mpfr_add(r18826, r18822, r18825, MPFR_RNDN);
        ;
        mpfr_mul(r18828, r18824, r18812, MPFR_RNDN);
        mpfr_mul(r18829, r18827, r18828, MPFR_RNDN);
        mpfr_add(r18830, r18826, r18829, MPFR_RNDN);
        ;
        mpfr_mul(r18832, r18831, r18812, MPFR_RNDN);
        mpfr_add(r18833, r18809, r18832, MPFR_RNDN);
        ;
        mpfr_mul(r18835, r18834, r18816, MPFR_RNDN);
        mpfr_add(r18836, r18833, r18835, MPFR_RNDN);
        ;
        mpfr_mul(r18838, r18837, r18820, MPFR_RNDN);
        mpfr_add(r18839, r18836, r18838, MPFR_RNDN);
        ;
        mpfr_mul(r18841, r18840, r18824, MPFR_RNDN);
        mpfr_add(r18842, r18839, r18841, MPFR_RNDN);
        ;
        mpfr_mul(r18844, r18843, r18828, MPFR_RNDN);
        mpfr_add(r18845, r18842, r18844, MPFR_RNDN);
        ;
        mpfr_mul(r18847, r18846, r18827, MPFR_RNDN);
        mpfr_mul(r18848, r18828, r18812, MPFR_RNDN);
        mpfr_mul(r18849, r18847, r18848, MPFR_RNDN);
        mpfr_add(r18850, r18845, r18849, MPFR_RNDN);
        mpfr_div(r18851, r18830, r18850, MPFR_RNDN);
        mpfr_mul(r18852, r18851, r18811, MPFR_RNDN);
        return mpfr_get_d(r18852, MPFR_RNDN);
}

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

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(144);
        mpfr_init(r18853);
        mpfr_init_set_str(r18854, "1", 10, MPFR_RNDN);
        mpfr_init(r18855);
        mpfr_init_set_str(r18856, "0.0001789971", 10, MPFR_RNDN);
        mpfr_init(r18857);
        mpfr_init(r18858);
        mpfr_init(r18859);
        mpfr_init(r18860);
        mpfr_init(r18861);
        mpfr_init_set_str(r18862, "0.0424060604", 10, MPFR_RNDN);
        mpfr_init_set_str(r18863, "0.1049934947", 10, MPFR_RNDN);
        mpfr_init(r18864);
        mpfr_init(r18865);
        mpfr_init(r18866);
        mpfr_init(r18867);
        mpfr_init_set_str(r18868, "0.0005064034", 10, MPFR_RNDN);
        mpfr_init(r18869);
        mpfr_init_set_str(r18870, "0.0072644182", 10, MPFR_RNDN);
        mpfr_init(r18871);
        mpfr_init(r18872);
        mpfr_init(r18873);
        mpfr_init_set_str(r18874, "2", 10, MPFR_RNDN);
        mpfr_init(r18875);
        mpfr_init(r18876);
        mpfr_init_set_str(r18877, "0.0008327945", 10, MPFR_RNDN);
        mpfr_init(r18878);
        mpfr_init(r18879);
        mpfr_init_set_str(r18880, "0.2909738639", 10, MPFR_RNDN);
        mpfr_init_set_str(r18881, "0.7715471019", 10, MPFR_RNDN);
        mpfr_init(r18882);
        mpfr_init(r18883);
        mpfr_init(r18884);
        mpfr_init(r18885);
        mpfr_init_set_str(r18886, "0.0140005442", 10, MPFR_RNDN);
        mpfr_init_set_str(r18887, "0.0694555761", 10, MPFR_RNDN);
        mpfr_init(r18888);
        mpfr_init(r18889);
        mpfr_init(r18890);
        mpfr_init(r18891);
        mpfr_init(r18892);
        mpfr_init(r18893);
}

double f_fm(double x) {
        mpfr_set_d(r18853, x, MPFR_RNDN);
        ;
        mpfr_div(r18855, r18853, r18854, MPFR_RNDN);
        ;
        mpfr_mul(r18857, r18853, r18853, MPFR_RNDN);
        mpfr_mul(r18858, r18857, r18857, MPFR_RNDN);
        mpfr_mul(r18859, r18853, r18853, MPFR_RNDN); mpfr_mul(r18859, r18859, r18853, MPFR_RNDN);
        mpfr_mul(r18860, r18859, r18859, MPFR_RNDN);
        mpfr_mul(r18861, r18858, r18860, MPFR_RNDN);
        ;
        ;
        mpfr_mul(r18864, r18863, r18853, MPFR_RNDN);
        mpfr_fma(r18865, r18864, r18853, r18854, MPFR_RNDN);
        mpfr_fma(r18866, r18862, r18858, r18865, MPFR_RNDN);
        mpfr_fma(r18867, r18856, r18861, r18866, MPFR_RNDN);
        ;
        mpfr_mul(r18869, r18858, r18858, MPFR_RNDN);
        ;
        mpfr_mul(r18871, r18870, r18860, MPFR_RNDN);
        mpfr_fma(r18872, r18868, r18869, r18871, MPFR_RNDN);
        mpfr_add(r18873, r18867, r18872, MPFR_RNDN);
        ;
        mpfr_mul(r18875, r18856, r18874, MPFR_RNDN);
        mpfr_mul(r18876, r18858, r18858, MPFR_RNDN); mpfr_mul(r18876, r18876, r18858, MPFR_RNDN);
        ;
        mpfr_mul(r18878, r18857, r18859, MPFR_RNDN);
        mpfr_sqr(r18879, r18878, MPFR_RNDN);
        ;
        ;
        mpfr_mul(r18882, r18881, r18853, MPFR_RNDN);
        mpfr_fma(r18883, r18882, r18853, r18854, MPFR_RNDN);
        mpfr_fma(r18884, r18880, r18858, r18883, MPFR_RNDN);
        mpfr_fma(r18885, r18877, r18879, r18884, MPFR_RNDN);
        ;
        ;
        mpfr_mul(r18888, r18860, r18887, MPFR_RNDN);
        mpfr_fma(r18889, r18869, r18886, r18888, MPFR_RNDN);
        mpfr_add(r18890, r18885, r18889, MPFR_RNDN);
        mpfr_fma(r18891, r18875, r18876, r18890, MPFR_RNDN);
        mpfr_div(r18892, r18873, r18891, MPFR_RNDN);
        mpfr_mul(r18893, r18855, r18892, MPFR_RNDN);
        return mpfr_get_d(r18893, MPFR_RNDN);
}

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

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(144);
        mpfr_init(r18894);
        mpfr_init_set_str(r18895, "1", 10, MPFR_RNDN);
        mpfr_init(r18896);
        mpfr_init_set_str(r18897, "0.0001789971", 10, MPFR_RNDN);
        mpfr_init(r18898);
        mpfr_init(r18899);
        mpfr_init(r18900);
        mpfr_init(r18901);
        mpfr_init(r18902);
        mpfr_init_set_str(r18903, "0.0424060604", 10, MPFR_RNDN);
        mpfr_init_set_str(r18904, "0.1049934947", 10, MPFR_RNDN);
        mpfr_init(r18905);
        mpfr_init(r18906);
        mpfr_init(r18907);
        mpfr_init(r18908);
        mpfr_init_set_str(r18909, "0.0005064034", 10, MPFR_RNDN);
        mpfr_init(r18910);
        mpfr_init_set_str(r18911, "0.0072644182", 10, MPFR_RNDN);
        mpfr_init(r18912);
        mpfr_init(r18913);
        mpfr_init(r18914);
        mpfr_init_set_str(r18915, "2", 10, MPFR_RNDN);
        mpfr_init(r18916);
        mpfr_init(r18917);
        mpfr_init_set_str(r18918, "0.0008327945", 10, MPFR_RNDN);
        mpfr_init(r18919);
        mpfr_init(r18920);
        mpfr_init_set_str(r18921, "0.2909738639", 10, MPFR_RNDN);
        mpfr_init_set_str(r18922, "0.7715471019", 10, MPFR_RNDN);
        mpfr_init(r18923);
        mpfr_init(r18924);
        mpfr_init(r18925);
        mpfr_init(r18926);
        mpfr_init_set_str(r18927, "0.0140005442", 10, MPFR_RNDN);
        mpfr_init_set_str(r18928, "0.0694555761", 10, MPFR_RNDN);
        mpfr_init(r18929);
        mpfr_init(r18930);
        mpfr_init(r18931);
        mpfr_init(r18932);
        mpfr_init(r18933);
        mpfr_init(r18934);
}

double f_dm(double x) {
        mpfr_set_d(r18894, x, MPFR_RNDN);
        ;
        mpfr_div(r18896, r18894, r18895, MPFR_RNDN);
        ;
        mpfr_mul(r18898, r18894, r18894, MPFR_RNDN);
        mpfr_mul(r18899, r18898, r18898, MPFR_RNDN);
        mpfr_mul(r18900, r18894, r18894, MPFR_RNDN); mpfr_mul(r18900, r18900, r18894, MPFR_RNDN);
        mpfr_mul(r18901, r18900, r18900, MPFR_RNDN);
        mpfr_mul(r18902, r18899, r18901, MPFR_RNDN);
        ;
        ;
        mpfr_mul(r18905, r18904, r18894, MPFR_RNDN);
        mpfr_fma(r18906, r18905, r18894, r18895, MPFR_RNDN);
        mpfr_fma(r18907, r18903, r18899, r18906, MPFR_RNDN);
        mpfr_fma(r18908, r18897, r18902, r18907, MPFR_RNDN);
        ;
        mpfr_mul(r18910, r18899, r18899, MPFR_RNDN);
        ;
        mpfr_mul(r18912, r18911, r18901, MPFR_RNDN);
        mpfr_fma(r18913, r18909, r18910, r18912, MPFR_RNDN);
        mpfr_add(r18914, r18908, r18913, MPFR_RNDN);
        ;
        mpfr_mul(r18916, r18897, r18915, MPFR_RNDN);
        mpfr_mul(r18917, r18899, r18899, MPFR_RNDN); mpfr_mul(r18917, r18917, r18899, MPFR_RNDN);
        ;
        mpfr_mul(r18919, r18898, r18900, MPFR_RNDN);
        mpfr_sqr(r18920, r18919, MPFR_RNDN);
        ;
        ;
        mpfr_mul(r18923, r18922, r18894, MPFR_RNDN);
        mpfr_fma(r18924, r18923, r18894, r18895, MPFR_RNDN);
        mpfr_fma(r18925, r18921, r18899, r18924, MPFR_RNDN);
        mpfr_fma(r18926, r18918, r18920, r18925, MPFR_RNDN);
        ;
        ;
        mpfr_mul(r18929, r18901, r18928, MPFR_RNDN);
        mpfr_fma(r18930, r18910, r18927, r18929, MPFR_RNDN);
        mpfr_add(r18931, r18926, r18930, MPFR_RNDN);
        mpfr_fma(r18932, r18916, r18917, r18931, MPFR_RNDN);
        mpfr_div(r18933, r18914, r18932, MPFR_RNDN);
        mpfr_mul(r18934, r18896, r18933, MPFR_RNDN);
        return mpfr_get_d(r18934, MPFR_RNDN);
}

