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

char *name = "x / (x^2 + 1)";

double f_if(float x) {
        float r9126 = x;
        float r9127 = r9126 * r9126;
        float r9128 = 1;
        float r9129 = r9127 + r9128;
        float r9130 = r9126 / r9129;
        return r9130;
}

double f_id(double x) {
        double r9131 = x;
        double r9132 = r9131 * r9131;
        double r9133 = 1;
        double r9134 = r9132 + r9133;
        double r9135 = r9131 / r9134;
        return r9135;
}


double f_of(float x) {
        float r9136 = x;
        float r9137 = -4.684447861881018e+27;
        bool r9138 = r9136 <= r9137;
        float r9139 = 945.5765595016253;
        bool r9140 = r9136 <= r9139;
        float r9141 = !r9140;
        bool r9142 = r9138 || r9141;
        float r9143 = 1;
        float r9144 = r9143 / r9136;
        float r9145 = 5;
        float r9146 = pow(r9136, r9145);
        float r9147 = r9143 / r9146;
        float r9148 = r9144 + r9147;
        float r9149 = 3;
        float r9150 = pow(r9136, r9149);
        float r9151 = r9143 / r9150;
        float r9152 = r9148 - r9151;
        float r9153 = fma(r9136, r9136, r9143);
        float r9154 = r9136 / r9153;
        float r9155 = r9142 ? r9152 : r9154;
        return r9155;
}

double f_od(double x) {
        double r9156 = x;
        double r9157 = -4.684447861881018e+27;
        bool r9158 = r9156 <= r9157;
        double r9159 = 945.5765595016253;
        bool r9160 = r9156 <= r9159;
        double r9161 = !r9160;
        bool r9162 = r9158 || r9161;
        double r9163 = 1;
        double r9164 = r9163 / r9156;
        double r9165 = 5;
        double r9166 = pow(r9156, r9165);
        double r9167 = r9163 / r9166;
        double r9168 = r9164 + r9167;
        double r9169 = 3;
        double r9170 = pow(r9156, r9169);
        double r9171 = r9163 / r9170;
        double r9172 = r9168 - r9171;
        double r9173 = fma(r9156, r9156, r9163);
        double r9174 = r9156 / r9173;
        double r9175 = r9162 ? r9172 : r9174;
        return r9175;
}

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 r9176, r9177, r9178, r9179, r9180;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(592);
        mpfr_init(r9176);
        mpfr_init(r9177);
        mpfr_init_set_str(r9178, "1", 10, MPFR_RNDN);
        mpfr_init(r9179);
        mpfr_init(r9180);
}

double f_im(double x) {
        mpfr_set_d(r9176, x, MPFR_RNDN);
        mpfr_mul(r9177, r9176, r9176, MPFR_RNDN);
        ;
        mpfr_add(r9179, r9177, r9178, MPFR_RNDN);
        mpfr_div(r9180, r9176, r9179, MPFR_RNDN);
        return mpfr_get_d(r9180, MPFR_RNDN);
}

static mpfr_t r9181, r9182, r9183, r9184, r9185, r9186, r9187, r9188, r9189, r9190, r9191, r9192, r9193, r9194, r9195, r9196, r9197, r9198, r9199, r9200;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(592);
        mpfr_init(r9181);
        mpfr_init_set_str(r9182, "-4.684447861881018e+27", 10, MPFR_RNDN);
        mpfr_init(r9183);
        mpfr_init_set_str(r9184, "945.5765595016253", 10, MPFR_RNDN);
        mpfr_init(r9185);
        mpfr_init(r9186);
        mpfr_init(r9187);
        mpfr_init_set_str(r9188, "1", 10, MPFR_RNDN);
        mpfr_init(r9189);
        mpfr_init_set_str(r9190, "5", 10, MPFR_RNDN);
        mpfr_init(r9191);
        mpfr_init(r9192);
        mpfr_init(r9193);
        mpfr_init_set_str(r9194, "3", 10, MPFR_RNDN);
        mpfr_init(r9195);
        mpfr_init(r9196);
        mpfr_init(r9197);
        mpfr_init(r9198);
        mpfr_init(r9199);
        mpfr_init(r9200);
}

