#include <tgmath.h>
#include <gmp.h>
#include <mpfr.h>
#include <stdio.h>
#include <stdbool.h>

char *name = "Jmat.Real.erf";

double f_if(float x) {
        float r27569 = 1;
        float r27570 = 0.3275911;
        float r27571 = x;
        float r27572 = fabs(r27571);
        float r27573 = r27570 * r27572;
        float r27574 = r27569 + r27573;
        float r27575 = r27569 / r27574;
        float r27576 = 0.254829592;
        float r27577 = -0.284496736;
        float r27578 = 1.421413741;
        float r27579 = -1.453152027;
        float r27580 = 1.061405429;
        float r27581 = r27575 * r27580;
        float r27582 = r27579 + r27581;
        float r27583 = r27575 * r27582;
        float r27584 = r27578 + r27583;
        float r27585 = r27575 * r27584;
        float r27586 = r27577 + r27585;
        float r27587 = r27575 * r27586;
        float r27588 = r27576 + r27587;
        float r27589 = r27575 * r27588;
        float r27590 = r27572 * r27572;
        float r27591 = -r27590;
        float r27592 = exp(r27591);
        float r27593 = r27589 * r27592;
        float r27594 = r27569 - r27593;
        return r27594;
}

double f_id(double x) {
        double r27595 = 1;
        double r27596 = 0.3275911;
        double r27597 = x;
        double r27598 = fabs(r27597);
        double r27599 = r27596 * r27598;
        double r27600 = r27595 + r27599;
        double r27601 = r27595 / r27600;
        double r27602 = 0.254829592;
        double r27603 = -0.284496736;
        double r27604 = 1.421413741;
        double r27605 = -1.453152027;
        double r27606 = 1.061405429;
        double r27607 = r27601 * r27606;
        double r27608 = r27605 + r27607;
        double r27609 = r27601 * r27608;
        double r27610 = r27604 + r27609;
        double r27611 = r27601 * r27610;
        double r27612 = r27603 + r27611;
        double r27613 = r27601 * r27612;
        double r27614 = r27602 + r27613;
        double r27615 = r27601 * r27614;
        double r27616 = r27598 * r27598;
        double r27617 = -r27616;
        double r27618 = exp(r27617);
        double r27619 = r27615 * r27618;
        double r27620 = r27595 - r27619;
        return r27620;
}


double f_of(float x) {
        float r27621 = 1;
        float r27622 = 0.3275911;
        float r27623 = x;
        float r27624 = fabs(r27623);
        float r27625 = r27622 * r27624;
        float r27626 = r27621 + r27625;
        float r27627 = r27621 / r27626;
        float r27628 = 0.254829592;
        float r27629 = -0.284496736;
        float r27630 = 1.421413741;
        float r27631 = -1.453152027;
        float r27632 = 1.061405429;
        float r27633 = r27627 * r27632;
        float r27634 = r27631 + r27633;
        float r27635 = r27627 * r27634;
        float r27636 = r27630 + r27635;
        float r27637 = r27627 * r27636;
        float r27638 = r27629 + r27637;
        float r27639 = r27627 * r27638;
        float r27640 = r27628 + r27639;
        float r27641 = r27627 * r27640;
        float r27642 = r27624 * r27624;
        float r27643 = -r27642;
        float r27644 = exp(r27643);
        float r27645 = r27641 * r27644;
        float r27646 = r27621 - r27645;
        float r27647 = exp(r27646);
        float r27648 = log(r27647);
        float r27649 = sqrt(r27648);
        float r27650 = r27632 * r27627;
        float r27651 = r27631 + r27650;
        float r27652 = r27627 * r27651;
        float r27653 = r27652 + r27630;
        float r27654 = r27627 * r27653;
        float r27655 = r27629 + r27654;
        float r27656 = r27655 * r27627;
        float r27657 = r27656 + r27628;
        float r27658 = r27657 * r27627;
        float r27659 = r27644 * r27658;
        float r27660 = exp(r27659);
        float r27661 = log(r27660);
        float r27662 = r27661 * r27661;
        float r27663 = r27621 - r27662;
        float r27664 = exp(r27645);
        float r27665 = log(r27664);
        float r27666 = r27621 + r27665;
        float r27667 = r27663 / r27666;
        float r27668 = sqrt(r27667);
        float r27669 = r27649 * r27668;
        return r27669;
}

