#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 r18695 = 1.0f;
        float r18696 = 0.1049934947f;
        float r18697 = x;
        float r18698 = r18697 * r18697;
        float r18699 = r18696 * r18698;
        float r18700 = r18695 + r18699;
        float r18701 = 0.0424060604f;
        float r18702 = r18698 * r18698;
        float r18703 = r18701 * r18702;
        float r18704 = r18700 + r18703;
        float r18705 = 0.0072644182f;
        float r18706 = r18702 * r18698;
        float r18707 = r18705 * r18706;
        float r18708 = r18704 + r18707;
        float r18709 = 0.0005064034f;
        float r18710 = r18706 * r18698;
        float r18711 = r18709 * r18710;
        float r18712 = r18708 + r18711;
        float r18713 = 0.0001789971f;
        float r18714 = r18710 * r18698;
        float r18715 = r18713 * r18714;
        float r18716 = r18712 + r18715;
        float r18717 = 0.7715471019f;
        float r18718 = r18717 * r18698;
        float r18719 = r18695 + r18718;
        float r18720 = 0.2909738639f;
        float r18721 = r18720 * r18702;
        float r18722 = r18719 + r18721;
        float r18723 = 0.0694555761f;
        float r18724 = r18723 * r18706;
        float r18725 = r18722 + r18724;
        float r18726 = 0.0140005442f;
        float r18727 = r18726 * r18710;
        float r18728 = r18725 + r18727;
        float r18729 = 0.0008327945f;
        float r18730 = r18729 * r18714;
        float r18731 = r18728 + r18730;
        float r18732 = 2.0f;
        float r18733 = r18732 * r18713;
        float r18734 = r18714 * r18698;
        float r18735 = r18733 * r18734;
        float r18736 = r18731 + r18735;
        float r18737 = r18716 / r18736;
        float r18738 = r18737 * r18697;
        return r18738;
}

double f_id(double x) {
        double r18739 = 1.0;
        double r18740 = 0.1049934947;
        double r18741 = x;
        double r18742 = r18741 * r18741;
        double r18743 = r18740 * r18742;
        double r18744 = r18739 + r18743;
        double r18745 = 0.0424060604;
        double r18746 = r18742 * r18742;
        double r18747 = r18745 * r18746;
        double r18748 = r18744 + r18747;
        double r18749 = 0.0072644182;
        double r18750 = r18746 * r18742;
        double r18751 = r18749 * r18750;
        double r18752 = r18748 + r18751;
        double r18753 = 0.0005064034;
        double r18754 = r18750 * r18742;
        double r18755 = r18753 * r18754;
        double r18756 = r18752 + r18755;
        double r18757 = 0.0001789971;
        double r18758 = r18754 * r18742;
        double r18759 = r18757 * r18758;
        double r18760 = r18756 + r18759;
        double r18761 = 0.7715471019;
        double r18762 = r18761 * r18742;
        double r18763 = r18739 + r18762;
        double r18764 = 0.2909738639;
        double r18765 = r18764 * r18746;
        double r18766 = r18763 + r18765;
        double r18767 = 0.0694555761;
        double r18768 = r18767 * r18750;
        double r18769 = r18766 + r18768;
        double r18770 = 0.0140005442;
        double r18771 = r18770 * r18754;
        double r18772 = r18769 + r18771;
        double r18773 = 0.0008327945;
        double r18774 = r18773 * r18758;
        double r18775 = r18772 + r18774;
        double r18776 = 2.0;
        double r18777 = r18776 * r18757;
        double r18778 = r18758 * r18742;
        double r18779 = r18777 * r18778;
        double r18780 = r18775 + r18779;
        double r18781 = r18760 / r18780;
        double r18782 = r18781 * r18741;
        return r18782;
}


