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

char *name = "Logistic function from Lakshay Garg";

double f_if(float x, float __attribute__((unused)) y) {
        float r9083 = 2;
        float r9084 = 1;
        float r9085 = -2;
        float r9086 = x;
        float r9087 = r9085 * r9086;
        float r9088 = exp(r9087);
        float r9089 = r9084 + r9088;
        float r9090 = r9083 / r9089;
        float r9091 = r9090 - r9084;
        return r9091;
}

double f_id(double x, double __attribute__((unused)) y) {
        double r9092 = 2;
        double r9093 = 1;
        double r9094 = -2;
        double r9095 = x;
        double r9096 = r9094 * r9095;
        double r9097 = exp(r9096);
        double r9098 = r9093 + r9097;
        double r9099 = r9092 / r9098;
        double r9100 = r9099 - r9093;
        return r9100;
}


double f_of(float x, float __attribute__((unused)) y) {
        float r9101 = 2;
        float r9102 = 1;
        float r9103 = -2;
        float r9104 = x;
        float r9105 = r9103 * r9104;
        float r9106 = exp(r9105);
        float r9107 = r9102 + r9106;
        float r9108 = r9101 / r9107;
        float r9109 = r9108 - r9102;
        float r9110 = -0.0007462943001403419;
        bool r9111 = r9109 <= r9110;
        float r9112 = sqrt(r9107);
        float r9113 = r9101 / r9112;
        float r9114 = r9113 / r9112;
        float r9115 = r9114 - r9102;
        float r9116 = 2.1637971374288114e-07;
        bool r9117 = r9109 <= r9116;
        float r9118 = 2/15;
        float r9119 = 5;
        float r9120 = pow(r9104, r9119);
        float r9121 = r9118 * r9120;
        float r9122 = r9104 + r9121;
        float r9123 = 1/3;
        float r9124 = 3;
        float r9125 = pow(r9104, r9124);
        float r9126 = r9123 * r9125;
        float r9127 = r9122 - r9126;
        float r9128 = r9117 ? r9127 : r9115;
        float r9129 = r9111 ? r9115 : r9128;
        return r9129;
}

double f_od(double x, double __attribute__((unused)) y) {
        double r9130 = 2;
        double r9131 = 1;
        double r9132 = -2;
        double r9133 = x;
        double r9134 = r9132 * r9133;
        double r9135 = exp(r9134);
        double r9136 = r9131 + r9135;
        double r9137 = r9130 / r9136;
        double r9138 = r9137 - r9131;
        double r9139 = -0.0007462943001403419;
        bool r9140 = r9138 <= r9139;
        double r9141 = sqrt(r9136);
        double r9142 = r9130 / r9141;
        double r9143 = r9142 / r9141;
        double r9144 = r9143 - r9131;
        double r9145 = 2.1637971374288114e-07;
        bool r9146 = r9138 <= r9145;
        double r9147 = 2/15;
        double r9148 = 5;
        double r9149 = pow(r9133, r9148);
        double r9150 = r9147 * r9149;
        double r9151 = r9133 + r9150;
        double r9152 = 1/3;
        double r9153 = 3;
        double r9154 = pow(r9133, r9153);
        double r9155 = r9152 * r9154;
        double r9156 = r9151 - r9155;
        double r9157 = r9146 ? r9156 : r9144;
        double r9158 = r9140 ? r9144 : r9157;
        return r9158;
}

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 r9159, r9160, r9161, r9162, r9163, r9164, r9165, r9166, r9167;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(1360);
        mpfr_init_set_str(r9159, "2", 10, MPFR_RNDN);
        mpfr_init_set_str(r9160, "1", 10, MPFR_RNDN);
        mpfr_init_set_str(r9161, "-2", 10, MPFR_RNDN);
        mpfr_init(r9162);
        mpfr_init(r9163);
        mpfr_init(r9164);
        mpfr_init(r9165);
        mpfr_init(r9166);
        mpfr_init(r9167);
}

