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

char *name = "Graphics.Rendering.Plot.Render.Plot.Legend:renderLegendInside from plot-0.2.3.4";

double f_if(float x, float y, float z) {
        float r49203 = x;
        float r49204 = y;
        float r49205 = r49203 + r49204;
        float r49206 = r49205 + r49204;
        float r49207 = r49206 + r49203;
        float r49208 = z;
        float r49209 = r49207 + r49208;
        float r49210 = r49209 + r49203;
        return r49210;
}

double f_id(double x, double y, double z) {
        double r49211 = x;
        double r49212 = y;
        double r49213 = r49211 + r49212;
        double r49214 = r49213 + r49212;
        double r49215 = r49214 + r49211;
        double r49216 = z;
        double r49217 = r49215 + r49216;
        double r49218 = r49217 + r49211;
        return r49218;
}


double f_of(float x, float y, float z) {
        float r49219 = x;
        float r49220 = y;
        float r49221 = r49219 + r49220;
        float r49222 = r49221 + r49220;
        float r49223 = r49222 + r49219;
        float r49224 = z;
        float r49225 = r49223 + r49224;
        float r49226 = r49225 + r49219;
        return r49226;
}

double f_od(double x, double y, double z) {
        double r49227 = x;
        double r49228 = y;
        double r49229 = r49227 + r49228;
        double r49230 = r49229 + r49228;
        double r49231 = r49230 + r49227;
        double r49232 = z;
        double r49233 = r49231 + r49232;
        double r49234 = r49233 + r49227;
        return r49234;
}

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 r49235, r49236, r49237, r49238, r49239, r49240, r49241, r49242;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(2192);
        mpfr_init(r49235);
        mpfr_init(r49236);
        mpfr_init(r49237);
        mpfr_init(r49238);
        mpfr_init(r49239);
        mpfr_init(r49240);
        mpfr_init(r49241);
        mpfr_init(r49242);
}

double f_im(double x, double y, double z) {
        mpfr_set_d(r49235, x, MPFR_RNDN);
        mpfr_set_d(r49236, y, MPFR_RNDN);
        mpfr_add(r49237, r49235, r49236, MPFR_RNDN);
        mpfr_add(r49238, r49237, r49236, MPFR_RNDN);
        mpfr_add(r49239, r49238, r49235, MPFR_RNDN);
        mpfr_set_d(r49240, z, MPFR_RNDN);
        mpfr_add(r49241, r49239, r49240, MPFR_RNDN);
        mpfr_add(r49242, r49241, r49235, MPFR_RNDN);
        return mpfr_get_d(r49242, MPFR_RNDN);
}

static mpfr_t r49243, r49244, r49245, r49246, r49247, r49248, r49249, r49250;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(2192);
        mpfr_init(r49243);
        mpfr_init(r49244);
        mpfr_init(r49245);
        mpfr_init(r49246);
        mpfr_init(r49247);
        mpfr_init(r49248);
        mpfr_init(r49249);
        mpfr_init(r49250);
}

double f_fm(double x, double y, double z) {
        mpfr_set_d(r49243, x, MPFR_RNDN);
        mpfr_set_d(r49244, y, MPFR_RNDN);
        mpfr_add(r49245, r49243, r49244, MPFR_RNDN);
        mpfr_add(r49246, r49245, r49244, MPFR_RNDN);
        mpfr_add(r49247, r49246, r49243, MPFR_RNDN);
        mpfr_set_d(r49248, z, MPFR_RNDN);
        mpfr_add(r49249, r49247, r49248, MPFR_RNDN);
        mpfr_add(r49250, r49249, r49243, MPFR_RNDN);
        return mpfr_get_d(r49250, MPFR_RNDN);
}

static mpfr_t r49251, r49252, r49253, r49254, r49255, r49256, r49257, r49258;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(2192);
        mpfr_init(r49251);
        mpfr_init(r49252);
        mpfr_init(r49253);
        mpfr_init(r49254);
        mpfr_init(r49255);
        mpfr_init(r49256);
        mpfr_init(r49257);
        mpfr_init(r49258);
}

double f_dm(double x, double y, double z) {
        mpfr_set_d(r49251, x, MPFR_RNDN);
        mpfr_set_d(r49252, y, MPFR_RNDN);
        mpfr_add(r49253, r49251, r49252, MPFR_RNDN);
        mpfr_add(r49254, r49253, r49252, MPFR_RNDN);
        mpfr_add(r49255, r49254, r49251, MPFR_RNDN);
        mpfr_set_d(r49256, z, MPFR_RNDN);
        mpfr_add(r49257, r49255, r49256, MPFR_RNDN);
        mpfr_add(r49258, r49257, r49251, MPFR_RNDN);
        return mpfr_get_d(r49258, MPFR_RNDN);
}