double f_of(float x) {
        float r18783 = x;
        float r18784 = 0.0001789971f;
        float r18785 = 2.0f;
        float r18786 = r18784 * r18785;
        float r18787 = r18783 * (r18783 * r18783);
        float r18788 = r18787 * r18787;
        float r18789 = r18788 * r18788;
        float r18790 = 0.0008327945f;
        float r18791 = r18787 * (r18787 * r18787);
        float r18792 = r18791 * r18783;
        float r18793 = 0.2909738639f;
        float r18794 = r18783 * r18783;
        float r18795 = r18794 * r18794;
        float r18796 = 0.7715471019f;
        float r18797 = r18783 * r18796;
        float r18798 = 1.0f;
        float r18799 = fma(r18797, r18783, r18798);
        float r18800 = fma(r18793, r18795, r18799);
        float r18801 = fma(r18790, r18792, r18800);
        float r18802 = r18795 * r18795;
        float r18803 = 0.0140005442f;
        float r18804 = 0.0694555761f;
        float r18805 = r18788 * r18804;
        float r18806 = fma(r18802, r18803, r18805);
        float r18807 = r18801 + r18806;
        float r18808 = fma(r18786, r18789, r18807);
        float r18809 = 0.0005064034f;
        float r18810 = 0.0072644182f;
        float r18811 = r18810 * r18787;
        float r18812 = r18787 * r18811;
        float r18813 = fma(r18809, r18802, r18812);
        float r18814 = 0.0424060604f;
        float r18815 = 0.1049934947f;
        float r18816 = r18783 * r18815;
        float r18817 = fma(r18816, r18783, r18798);
        float r18818 = fma(r18814, r18795, r18817);
        float r18819 = fma(r18784, r18792, r18818);
        float r18820 = r18813 + r18819;
        float r18821 = r18808 / r18820;
        float r18822 = r18783 / r18821;
        return r18822;
}

double f_od(double x) {
        double r18823 = x;
        double r18824 = 0.0001789971;
        double r18825 = 2.0;
        double r18826 = r18824 * r18825;
        double r18827 = r18823 * (r18823 * r18823);
        double r18828 = r18827 * r18827;
        double r18829 = r18828 * r18828;
        double r18830 = 0.0008327945;
        double r18831 = r18827 * (r18827 * r18827);
        double r18832 = r18831 * r18823;
        double r18833 = 0.2909738639;
        double r18834 = r18823 * r18823;
        double r18835 = r18834 * r18834;
        double r18836 = 0.7715471019;
        double r18837 = r18823 * r18836;
        double r18838 = 1.0;
        double r18839 = fma(r18837, r18823, r18838);
        double r18840 = fma(r18833, r18835, r18839);
        double r18841 = fma(r18830, r18832, r18840);
        double r18842 = r18835 * r18835;
        double r18843 = 0.0140005442;
        double r18844 = 0.0694555761;
        double r18845 = r18828 * r18844;
        double r18846 = fma(r18842, r18843, r18845);
        double r18847 = r18841 + r18846;
        double r18848 = fma(r18826, r18829, r18847);
        double r18849 = 0.0005064034;
        double r18850 = 0.0072644182;
        double r18851 = r18850 * r18827;
        double r18852 = r18827 * r18851;
        double r18853 = fma(r18849, r18842, r18852);
        double r18854 = 0.0424060604;
        double r18855 = 0.1049934947;
        double r18856 = r18823 * r18855;
        double r18857 = fma(r18856, r18823, r18838);
        double r18858 = fma(r18854, r18835, r18857);
        double r18859 = fma(r18824, r18832, r18858);
        double r18860 = r18853 + r18859;
        double r18861 = r18848 / r18860;
        double r18862 = r18823 / r18861;
        return r18862;
}

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