double f_od(double x) {
        double r27670 = 1;
        double r27671 = 0.3275911;
        double r27672 = x;
        double r27673 = fabs(r27672);
        double r27674 = r27671 * r27673;
        double r27675 = r27670 + r27674;
        double r27676 = r27670 / r27675;
        double r27677 = 0.254829592;
        double r27678 = -0.284496736;
        double r27679 = 1.421413741;
        double r27680 = -1.453152027;
        double r27681 = 1.061405429;
        double r27682 = r27676 * r27681;
        double r27683 = r27680 + r27682;
        double r27684 = r27676 * r27683;
        double r27685 = r27679 + r27684;
        double r27686 = r27676 * r27685;
        double r27687 = r27678 + r27686;
        double r27688 = r27676 * r27687;
        double r27689 = r27677 + r27688;
        double r27690 = r27676 * r27689;
        double r27691 = r27673 * r27673;
        double r27692 = -r27691;
        double r27693 = exp(r27692);
        double r27694 = r27690 * r27693;
        double r27695 = r27670 - r27694;
        double r27696 = exp(r27695);
        double r27697 = log(r27696);
        double r27698 = sqrt(r27697);
        double r27699 = r27681 * r27676;
        double r27700 = r27680 + r27699;
        double r27701 = r27676 * r27700;
        double r27702 = r27701 + r27679;
        double r27703 = r27676 * r27702;
        double r27704 = r27678 + r27703;
        double r27705 = r27704 * r27676;
        double r27706 = r27705 + r27677;
        double r27707 = r27706 * r27676;
        double r27708 = r27693 * r27707;
        double r27709 = exp(r27708);
        double r27710 = log(r27709);
        double r27711 = r27710 * r27710;
        double r27712 = r27670 - r27711;
        double r27713 = exp(r27694);
        double r27714 = log(r27713);
        double r27715 = r27670 + r27714;
        double r27716 = r27712 / r27715;
        double r27717 = sqrt(r27716);
        double r27718 = r27698 * r27717;
        return r27718;
}

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 r27719, r27720, r27721, r27722, r27723, r27724, r27725, r27726, r27727, r27728, r27729, r27730, r27731, r27732, r27733, r27734, r27735, r27736, r27737, r27738, r27739, r27740, r27741, r27742, r27743, r27744;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(592);
        mpfr_init_set_str(r27719, "1", 10, MPFR_RNDN);
        mpfr_init_set_str(r27720, "0.3275911", 10, MPFR_RNDN);
        mpfr_init(r27721);
        mpfr_init(r27722);
        mpfr_init(r27723);
        mpfr_init(r27724);
        mpfr_init(r27725);
        mpfr_init_set_str(r27726, "0.254829592", 10, MPFR_RNDN);
        mpfr_init_set_str(r27727, "-0.284496736", 10, MPFR_RNDN);
        mpfr_init_set_str(r27728, "1.421413741", 10, MPFR_RNDN);
        mpfr_init_set_str(r27729, "-1.453152027", 10, MPFR_RNDN);
        mpfr_init_set_str(r27730, "1.061405429", 10, MPFR_RNDN);
        mpfr_init(r27731);
        mpfr_init(r27732);
        mpfr_init(r27733);
        mpfr_init(r27734);
        mpfr_init(r27735);
        mpfr_init(r27736);
        mpfr_init(r27737);
        mpfr_init(r27738);
        mpfr_init(r27739);
        mpfr_init(r27740);
        mpfr_init(r27741);
        mpfr_init(r27742);
        mpfr_init(r27743);
        mpfr_init(r27744);
}

