#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 r9349 = x;
        float r9350 = r9349 * r9349;
        float r9351 = 1;
        float r9352 = r9350 + r9351;
        float r9353 = r9349 / r9352;
        return r9353;
}

double f_id(double x) {
        double r9354 = x;
        double r9355 = r9354 * r9354;
        double r9356 = 1;
        double r9357 = r9355 + r9356;
        double r9358 = r9354 / r9357;
        return r9358;
}


double f_of(float x) {
        float r9359 = x;
        float r9360 = -4.684447861881018e+27;
        bool r9361 = r9359 <= r9360;
        float r9362 = 945.5765595016253;
        bool r9363 = r9359 <= r9362;
        float r9364 = !r9363;
        bool r9365 = r9361 || r9364;
        float r9366 = 1;
        float r9367 = r9366 / r9359;
        float r9368 = 5;
        float r9369 = pow(r9359, r9368);
        float r9370 = r9366 / r9369;
        float r9371 = r9367 + r9370;
        float r9372 = 3;
        float r9373 = pow(r9359, r9372);
        float r9374 = r9366 / r9373;
        float r9375 = r9371 - r9374;
        float r9376 = r9359 * r9359;
        float r9377 = r9366 + r9376;
        float r9378 = r9359 / r9377;
        float r9379 = r9365 ? r9375 : r9378;
        return r9379;
}

double f_od(double x) {
        double r9380 = x;
        double r9381 = -4.684447861881018e+27;
        bool r9382 = r9380 <= r9381;
        double r9383 = 945.5765595016253;
        bool r9384 = r9380 <= r9383;
        double r9385 = !r9384;
        bool r9386 = r9382 || r9385;
        double r9387 = 1;
        double r9388 = r9387 / r9380;
        double r9389 = 5;
        double r9390 = pow(r9380, r9389);
        double r9391 = r9387 / r9390;
        double r9392 = r9388 + r9391;
        double r9393 = 3;
        double r9394 = pow(r9380, r9393);
        double r9395 = r9387 / r9394;
        double r9396 = r9392 - r9395;
        double r9397 = r9380 * r9380;
        double r9398 = r9387 + r9397;
        double r9399 = r9380 / r9398;
        double r9400 = r9386 ? r9396 : r9399;
        return r9400;
}

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 r9401, r9402, r9403, r9404, r9405;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(592);
        mpfr_init(r9401);
        mpfr_init(r9402);
        mpfr_init_set_str(r9403, "1", 10, MPFR_RNDN);
        mpfr_init(r9404);
        mpfr_init(r9405);
}

double f_im(double x) {
        mpfr_set_d(r9401, x, MPFR_RNDN);
        mpfr_mul(r9402, r9401, r9401, MPFR_RNDN);
        ;
        mpfr_add(r9404, r9402, r9403, MPFR_RNDN);
        mpfr_div(r9405, r9401, r9404, MPFR_RNDN);
        return mpfr_get_d(r9405, MPFR_RNDN);
}

static mpfr_t r9406, r9407, r9408, r9409, r9410, r9411, r9412, r9413, r9414, r9415, r9416, r9417, r9418, r9419, r9420, r9421, r9422, r9423, r9424, r9425, r9426;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(592);
        mpfr_init(r9406);
        mpfr_init_set_str(r9407, "-4.684447861881018e+27", 10, MPFR_RNDN);
        mpfr_init(r9408);
        mpfr_init_set_str(r9409, "945.5765595016253", 10, MPFR_RNDN);
        mpfr_init(r9410);
        mpfr_init(r9411);
        mpfr_init(r9412);
        mpfr_init_set_str(r9413, "1", 10, MPFR_RNDN);
        mpfr_init(r9414);
        mpfr_init_set_str(r9415, "5", 10, MPFR_RNDN);
        mpfr_init(r9416);
        mpfr_init(r9417);
        mpfr_init(r9418);
        mpfr_init_set_str(r9419, "3", 10, MPFR_RNDN);
        mpfr_init(r9420);
        mpfr_init(r9421);
        mpfr_init(r9422);
        mpfr_init(r9423);
        mpfr_init(r9424);
        mpfr_init(r9425);
        mpfr_init(r9426);
}