void setup_mpfr_f_im() {
        mpfr_set_default_prec(144);
        mpfr_init_set_str(r18863, "1", 10, MPFR_RNDN);
        mpfr_init_set_str(r18864, "0.1049934947", 10, MPFR_RNDN);
        mpfr_init(r18865);
        mpfr_init(r18866);
        mpfr_init(r18867);
        mpfr_init(r18868);
        mpfr_init_set_str(r18869, "0.0424060604", 10, MPFR_RNDN);
        mpfr_init(r18870);
        mpfr_init(r18871);
        mpfr_init(r18872);
        mpfr_init_set_str(r18873, "0.0072644182", 10, MPFR_RNDN);
        mpfr_init(r18874);
        mpfr_init(r18875);
        mpfr_init(r18876);
        mpfr_init_set_str(r18877, "0.0005064034", 10, MPFR_RNDN);
        mpfr_init(r18878);
        mpfr_init(r18879);
        mpfr_init(r18880);
        mpfr_init_set_str(r18881, "0.0001789971", 10, MPFR_RNDN);
        mpfr_init(r18882);
        mpfr_init(r18883);
        mpfr_init(r18884);
        mpfr_init_set_str(r18885, "0.7715471019", 10, MPFR_RNDN);
        mpfr_init(r18886);
        mpfr_init(r18887);
        mpfr_init_set_str(r18888, "0.2909738639", 10, MPFR_RNDN);
        mpfr_init(r18889);
        mpfr_init(r18890);
        mpfr_init_set_str(r18891, "0.0694555761", 10, MPFR_RNDN);
        mpfr_init(r18892);
        mpfr_init(r18893);
        mpfr_init_set_str(r18894, "0.0140005442", 10, MPFR_RNDN);
        mpfr_init(r18895);
        mpfr_init(r18896);
        mpfr_init_set_str(r18897, "0.0008327945", 10, MPFR_RNDN);
        mpfr_init(r18898);
        mpfr_init(r18899);
        mpfr_init_set_str(r18900, "2", 10, MPFR_RNDN);
        mpfr_init(r18901);
        mpfr_init(r18902);
        mpfr_init(r18903);
        mpfr_init(r18904);
        mpfr_init(r18905);
        mpfr_init(r18906);
}

double f_im(double x) {
        ;
        ;
        mpfr_set_d(r18865, x, MPFR_RNDN);
        mpfr_mul(r18866, r18865, r18865, MPFR_RNDN);
        mpfr_mul(r18867, r18864, r18866, MPFR_RNDN);
        mpfr_add(r18868, r18863, r18867, MPFR_RNDN);
        ;
        mpfr_mul(r18870, r18866, r18866, MPFR_RNDN);
        mpfr_mul(r18871, r18869, r18870, MPFR_RNDN);
        mpfr_add(r18872, r18868, r18871, MPFR_RNDN);
        ;
        mpfr_mul(r18874, r18870, r18866, MPFR_RNDN);
        mpfr_mul(r18875, r18873, r18874, MPFR_RNDN);
        mpfr_add(r18876, r18872, r18875, MPFR_RNDN);
        ;
        mpfr_mul(r18878, r18874, r18866, MPFR_RNDN);
        mpfr_mul(r18879, r18877, r18878, MPFR_RNDN);
        mpfr_add(r18880, r18876, r18879, MPFR_RNDN);
        ;
        mpfr_mul(r18882, r18878, r18866, MPFR_RNDN);
        mpfr_mul(r18883, r18881, r18882, MPFR_RNDN);
        mpfr_add(r18884, r18880, r18883, MPFR_RNDN);
        ;
        mpfr_mul(r18886, r18885, r18866, MPFR_RNDN);
        mpfr_add(r18887, r18863, r18886, MPFR_RNDN);
        ;
        mpfr_mul(r18889, r18888, r18870, MPFR_RNDN);
        mpfr_add(r18890, r18887, r18889, MPFR_RNDN);
        ;
        mpfr_mul(r18892, r18891, r18874, MPFR_RNDN);
        mpfr_add(r18893, r18890, r18892, MPFR_RNDN);
        ;
        mpfr_mul(r18895, r18894, r18878, MPFR_RNDN);
        mpfr_add(r18896, r18893, r18895, MPFR_RNDN);
        ;
        mpfr_mul(r18898, r18897, r18882, MPFR_RNDN);
        mpfr_add(r18899, r18896, r18898, MPFR_RNDN);
        ;
        mpfr_mul(r18901, r18900, r18881, MPFR_RNDN);
        mpfr_mul(r18902, r18882, r18866, MPFR_RNDN);
        mpfr_mul(r18903, r18901, r18902, MPFR_RNDN);
        mpfr_add(r18904, r18899, r18903, MPFR_RNDN);
        mpfr_div(r18905, r18884, r18904, MPFR_RNDN);
        mpfr_mul(r18906, r18905, r18865, MPFR_RNDN);
        return mpfr_get_d(r18906, MPFR_RNDN);
}

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

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(144);
        mpfr_init(r18907);
        mpfr_init_set_str(r18908, "0.0001789971", 10, MPFR_RNDN);
        mpfr_init_set_str(r18909, "2", 10, MPFR_RNDN);
        mpfr_init(r18910);
        mpfr_init(r18911);
        mpfr_init(r18912);
        mpfr_init(r18913);
        mpfr_init_set_str(r18914, "0.0008327945", 10, MPFR_RNDN);
        mpfr_init(r18915);
        mpfr_init(r18916);
        mpfr_init_set_str(r18917, "0.2909738639", 10, MPFR_RNDN);
        mpfr_init(r18918);
        mpfr_init(r18919);
        mpfr_init_set_str(r18920, "0.7715471019", 10, MPFR_RNDN);
        mpfr_init(r18921);
        mpfr_init_set_str(r18922, "1", 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_set_str(r18933, "0.0005064034", 10, MPFR_RNDN);
        mpfr_init_set_str(r18934, "0.0072644182", 10, MPFR_RNDN);
        mpfr_init(r18935);
        mpfr_init(r18936);
        mpfr_init(r18937);
        mpfr_init_set_str(r18938, "0.0424060604", 10, MPFR_RNDN);
        mpfr_init_set_str(r18939, "0.1049934947", 10, MPFR_RNDN);
        mpfr_init(r18940);
        mpfr_init(r18941);
        mpfr_init(r18942);
        mpfr_init(r18943);
        mpfr_init(r18944);
        mpfr_init(r18945);
        mpfr_init(r18946);
}