double f_im(double x, double __attribute__((unused)) y) {
        ;
        ;
        ;
        mpfr_set_d(r9162, x, MPFR_RNDN);
        mpfr_mul(r9163, r9161, r9162, MPFR_RNDN);
        mpfr_exp(r9164, r9163, MPFR_RNDN);
        mpfr_add(r9165, r9160, r9164, MPFR_RNDN);
        mpfr_div(r9166, r9159, r9165, MPFR_RNDN);
        mpfr_sub(r9167, r9166, r9160, MPFR_RNDN);
        return mpfr_get_d(r9167, MPFR_RNDN);
}

static mpfr_t r9168, r9169, r9170, r9171, r9172, r9173, r9174, r9175, r9176, r9177, r9178, r9179, r9180, r9181, r9182, r9183, r9184, r9185, r9186, r9187, r9188, r9189, r9190, r9191, r9192, r9193, r9194, r9195, r9196;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(1360);
        mpfr_init_set_str(r9168, "2", 10, MPFR_RNDN);
        mpfr_init_set_str(r9169, "1", 10, MPFR_RNDN);
        mpfr_init_set_str(r9170, "-2", 10, MPFR_RNDN);
        mpfr_init(r9171);
        mpfr_init(r9172);
        mpfr_init(r9173);
        mpfr_init(r9174);
        mpfr_init(r9175);
        mpfr_init(r9176);
        mpfr_init_set_str(r9177, "-0.0007462943001403419", 10, MPFR_RNDN);
        mpfr_init(r9178);
        mpfr_init(r9179);
        mpfr_init(r9180);
        mpfr_init(r9181);
        mpfr_init(r9182);
        mpfr_init_set_str(r9183, "2.1637971374288114e-07", 10, MPFR_RNDN);
        mpfr_init(r9184);
        mpfr_init_set_str(r9185, "2/15", 10, MPFR_RNDN);
        mpfr_init_set_str(r9186, "5", 10, MPFR_RNDN);
        mpfr_init(r9187);
        mpfr_init(r9188);
        mpfr_init(r9189);
        mpfr_init_set_str(r9190, "1/3", 10, MPFR_RNDN);
        mpfr_init_set_str(r9191, "3", 10, MPFR_RNDN);
        mpfr_init(r9192);
        mpfr_init(r9193);
        mpfr_init(r9194);
        mpfr_init(r9195);
        mpfr_init(r9196);
}

double f_fm(double x, double __attribute__((unused)) y) {
        ;
        ;
        ;
        mpfr_set_d(r9171, x, MPFR_RNDN);
        mpfr_mul(r9172, r9170, r9171, MPFR_RNDN);
        mpfr_exp(r9173, r9172, MPFR_RNDN);
        mpfr_add(r9174, r9169, r9173, MPFR_RNDN);
        mpfr_div(r9175, r9168, r9174, MPFR_RNDN);
        mpfr_sub(r9176, r9175, r9169, MPFR_RNDN);
        ;
        mpfr_set_si(r9178, mpfr_cmp(r9176, r9177) <= 0, MPFR_RNDN);
        mpfr_sqrt(r9179, r9174, MPFR_RNDN);
        mpfr_div(r9180, r9168, r9179, MPFR_RNDN);
        mpfr_div(r9181, r9180, r9179, MPFR_RNDN);
        mpfr_sub(r9182, r9181, r9169, MPFR_RNDN);
        ;
        mpfr_set_si(r9184, mpfr_cmp(r9176, r9183) <= 0, MPFR_RNDN);
        ;
        ;
        mpfr_pow(r9187, r9171, r9186, MPFR_RNDN);
        mpfr_mul(r9188, r9185, r9187, MPFR_RNDN);
        mpfr_add(r9189, r9171, r9188, MPFR_RNDN);
        ;
        ;
        mpfr_pow(r9192, r9171, r9191, MPFR_RNDN);
        mpfr_mul(r9193, r9190, r9192, MPFR_RNDN);
        mpfr_sub(r9194, r9189, r9193, MPFR_RNDN);
        if (mpfr_get_si(r9184, MPFR_RNDN)) { mpfr_set(r9195, r9194, MPFR_RNDN); } else { mpfr_set(r9195, r9182, MPFR_RNDN); };
        if (mpfr_get_si(r9178, MPFR_RNDN)) { mpfr_set(r9196, r9182, MPFR_RNDN); } else { mpfr_set(r9196, r9195, MPFR_RNDN); };
        return mpfr_get_d(r9196, MPFR_RNDN);
}