double f_im(double x) {
        ;
        ;
        mpfr_set_d(r27721, x, MPFR_RNDN);
        mpfr_abs(r27722, r27721, MPFR_RNDN);
        mpfr_mul(r27723, r27720, r27722, MPFR_RNDN);
        mpfr_add(r27724, r27719, r27723, MPFR_RNDN);
        mpfr_div(r27725, r27719, r27724, MPFR_RNDN);
        ;
        ;
        ;
        ;
        ;
        mpfr_mul(r27731, r27725, r27730, MPFR_RNDN);
        mpfr_add(r27732, r27729, r27731, MPFR_RNDN);
        mpfr_mul(r27733, r27725, r27732, MPFR_RNDN);
        mpfr_add(r27734, r27728, r27733, MPFR_RNDN);
        mpfr_mul(r27735, r27725, r27734, MPFR_RNDN);
        mpfr_add(r27736, r27727, r27735, MPFR_RNDN);
        mpfr_mul(r27737, r27725, r27736, MPFR_RNDN);
        mpfr_add(r27738, r27726, r27737, MPFR_RNDN);
        mpfr_mul(r27739, r27725, r27738, MPFR_RNDN);
        mpfr_mul(r27740, r27722, r27722, MPFR_RNDN);
        mpfr_neg(r27741, r27740, MPFR_RNDN);
        mpfr_exp(r27742, r27741, MPFR_RNDN);
        mpfr_mul(r27743, r27739, r27742, MPFR_RNDN);
        mpfr_sub(r27744, r27719, r27743, MPFR_RNDN);
        return mpfr_get_d(r27744, MPFR_RNDN);
}

static mpfr_t r27745, r27746, r27747, r27748, r27749, r27750, r27751, r27752, r27753, r27754, r27755, r27756, r27757, r27758, r27759, r27760, r27761, r27762, r27763, r27764, r27765, r27766, r27767, r27768, r27769, r27770, r27771, r27772, r27773, r27774, r27775, r27776, r27777, r27778, r27779, r27780, r27781, r27782, r27783, r27784, r27785, r27786, r27787, r27788, r27789, r27790, r27791, r27792, r27793;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(592);
        mpfr_init_set_str(r27745, "1", 10, MPFR_RNDN);
        mpfr_init_set_str(r27746, "0.3275911", 10, MPFR_RNDN);
        mpfr_init(r27747);
        mpfr_init(r27748);
        mpfr_init(r27749);
        mpfr_init(r27750);
        mpfr_init(r27751);
        mpfr_init_set_str(r27752, "0.254829592", 10, MPFR_RNDN);
        mpfr_init_set_str(r27753, "-0.284496736", 10, MPFR_RNDN);
        mpfr_init_set_str(r27754, "1.421413741", 10, MPFR_RNDN);
        mpfr_init_set_str(r27755, "-1.453152027", 10, MPFR_RNDN);
        mpfr_init_set_str(r27756, "1.061405429", 10, MPFR_RNDN);
        mpfr_init(r27757);
        mpfr_init(r27758);
        mpfr_init(r27759);
        mpfr_init(r27760);
        mpfr_init(r27761);
        mpfr_init(r27762);
        mpfr_init(r27763);
        mpfr_init(r27764);
        mpfr_init(r27765);
        mpfr_init(r27766);
        mpfr_init(r27767);
        mpfr_init(r27768);
        mpfr_init(r27769);
        mpfr_init(r27770);
        mpfr_init(r27771);
        mpfr_init(r27772);
        mpfr_init(r27773);
        mpfr_init(r27774);
        mpfr_init(r27775);
        mpfr_init(r27776);
        mpfr_init(r27777);
        mpfr_init(r27778);
        mpfr_init(r27779);
        mpfr_init(r27780);
        mpfr_init(r27781);
        mpfr_init(r27782);
        mpfr_init(r27783);
        mpfr_init(r27784);
        mpfr_init(r27785);
        mpfr_init(r27786);
        mpfr_init(r27787);
        mpfr_init(r27788);
        mpfr_init(r27789);
        mpfr_init(r27790);
        mpfr_init(r27791);
        mpfr_init(r27792);
        mpfr_init(r27793);
}

