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

char *name = "Optimisation.CirclePacking:place from circle-packing-0.1.0.4, I";

double f_if(float x, float y, float z) {
        float r37729 = x;
        float r37730 = y;
        float r37731 = r37729 + r37730;
        float r37732 = z;
        float r37733 = r37731 + r37732;
        return r37733;
}

double f_id(double x, double y, double z) {
        double r37734 = x;
        double r37735 = y;
        double r37736 = r37734 + r37735;
        double r37737 = z;
        double r37738 = r37736 + r37737;
        return r37738;
}


double f_of(float x, float y, float z) {
        float r37739 = x;
        float r37740 = y;
        float r37741 = r37739 + r37740;
        float r37742 = z;
        float r37743 = r37741 + r37742;
        return r37743;
}

double f_od(double x, double y, double z) {
        double r37744 = x;
        double r37745 = y;
        double r37746 = r37744 + r37745;
        double r37747 = z;
        double r37748 = r37746 + r37747;
        return r37748;
}

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 r37749, r37750, r37751, r37752, r37753;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(144);
        mpfr_init(r37749);
        mpfr_init(r37750);
        mpfr_init(r37751);
        mpfr_init(r37752);
        mpfr_init(r37753);
}

double f_im(double x, double y, double z) {
        mpfr_set_d(r37749, x, MPFR_RNDN);
        mpfr_set_d(r37750, y, MPFR_RNDN);
        mpfr_add(r37751, r37749, r37750, MPFR_RNDN);
        mpfr_set_d(r37752, z, MPFR_RNDN);
        mpfr_add(r37753, r37751, r37752, MPFR_RNDN);
        return mpfr_get_d(r37753, MPFR_RNDN);
}

static mpfr_t r37754, r37755, r37756, r37757, r37758;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(144);
        mpfr_init(r37754);
        mpfr_init(r37755);
        mpfr_init(r37756);
        mpfr_init(r37757);
        mpfr_init(r37758);
}

double f_fm(double x, double y, double z) {
        mpfr_set_d(r37754, x, MPFR_RNDN);
        mpfr_set_d(r37755, y, MPFR_RNDN);
        mpfr_add(r37756, r37754, r37755, MPFR_RNDN);
        mpfr_set_d(r37757, z, MPFR_RNDN);
        mpfr_add(r37758, r37756, r37757, MPFR_RNDN);
        return mpfr_get_d(r37758, MPFR_RNDN);
}

static mpfr_t r37759, r37760, r37761, r37762, r37763;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(144);
        mpfr_init(r37759);
        mpfr_init(r37760);
        mpfr_init(r37761);
        mpfr_init(r37762);
        mpfr_init(r37763);
}

double f_dm(double x, double y, double z) {
        mpfr_set_d(r37759, x, MPFR_RNDN);
        mpfr_set_d(r37760, y, MPFR_RNDN);
        mpfr_add(r37761, r37759, r37760, MPFR_RNDN);
        mpfr_set_d(r37762, z, MPFR_RNDN);
        mpfr_add(r37763, r37761, r37762, MPFR_RNDN);
        return mpfr_get_d(r37763, MPFR_RNDN);
}