double f_fm(double x) {
        mpfr_set_d(r18907, x, MPFR_RNDN);
        ;
        ;
        mpfr_mul(r18910, r18908, r18909, MPFR_RNDN);
        mpfr_mul(r18911, r18907, r18907, MPFR_RNDN); mpfr_mul(r18911, r18911, r18907, MPFR_RNDN);
        mpfr_mul(r18912, r18911, r18911, MPFR_RNDN);
        mpfr_mul(r18913, r18912, r18912, MPFR_RNDN);
        ;
        mpfr_mul(r18915, r18911, r18911, MPFR_RNDN); mpfr_mul(r18915, r18915, r18911, MPFR_RNDN);
        mpfr_mul(r18916, r18915, r18907, MPFR_RNDN);
        ;
        mpfr_mul(r18918, r18907, r18907, MPFR_RNDN);
        mpfr_mul(r18919, r18918, r18918, MPFR_RNDN);
        ;
        mpfr_mul(r18921, r18907, r18920, MPFR_RNDN);
        ;
        mpfr_fma(r18923, r18921, r18907, r18922, MPFR_RNDN);
        mpfr_fma(r18924, r18917, r18919, r18923, MPFR_RNDN);
        mpfr_fma(r18925, r18914, r18916, r18924, MPFR_RNDN);
        mpfr_sqr(r18926, r18919, MPFR_RNDN);
        ;
        ;
        mpfr_mul(r18929, r18912, r18928, MPFR_RNDN);
        mpfr_fma(r18930, r18926, r18927, r18929, MPFR_RNDN);
        mpfr_add(r18931, r18925, r18930, MPFR_RNDN);
        mpfr_fma(r18932, r18910, r18913, r18931, MPFR_RNDN);
        ;
        ;
        mpfr_mul(r18935, r18934, r18911, MPFR_RNDN);
        mpfr_mul(r18936, r18911, r18935, MPFR_RNDN);
        mpfr_fma(r18937, r18933, r18926, r18936, MPFR_RNDN);
        ;
        ;
        mpfr_mul(r18940, r18907, r18939, MPFR_RNDN);
        mpfr_fma(r18941, r18940, r18907, r18922, MPFR_RNDN);
        mpfr_fma(r18942, r18938, r18919, r18941, MPFR_RNDN);
        mpfr_fma(r18943, r18908, r18916, r18942, MPFR_RNDN);
        mpfr_add(r18944, r18937, r18943, MPFR_RNDN);
        mpfr_div(r18945, r18932, r18944, MPFR_RNDN);
        mpfr_div(r18946, r18907, r18945, MPFR_RNDN);
        return mpfr_get_d(r18946, MPFR_RNDN);
}

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

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(144);
        mpfr_init(r18947);
        mpfr_init_set_str(r18948, "0.0001789971", 10, MPFR_RNDN);
        mpfr_init_set_str(r18949, "2", 10, MPFR_RNDN);
        mpfr_init(r18950);
        mpfr_init(r18951);
        mpfr_init(r18952);
        mpfr_init(r18953);
        mpfr_init_set_str(r18954, "0.0008327945", 10, MPFR_RNDN);
        mpfr_init(r18955);
        mpfr_init(r18956);
        mpfr_init_set_str(r18957, "0.2909738639", 10, MPFR_RNDN);
        mpfr_init(r18958);
        mpfr_init(r18959);
        mpfr_init_set_str(r18960, "0.7715471019", 10, MPFR_RNDN);
        mpfr_init(r18961);
        mpfr_init_set_str(r18962, "1", 10, MPFR_RNDN);
        mpfr_init(r18963);
        mpfr_init(r18964);
        mpfr_init(r18965);
        mpfr_init(r18966);
        mpfr_init_set_str(r18967, "0.0140005442", 10, MPFR_RNDN);
        mpfr_init_set_str(r18968, "0.0694555761", 10, MPFR_RNDN);
        mpfr_init(r18969);
        mpfr_init(r18970);
        mpfr_init(r18971);
        mpfr_init(r18972);
        mpfr_init_set_str(r18973, "0.0005064034", 10, MPFR_RNDN);
        mpfr_init_set_str(r18974, "0.0072644182", 10, MPFR_RNDN);
        mpfr_init(r18975);
        mpfr_init(r18976);
        mpfr_init(r18977);
        mpfr_init_set_str(r18978, "0.0424060604", 10, MPFR_RNDN);
        mpfr_init_set_str(r18979, "0.1049934947", 10, MPFR_RNDN);
        mpfr_init(r18980);
        mpfr_init(r18981);
        mpfr_init(r18982);
        mpfr_init(r18983);
        mpfr_init(r18984);
        mpfr_init(r18985);
        mpfr_init(r18986);
}