double f_fm(double x) {
        mpfr_set_d(r9406, x, MPFR_RNDN);
        ;
        mpfr_set_si(r9408, mpfr_cmp(r9406, r9407) <= 0, MPFR_RNDN);
        ;
        mpfr_set_si(r9410, mpfr_cmp(r9406, r9409) <= 0, MPFR_RNDN);
        mpfr_set_si(r9411, !mpfr_get_si(r9410, MPFR_RNDN), MPFR_RNDN);
        mpfr_set_si(r9412, mpfr_get_si(r9408, MPFR_RNDN) || mpfr_get_si(r9411, MPFR_RNDN), MPFR_RNDN);
        ;
        mpfr_div(r9414, r9413, r9406, MPFR_RNDN);
        ;
        mpfr_pow(r9416, r9406, r9415, MPFR_RNDN);
        mpfr_div(r9417, r9413, r9416, MPFR_RNDN);
        mpfr_add(r9418, r9414, r9417, MPFR_RNDN);
        ;
        mpfr_pow(r9420, r9406, r9419, MPFR_RNDN);
        mpfr_div(r9421, r9413, r9420, MPFR_RNDN);
        mpfr_sub(r9422, r9418, r9421, MPFR_RNDN);
        mpfr_mul(r9423, r9406, r9406, MPFR_RNDN);
        mpfr_add(r9424, r9413, r9423, MPFR_RNDN);
        mpfr_div(r9425, r9406, r9424, MPFR_RNDN);
        if (mpfr_get_si(r9412, MPFR_RNDN)) { mpfr_set(r9426, r9422, MPFR_RNDN); } else { mpfr_set(r9426, r9425, MPFR_RNDN); };
        return mpfr_get_d(r9426, MPFR_RNDN);
}

static mpfr_t r9427, r9428, r9429, r9430, r9431, r9432, r9433, r9434, r9435, r9436, r9437, r9438, r9439, r9440, r9441, r9442, r9443, r9444, r9445, r9446, r9447;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(592);
        mpfr_init(r9427);
        mpfr_init_set_str(r9428, "-4.684447861881018e+27", 10, MPFR_RNDN);
        mpfr_init(r9429);
        mpfr_init_set_str(r9430, "945.5765595016253", 10, MPFR_RNDN);
        mpfr_init(r9431);
        mpfr_init(r9432);
        mpfr_init(r9433);
        mpfr_init_set_str(r9434, "1", 10, MPFR_RNDN);
        mpfr_init(r9435);
        mpfr_init_set_str(r9436, "5", 10, MPFR_RNDN);
        mpfr_init(r9437);
        mpfr_init(r9438);
        mpfr_init(r9439);
        mpfr_init_set_str(r9440, "3", 10, MPFR_RNDN);
        mpfr_init(r9441);
        mpfr_init(r9442);
        mpfr_init(r9443);
        mpfr_init(r9444);
        mpfr_init(r9445);
        mpfr_init(r9446);
        mpfr_init(r9447);
}

double f_dm(double x) {
        mpfr_set_d(r9427, x, MPFR_RNDN);
        ;
        mpfr_set_si(r9429, mpfr_cmp(r9427, r9428) <= 0, MPFR_RNDN);
        ;
        mpfr_set_si(r9431, mpfr_cmp(r9427, r9430) <= 0, MPFR_RNDN);
        mpfr_set_si(r9432, !mpfr_get_si(r9431, MPFR_RNDN), MPFR_RNDN);
        mpfr_set_si(r9433, mpfr_get_si(r9429, MPFR_RNDN) || mpfr_get_si(r9432, MPFR_RNDN), MPFR_RNDN);
        ;
        mpfr_div(r9435, r9434, r9427, MPFR_RNDN);
        ;
        mpfr_pow(r9437, r9427, r9436, MPFR_RNDN);
        mpfr_div(r9438, r9434, r9437, MPFR_RNDN);
        mpfr_add(r9439, r9435, r9438, MPFR_RNDN);
        ;
        mpfr_pow(r9441, r9427, r9440, MPFR_RNDN);
        mpfr_div(r9442, r9434, r9441, MPFR_RNDN);
        mpfr_sub(r9443, r9439, r9442, MPFR_RNDN);
        mpfr_mul(r9444, r9427, r9427, MPFR_RNDN);
        mpfr_add(r9445, r9434, r9444, MPFR_RNDN);
        mpfr_div(r9446, r9427, r9445, MPFR_RNDN);
        if (mpfr_get_si(r9433, MPFR_RNDN)) { mpfr_set(r9447, r9443, MPFR_RNDN); } else { mpfr_set(r9447, r9446, MPFR_RNDN); };
        return mpfr_get_d(r9447, MPFR_RNDN);
}

