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

char *name = "Logistic regression 2";

double f_if(float x, float y) {
        float r11253 = 1;
        float r11254 = x;
        float r11255 = exp(r11254);
        float r11256 = r11253 + r11255;
        float r11257 = log(r11256);
        float r11258 = y;
        float r11259 = r11254 * r11258;
        float r11260 = r11257 - r11259;
        return r11260;
}

double f_id(double x, double y) {
        double r11261 = 1;
        double r11262 = x;
        double r11263 = exp(r11262);
        double r11264 = r11261 + r11263;
        double r11265 = log(r11264);
        double r11266 = y;
        double r11267 = r11262 * r11266;
        double r11268 = r11265 - r11267;
        return r11268;
}


double f_of(float x, float y) {
        float r11269 = 1;
        float r11270 = x;
        float r11271 = exp(r11270);
        float r11272 = r11269 + r11271;
        float r11273 = log(r11272);
        float r11274 = y;
        float r11275 = r11270 * r11274;
        float r11276 = r11273 - r11275;
        return r11276;
}

double f_od(double x, double y) {
        double r11277 = 1;
        double r11278 = x;
        double r11279 = exp(r11278);
        double r11280 = r11277 + r11279;
        double r11281 = log(r11280);
        double r11282 = y;
        double r11283 = r11278 * r11282;
        double r11284 = r11281 - r11283;
        return r11284;
}

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 r11285, r11286, r11287, r11288, r11289, r11290, r11291, r11292;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(592);
        mpfr_init_set_str(r11285, "1", 10, MPFR_RNDN);
        mpfr_init(r11286);
        mpfr_init(r11287);
        mpfr_init(r11288);
        mpfr_init(r11289);
        mpfr_init(r11290);
        mpfr_init(r11291);
        mpfr_init(r11292);
}

double f_im(double x, double y) {
        ;
        mpfr_set_d(r11286, x, MPFR_RNDN);
        mpfr_exp(r11287, r11286, MPFR_RNDN);
        mpfr_add(r11288, r11285, r11287, MPFR_RNDN);
        mpfr_log(r11289, r11288, MPFR_RNDN);
        mpfr_set_d(r11290, y, MPFR_RNDN);
        mpfr_mul(r11291, r11286, r11290, MPFR_RNDN);
        mpfr_sub(r11292, r11289, r11291, MPFR_RNDN);
        return mpfr_get_d(r11292, MPFR_RNDN);
}

static mpfr_t r11293, r11294, r11295, r11296, r11297, r11298, r11299, r11300;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(592);
        mpfr_init_set_str(r11293, "1", 10, MPFR_RNDN);
        mpfr_init(r11294);
        mpfr_init(r11295);
        mpfr_init(r11296);
        mpfr_init(r11297);
        mpfr_init(r11298);
        mpfr_init(r11299);
        mpfr_init(r11300);
}

double f_fm(double x, double y) {
        ;
        mpfr_set_d(r11294, x, MPFR_RNDN);
        mpfr_exp(r11295, r11294, MPFR_RNDN);
        mpfr_add(r11296, r11293, r11295, MPFR_RNDN);
        mpfr_log(r11297, r11296, MPFR_RNDN);
        mpfr_set_d(r11298, y, MPFR_RNDN);
        mpfr_mul(r11299, r11294, r11298, MPFR_RNDN);
        mpfr_sub(r11300, r11297, r11299, MPFR_RNDN);
        return mpfr_get_d(r11300, MPFR_RNDN);
}

static mpfr_t r11301, r11302, r11303, r11304, r11305, r11306, r11307, r11308;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(592);
        mpfr_init_set_str(r11301, "1", 10, MPFR_RNDN);
        mpfr_init(r11302);
        mpfr_init(r11303);
        mpfr_init(r11304);
        mpfr_init(r11305);
        mpfr_init(r11306);
        mpfr_init(r11307);
        mpfr_init(r11308);
}

double f_dm(double x, double y) {
        ;
        mpfr_set_d(r11302, x, MPFR_RNDN);
        mpfr_exp(r11303, r11302, MPFR_RNDN);
        mpfr_add(r11304, r11301, r11303, MPFR_RNDN);
        mpfr_log(r11305, r11304, MPFR_RNDN);
        mpfr_set_d(r11306, y, MPFR_RNDN);
        mpfr_mul(r11307, r11302, r11306, MPFR_RNDN);
        mpfr_sub(r11308, r11305, r11307, MPFR_RNDN);
        return mpfr_get_d(r11308, MPFR_RNDN);
}