double f_dm(double x) {
        mpfr_set_d(r18947, x, MPFR_RNDN);
        ;
        ;
        mpfr_mul(r18950, r18948, r18949, MPFR_RNDN);
        mpfr_mul(r18951, r18947, r18947, MPFR_RNDN); mpfr_mul(r18951, r18951, r18947, MPFR_RNDN);
        mpfr_mul(r18952, r18951, r18951, MPFR_RNDN);
        mpfr_mul(r18953, r18952, r18952, MPFR_RNDN);
        ;
        mpfr_mul(r18955, r18951, r18951, MPFR_RNDN); mpfr_mul(r18955, r18955, r18951, MPFR_RNDN);
        mpfr_mul(r18956, r18955, r18947, MPFR_RNDN);
        ;
        mpfr_mul(r18958, r18947, r18947, MPFR_RNDN);
        mpfr_mul(r18959, r18958, r18958, MPFR_RNDN);
        ;
        mpfr_mul(r18961, r18947, r18960, MPFR_RNDN);
        ;
        mpfr_fma(r18963, r18961, r18947, r18962, MPFR_RNDN);
        mpfr_fma(r18964, r18957, r18959, r18963, MPFR_RNDN);
        mpfr_fma(r18965, r18954, r18956, r18964, MPFR_RNDN);
        mpfr_sqr(r18966, r18959, MPFR_RNDN);
        ;
        ;
        mpfr_mul(r18969, r18952, r18968, MPFR_RNDN);
        mpfr_fma(r18970, r18966, r18967, r18969, MPFR_RNDN);
        mpfr_add(r18971, r18965, r18970, MPFR_RNDN);
        mpfr_fma(r18972, r18950, r18953, r18971, MPFR_RNDN);
        ;
        ;
        mpfr_mul(r18975, r18974, r18951, MPFR_RNDN);
        mpfr_mul(r18976, r18951, r18975, MPFR_RNDN);
        mpfr_fma(r18977, r18973, r18966, r18976, MPFR_RNDN);
        ;
        ;
        mpfr_mul(r18980, r18947, r18979, MPFR_RNDN);
        mpfr_fma(r18981, r18980, r18947, r18962, MPFR_RNDN);
        mpfr_fma(r18982, r18978, r18959, r18981, MPFR_RNDN);
        mpfr_fma(r18983, r18948, r18956, r18982, MPFR_RNDN);
        mpfr_add(r18984, r18977, r18983, MPFR_RNDN);
        mpfr_div(r18985, r18972, r18984, MPFR_RNDN);
        mpfr_div(r18986, r18947, r18985, MPFR_RNDN);
        return mpfr_get_d(r18986, MPFR_RNDN);
}

