#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 r27405 = 1;
        float r27406 = x;
        float r27407 = exp(r27406);
        float r27408 = r27405 + r27407;
        float r27409 = log(r27408);
        float r27410 = y;
        float r27411 = r27406 * r27410;
        float r27412 = r27409 - r27411;
        return r27412;
}

double f_id(double x, double y) {
        double r27413 = 1;
        double r27414 = x;
        double r27415 = exp(r27414);
        double r27416 = r27413 + r27415;
        double r27417 = log(r27416);
        double r27418 = y;
        double r27419 = r27414 * r27418;
        double r27420 = r27417 - r27419;
        return r27420;
}


double f_of(float x, float y) {
        float r27421 = 1;
        float r27422 = x;
        float r27423 = exp(r27422);
        float r27424 = r27421 + r27423;
        float r27425 = log(r27424);
        float r27426 = y;
        float r27427 = r27422 * r27426;
        float r27428 = r27425 - r27427;
        return r27428;
}

double f_od(double x, double y) {
        double r27429 = 1;
        double r27430 = x;
        double r27431 = exp(r27430);
        double r27432 = r27429 + r27431;
        double r27433 = log(r27432);
        double r27434 = y;
        double r27435 = r27430 * r27434;
        double r27436 = r27433 - r27435;
        return r27436;
}

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 r27437, r27438, r27439, r27440, r27441, r27442, r27443, r27444;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(848);
        mpfr_init_set_str(r27437, "1", 10, MPFR_RNDN);
        mpfr_init(r27438);
        mpfr_init(r27439);
        mpfr_init(r27440);
        mpfr_init(r27441);
        mpfr_init(r27442);
        mpfr_init(r27443);
        mpfr_init(r27444);
}

double f_im(double x, double y) {
        ;
        mpfr_set_d(r27438, x, MPFR_RNDN);
        mpfr_exp(r27439, r27438, MPFR_RNDN);
        mpfr_add(r27440, r27437, r27439, MPFR_RNDN);
        mpfr_log(r27441, r27440, MPFR_RNDN);
        mpfr_set_d(r27442, y, MPFR_RNDN);
        mpfr_mul(r27443, r27438, r27442, MPFR_RNDN);
        mpfr_sub(r27444, r27441, r27443, MPFR_RNDN);
        return mpfr_get_d(r27444, MPFR_RNDN);
}

static mpfr_t r27445, r27446, r27447, r27448, r27449, r27450, r27451, r27452;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(848);
        mpfr_init_set_str(r27445, "1", 10, MPFR_RNDN);
        mpfr_init(r27446);
        mpfr_init(r27447);
        mpfr_init(r27448);
        mpfr_init(r27449);
        mpfr_init(r27450);
        mpfr_init(r27451);
        mpfr_init(r27452);
}

double f_fm(double x, double y) {
        ;
        mpfr_set_d(r27446, x, MPFR_RNDN);
        mpfr_exp(r27447, r27446, MPFR_RNDN);
        mpfr_add(r27448, r27445, r27447, MPFR_RNDN);
        mpfr_log(r27449, r27448, MPFR_RNDN);
        mpfr_set_d(r27450, y, MPFR_RNDN);
        mpfr_mul(r27451, r27446, r27450, MPFR_RNDN);
        mpfr_sub(r27452, r27449, r27451, MPFR_RNDN);
        return mpfr_get_d(r27452, MPFR_RNDN);
}

static mpfr_t r27453, r27454, r27455, r27456, r27457, r27458, r27459, r27460;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(848);
        mpfr_init_set_str(r27453, "1", 10, MPFR_RNDN);
        mpfr_init(r27454);
        mpfr_init(r27455);
        mpfr_init(r27456);
        mpfr_init(r27457);
        mpfr_init(r27458);
        mpfr_init(r27459);
        mpfr_init(r27460);
}

double f_dm(double x, double y) {
        ;
        mpfr_set_d(r27454, x, MPFR_RNDN);
        mpfr_exp(r27455, r27454, MPFR_RNDN);
        mpfr_add(r27456, r27453, r27455, MPFR_RNDN);
        mpfr_log(r27457, r27456, MPFR_RNDN);
        mpfr_set_d(r27458, y, MPFR_RNDN);
        mpfr_mul(r27459, r27454, r27458, MPFR_RNDN);
        mpfr_sub(r27460, r27457, r27459, MPFR_RNDN);
        return mpfr_get_d(r27460, MPFR_RNDN);
}