double f_fm(double x) {
        mpfr_set_d(r9181, x, MPFR_RNDN);
        ;
        mpfr_set_si(r9183, mpfr_cmp(r9181, r9182) <= 0, MPFR_RNDN);
        ;
        mpfr_set_si(r9185, mpfr_cmp(r9181, r9184) <= 0, MPFR_RNDN);
        mpfr_set_si(r9186, !mpfr_get_si(r9185, MPFR_RNDN), MPFR_RNDN);
        mpfr_set_si(r9187, mpfr_get_si(r9183, MPFR_RNDN) || mpfr_get_si(r9186, MPFR_RNDN), MPFR_RNDN);
        ;
        mpfr_div(r9189, r9188, r9181, MPFR_RNDN);
        ;
        mpfr_pow(r9191, r9181, r9190, MPFR_RNDN);
        mpfr_div(r9192, r9188, r9191, MPFR_RNDN);
        mpfr_add(r9193, r9189, r9192, MPFR_RNDN);
        ;
        mpfr_pow(r9195, r9181, r9194, MPFR_RNDN);
        mpfr_div(r9196, r9188, r9195, MPFR_RNDN);
        mpfr_sub(r9197, r9193, r9196, MPFR_RNDN);
        mpfr_fma(r9198, r9181, r9181, r9188, MPFR_RNDN);
        mpfr_div(r9199, r9181, r9198, MPFR_RNDN);
        if (mpfr_get_si(r9187, MPFR_RNDN)) { mpfr_set(r9200, r9197, MPFR_RNDN); } else { mpfr_set(r9200, r9199, MPFR_RNDN); };
        return mpfr_get_d(r9200, MPFR_RNDN);
}

static mpfr_t r9201, r9202, r9203, r9204, r9205, r9206, r9207, r9208, r9209, r9210, r9211, r9212, r9213, r9214, r9215, r9216, r9217, r9218, r9219, r9220;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(592);
        mpfr_init(r9201);
        mpfr_init_set_str(r9202, "-4.684447861881018e+27", 10, MPFR_RNDN);
        mpfr_init(r9203);
        mpfr_init_set_str(r9204, "945.5765595016253", 10, MPFR_RNDN);
        mpfr_init(r9205);
        mpfr_init(r9206);
        mpfr_init(r9207);
        mpfr_init_set_str(r9208, "1", 10, MPFR_RNDN);
        mpfr_init(r9209);
        mpfr_init_set_str(r9210, "5", 10, MPFR_RNDN);
        mpfr_init(r9211);
        mpfr_init(r9212);
        mpfr_init(r9213);
        mpfr_init_set_str(r9214, "3", 10, MPFR_RNDN);
        mpfr_init(r9215);
        mpfr_init(r9216);
        mpfr_init(r9217);
        mpfr_init(r9218);
        mpfr_init(r9219);
        mpfr_init(r9220);
}

double f_dm(double x) {
        mpfr_set_d(r9201, x, MPFR_RNDN);
        ;
        mpfr_set_si(r9203, mpfr_cmp(r9201, r9202) <= 0, MPFR_RNDN);
        ;
        mpfr_set_si(r9205, mpfr_cmp(r9201, r9204) <= 0, MPFR_RNDN);
        mpfr_set_si(r9206, !mpfr_get_si(r9205, MPFR_RNDN), MPFR_RNDN);
        mpfr_set_si(r9207, mpfr_get_si(r9203, MPFR_RNDN) || mpfr_get_si(r9206, MPFR_RNDN), MPFR_RNDN);
        ;
        mpfr_div(r9209, r9208, r9201, MPFR_RNDN);
        ;
        mpfr_pow(r9211, r9201, r9210, MPFR_RNDN);
        mpfr_div(r9212, r9208, r9211, MPFR_RNDN);
        mpfr_add(r9213, r9209, r9212, MPFR_RNDN);
        ;
        mpfr_pow(r9215, r9201, r9214, MPFR_RNDN);
        mpfr_div(r9216, r9208, r9215, MPFR_RNDN);
        mpfr_sub(r9217, r9213, r9216, MPFR_RNDN);
        mpfr_fma(r9218, r9201, r9201, r9208, MPFR_RNDN);
        mpfr_div(r9219, r9201, r9218, MPFR_RNDN);
        if (mpfr_get_si(r9207, MPFR_RNDN)) { mpfr_set(r9220, r9217, MPFR_RNDN); } else { mpfr_set(r9220, r9219, MPFR_RNDN); };
        return mpfr_get_d(r9220, MPFR_RNDN);
}

