#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, H";

double f_if(float x, float y, float z) {
        float r26201 = x;
        float r26202 = y;
        float r26203 = r26201 + r26202;
        float r26204 = 1.0;
        float r26205 = z;
        float r26206 = r26204 - r26205;
        float r26207 = r26203 * r26206;
        return r26207;
}

double f_id(double x, double y, double z) {
        double r26208 = x;
        double r26209 = y;
        double r26210 = r26208 + r26209;
        double r26211 = 1.0;
        double r26212 = z;
        double r26213 = r26211 - r26212;
        double r26214 = r26210 * r26213;
        return r26214;
}


double f_of(float x, float y, float z) {
        float r26215 = x;
        float r26216 = y;
        float r26217 = r26215 + r26216;
        float r26218 = 1.0;
        float r26219 = z;
        float r26220 = r26218 - r26219;
        float r26221 = r26217 * r26220;
        return r26221;
}

double f_od(double x, double y, double z) {
        double r26222 = x;
        double r26223 = y;
        double r26224 = r26222 + r26223;
        double r26225 = 1.0;
        double r26226 = z;
        double r26227 = r26225 - r26226;
        double r26228 = r26224 * r26227;
        return r26228;
}

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 r26229, r26230, r26231, r26232, r26233, r26234, r26235;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(400);
        mpfr_init(r26229);
        mpfr_init(r26230);
        mpfr_init(r26231);
        mpfr_init_set_str(r26232, "1.0", 10, MPFR_RNDN);
        mpfr_init(r26233);
        mpfr_init(r26234);
        mpfr_init(r26235);
}

double f_im(double x, double y, double z) {
        mpfr_set_d(r26229, x, MPFR_RNDN);
        mpfr_set_d(r26230, y, MPFR_RNDN);
        mpfr_add(r26231, r26229, r26230, MPFR_RNDN);
        ;
        mpfr_set_d(r26233, z, MPFR_RNDN);
        mpfr_sub(r26234, r26232, r26233, MPFR_RNDN);
        mpfr_mul(r26235, r26231, r26234, MPFR_RNDN);
        return mpfr_get_d(r26235, MPFR_RNDN);
}

static mpfr_t r26236, r26237, r26238, r26239, r26240, r26241, r26242;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(400);
        mpfr_init(r26236);
        mpfr_init(r26237);
        mpfr_init(r26238);
        mpfr_init_set_str(r26239, "1.0", 10, MPFR_RNDN);
        mpfr_init(r26240);
        mpfr_init(r26241);
        mpfr_init(r26242);
}

double f_fm(double x, double y, double z) {
        mpfr_set_d(r26236, x, MPFR_RNDN);
        mpfr_set_d(r26237, y, MPFR_RNDN);
        mpfr_add(r26238, r26236, r26237, MPFR_RNDN);
        ;
        mpfr_set_d(r26240, z, MPFR_RNDN);
        mpfr_sub(r26241, r26239, r26240, MPFR_RNDN);
        mpfr_mul(r26242, r26238, r26241, MPFR_RNDN);
        return mpfr_get_d(r26242, MPFR_RNDN);
}

static mpfr_t r26243, r26244, r26245, r26246, r26247, r26248, r26249;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(400);
        mpfr_init(r26243);
        mpfr_init(r26244);
        mpfr_init(r26245);
        mpfr_init_set_str(r26246, "1.0", 10, MPFR_RNDN);
        mpfr_init(r26247);
        mpfr_init(r26248);
        mpfr_init(r26249);
}

double f_dm(double x, double y, double z) {
        mpfr_set_d(r26243, x, MPFR_RNDN);
        mpfr_set_d(r26244, y, MPFR_RNDN);
        mpfr_add(r26245, r26243, r26244, MPFR_RNDN);
        ;
        mpfr_set_d(r26247, z, MPFR_RNDN);
        mpfr_sub(r26248, r26246, r26247, MPFR_RNDN);
        mpfr_mul(r26249, r26245, r26248, MPFR_RNDN);
        return mpfr_get_d(r26249, MPFR_RNDN);
}