double f_fm(double x) {
        ;
        ;
        mpfr_set_d(r27747, x, MPFR_RNDN);
        mpfr_abs(r27748, r27747, MPFR_RNDN);
        mpfr_mul(r27749, r27746, r27748, MPFR_RNDN);
        mpfr_add(r27750, r27745, r27749, MPFR_RNDN);
        mpfr_div(r27751, r27745, r27750, MPFR_RNDN);
        ;
        ;
        ;
        ;
        ;
        mpfr_mul(r27757, r27751, r27756, MPFR_RNDN);
        mpfr_add(r27758, r27755, r27757, MPFR_RNDN);
        mpfr_mul(r27759, r27751, r27758, MPFR_RNDN);
        mpfr_add(r27760, r27754, r27759, MPFR_RNDN);
        mpfr_mul(r27761, r27751, r27760, MPFR_RNDN);
        mpfr_add(r27762, r27753, r27761, MPFR_RNDN);
        mpfr_mul(r27763, r27751, r27762, MPFR_RNDN);
        mpfr_add(r27764, r27752, r27763, MPFR_RNDN);
        mpfr_mul(r27765, r27751, r27764, MPFR_RNDN);
        mpfr_mul(r27766, r27748, r27748, MPFR_RNDN);
        mpfr_neg(r27767, r27766, MPFR_RNDN);
        mpfr_exp(r27768, r27767, MPFR_RNDN);
        mpfr_mul(r27769, r27765, r27768, MPFR_RNDN);
        mpfr_sub(r27770, r27745, r27769, MPFR_RNDN);
        mpfr_exp(r27771, r27770, MPFR_RNDN);
        mpfr_log(r27772, r27771, MPFR_RNDN);
        mpfr_sqrt(r27773, r27772, MPFR_RNDN);
        mpfr_mul(r27774, r27756, r27751, MPFR_RNDN);
        mpfr_add(r27775, r27755, r27774, MPFR_RNDN);
        mpfr_mul(r27776, r27751, r27775, MPFR_RNDN);
        mpfr_add(r27777, r27776, r27754, MPFR_RNDN);
        mpfr_mul(r27778, r27751, r27777, MPFR_RNDN);
        mpfr_add(r27779, r27753, r27778, MPFR_RNDN);
        mpfr_mul(r27780, r27779, r27751, MPFR_RNDN);
        mpfr_add(r27781, r27780, r27752, MPFR_RNDN);
        mpfr_mul(r27782, r27781, r27751, MPFR_RNDN);
        mpfr_mul(r27783, r27768, r27782, MPFR_RNDN);
        mpfr_exp(r27784, r27783, MPFR_RNDN);
        mpfr_log(r27785, r27784, MPFR_RNDN);
        mpfr_mul(r27786, r27785, r27785, MPFR_RNDN);
        mpfr_sub(r27787, r27745, r27786, MPFR_RNDN);
        mpfr_exp(r27788, r27769, MPFR_RNDN);
        mpfr_log(r27789, r27788, MPFR_RNDN);
        mpfr_add(r27790, r27745, r27789, MPFR_RNDN);
        mpfr_div(r27791, r27787, r27790, MPFR_RNDN);
        mpfr_sqrt(r27792, r27791, MPFR_RNDN);
        mpfr_mul(r27793, r27773, r27792, MPFR_RNDN);
        return mpfr_get_d(r27793, MPFR_RNDN);
}

static mpfr_t r27794, r27795, r27796, r27797, r27798, r27799, r27800, r27801, r27802, r27803, r27804, r27805, r27806, r27807, r27808, r27809, r27810, r27811, r27812, r27813, r27814, r27815, r27816, r27817, r27818, r27819, r27820, r27821, r27822, r27823, r27824, r27825, r27826, r27827, r27828, r27829, r27830, r27831, r27832, r27833, r27834, r27835, r27836, r27837, r27838, r27839, r27840, r27841, r27842;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(592);
        mpfr_init_set_str(r27794, "1", 10, MPFR_RNDN);
        mpfr_init_set_str(r27795, "0.3275911", 10, MPFR_RNDN);
        mpfr_init(r27796);
        mpfr_init(r27797);
        mpfr_init(r27798);
        mpfr_init(r27799);
        mpfr_init(r27800);
        mpfr_init_set_str(r27801, "0.254829592", 10, MPFR_RNDN);
        mpfr_init_set_str(r27802, "-0.284496736", 10, MPFR_RNDN);
        mpfr_init_set_str(r27803, "1.421413741", 10, MPFR_RNDN);
        mpfr_init_set_str(r27804, "-1.453152027", 10, MPFR_RNDN);
        mpfr_init_set_str(r27805, "1.061405429", 10, MPFR_RNDN);
        mpfr_init(r27806);
        mpfr_init(r27807);
        mpfr_init(r27808);
        mpfr_init(r27809);
        mpfr_init(r27810);
        mpfr_init(r27811);
        mpfr_init(r27812);
        mpfr_init(r27813);
        mpfr_init(r27814);
        mpfr_init(r27815);
        mpfr_init(r27816);
        mpfr_init(r27817);
        mpfr_init(r27818);
        mpfr_init(r27819);
        mpfr_init(r27820);
        mpfr_init(r27821);
        mpfr_init(r27822);
        mpfr_init(r27823);
        mpfr_init(r27824);
        mpfr_init(r27825);
        mpfr_init(r27826);
        mpfr_init(r27827);
        mpfr_init(r27828);
        mpfr_init(r27829);
        mpfr_init(r27830);
        mpfr_init(r27831);
        mpfr_init(r27832);
        mpfr_init(r27833);
        mpfr_init(r27834);
        mpfr_init(r27835);
        mpfr_init(r27836);
        mpfr_init(r27837);
        mpfr_init(r27838);
        mpfr_init(r27839);
        mpfr_init(r27840);
        mpfr_init(r27841);
        mpfr_init(r27842);
}