static mpfr_t r9197, r9198, r9199, r9200, r9201, r9202, r9203, r9204, r9205, r9206, r9207, r9208, r9209, r9210, r9211, r9212, r9213, r9214, r9215, r9216, r9217, r9218, r9219, r9220, r9221, r9222, r9223, r9224, r9225;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(1360);
        mpfr_init_set_str(r9197, "2", 10, MPFR_RNDN);
        mpfr_init_set_str(r9198, "1", 10, MPFR_RNDN);
        mpfr_init_set_str(r9199, "-2", 10, MPFR_RNDN);
        mpfr_init(r9200);
        mpfr_init(r9201);
        mpfr_init(r9202);
        mpfr_init(r9203);
        mpfr_init(r9204);
        mpfr_init(r9205);
        mpfr_init_set_str(r9206, "-0.0007462943001403419", 10, MPFR_RNDN);
        mpfr_init(r9207);
        mpfr_init(r9208);
        mpfr_init(r9209);
        mpfr_init(r9210);
        mpfr_init(r9211);
        mpfr_init_set_str(r9212, "2.1637971374288114e-07", 10, MPFR_RNDN);
        mpfr_init(r9213);
        mpfr_init_set_str(r9214, "2/15", 10, MPFR_RNDN);
        mpfr_init_set_str(r9215, "5", 10, MPFR_RNDN);
        mpfr_init(r9216);
        mpfr_init(r9217);
        mpfr_init(r9218);
        mpfr_init_set_str(r9219, "1/3", 10, MPFR_RNDN);
        mpfr_init_set_str(r9220, "3", 10, MPFR_RNDN);
        mpfr_init(r9221);
        mpfr_init(r9222);
        mpfr_init(r9223);
        mpfr_init(r9224);
        mpfr_init(r9225);
}

double f_dm(double x, double __attribute__((unused)) y) {
        ;
        ;
        ;
        mpfr_set_d(r9200, x, MPFR_RNDN);
        mpfr_mul(r9201, r9199, r9200, MPFR_RNDN);
        mpfr_exp(r9202, r9201, MPFR_RNDN);
        mpfr_add(r9203, r9198, r9202, MPFR_RNDN);
        mpfr_div(r9204, r9197, r9203, MPFR_RNDN);
        mpfr_sub(r9205, r9204, r9198, MPFR_RNDN);
        ;
        mpfr_set_si(r9207, mpfr_cmp(r9205, r9206) <= 0, MPFR_RNDN);
        mpfr_sqrt(r9208, r9203, MPFR_RNDN);
        mpfr_div(r9209, r9197, r9208, MPFR_RNDN);
        mpfr_div(r9210, r9209, r9208, MPFR_RNDN);
        mpfr_sub(r9211, r9210, r9198, MPFR_RNDN);
        ;
        mpfr_set_si(r9213, mpfr_cmp(r9205, r9212) <= 0, MPFR_RNDN);
        ;
        ;
        mpfr_pow(r9216, r9200, r9215, MPFR_RNDN);
        mpfr_mul(r9217, r9214, r9216, MPFR_RNDN);
        mpfr_add(r9218, r9200, r9217, MPFR_RNDN);
        ;
        ;
        mpfr_pow(r9221, r9200, r9220, MPFR_RNDN);
        mpfr_mul(r9222, r9219, r9221, MPFR_RNDN);
        mpfr_sub(r9223, r9218, r9222, MPFR_RNDN);
        if (mpfr_get_si(r9213, MPFR_RNDN)) { mpfr_set(r9224, r9223, MPFR_RNDN); } else { mpfr_set(r9224, r9211, MPFR_RNDN); };
        if (mpfr_get_si(r9207, MPFR_RNDN)) { mpfr_set(r9225, r9211, MPFR_RNDN); } else { mpfr_set(r9225, r9224, MPFR_RNDN); };
        return mpfr_get_d(r9225, MPFR_RNDN);
}