double f_dm(double x) {
        ;
        ;
        mpfr_set_d(r27796, x, MPFR_RNDN);
        mpfr_abs(r27797, r27796, MPFR_RNDN);
        mpfr_mul(r27798, r27795, r27797, MPFR_RNDN);
        mpfr_add(r27799, r27794, r27798, MPFR_RNDN);
        mpfr_div(r27800, r27794, r27799, MPFR_RNDN);
        ;
        ;
        ;
        ;
        ;
        mpfr_mul(r27806, r27800, r27805, MPFR_RNDN);
        mpfr_add(r27807, r27804, r27806, MPFR_RNDN);
        mpfr_mul(r27808, r27800, r27807, MPFR_RNDN);
        mpfr_add(r27809, r27803, r27808, MPFR_RNDN);
        mpfr_mul(r27810, r27800, r27809, MPFR_RNDN);
        mpfr_add(r27811, r27802, r27810, MPFR_RNDN);
        mpfr_mul(r27812, r27800, r27811, MPFR_RNDN);
        mpfr_add(r27813, r27801, r27812, MPFR_RNDN);
        mpfr_mul(r27814, r27800, r27813, MPFR_RNDN);
        mpfr_mul(r27815, r27797, r27797, MPFR_RNDN);
        mpfr_neg(r27816, r27815, MPFR_RNDN);
        mpfr_exp(r27817, r27816, MPFR_RNDN);
        mpfr_mul(r27818, r27814, r27817, MPFR_RNDN);
        mpfr_sub(r27819, r27794, r27818, MPFR_RNDN);
        mpfr_exp(r27820, r27819, MPFR_RNDN);
        mpfr_log(r27821, r27820, MPFR_RNDN);
        mpfr_sqrt(r27822, r27821, MPFR_RNDN);
        mpfr_mul(r27823, r27805, r27800, MPFR_RNDN);
        mpfr_add(r27824, r27804, r27823, MPFR_RNDN);
        mpfr_mul(r27825, r27800, r27824, MPFR_RNDN);
        mpfr_add(r27826, r27825, r27803, MPFR_RNDN);
        mpfr_mul(r27827, r27800, r27826, MPFR_RNDN);
        mpfr_add(r27828, r27802, r27827, MPFR_RNDN);
        mpfr_mul(r27829, r27828, r27800, MPFR_RNDN);
        mpfr_add(r27830, r27829, r27801, MPFR_RNDN);
        mpfr_mul(r27831, r27830, r27800, MPFR_RNDN);
        mpfr_mul(r27832, r27817, r27831, MPFR_RNDN);
        mpfr_exp(r27833, r27832, MPFR_RNDN);
        mpfr_log(r27834, r27833, MPFR_RNDN);
        mpfr_mul(r27835, r27834, r27834, MPFR_RNDN);
        mpfr_sub(r27836, r27794, r27835, MPFR_RNDN);
        mpfr_exp(r27837, r27818, MPFR_RNDN);
        mpfr_log(r27838, r27837, MPFR_RNDN);
        mpfr_add(r27839, r27794, r27838, MPFR_RNDN);
        mpfr_div(r27840, r27836, r27839, MPFR_RNDN);
        mpfr_sqrt(r27841, r27840, MPFR_RNDN);
        mpfr_mul(r27842, r27822, r27841, MPFR_RNDN);
        return mpfr_get_d(r27842, MPFR_RNDN);
}

