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

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

double f_if(float x, float y) {
        float r48932 = x;
        float r48933 = y;
        float r48934 = r48932 + r48933;
        float r48935 = r48934 + r48932;
        return r48935;
}

double f_id(double x, double y) {
        double r48936 = x;
        double r48937 = y;
        double r48938 = r48936 + r48937;
        double r48939 = r48938 + r48936;
        return r48939;
}


double f_of(float x, float y) {
        float r48940 = x;
        float r48941 = y;
        float r48942 = r48940 + r48941;
        float r48943 = r48942 + r48940;
        return r48943;
}

double f_od(double x, double y) {
        double r48944 = x;
        double r48945 = y;
        double r48946 = r48944 + r48945;
        double r48947 = r48946 + r48944;
        return r48947;
}

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 r48948, r48949, r48950, r48951;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(400);
        mpfr_init(r48948);
        mpfr_init(r48949);
        mpfr_init(r48950);
        mpfr_init(r48951);
}

double f_im(double x, double y) {
        mpfr_set_d(r48948, x, MPFR_RNDN);
        mpfr_set_d(r48949, y, MPFR_RNDN);
        mpfr_add(r48950, r48948, r48949, MPFR_RNDN);
        mpfr_add(r48951, r48950, r48948, MPFR_RNDN);
        return mpfr_get_d(r48951, MPFR_RNDN);
}

static mpfr_t r48952, r48953, r48954, r48955;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(400);
        mpfr_init(r48952);
        mpfr_init(r48953);
        mpfr_init(r48954);
        mpfr_init(r48955);
}

double f_fm(double x, double y) {
        mpfr_set_d(r48952, x, MPFR_RNDN);
        mpfr_set_d(r48953, y, MPFR_RNDN);
        mpfr_add(r48954, r48952, r48953, MPFR_RNDN);
        mpfr_add(r48955, r48954, r48952, MPFR_RNDN);
        return mpfr_get_d(r48955, MPFR_RNDN);
}

static mpfr_t r48956, r48957, r48958, r48959;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(400);
        mpfr_init(r48956);
        mpfr_init(r48957);
        mpfr_init(r48958);
        mpfr_init(r48959);
}

double f_dm(double x, double y) {
        mpfr_set_d(r48956, x, MPFR_RNDN);
        mpfr_set_d(r48957, y, MPFR_RNDN);
        mpfr_add(r48958, r48956, r48957, MPFR_RNDN);
        mpfr_add(r48959, r48958, r48956, MPFR_RNDN);
        return mpfr_get_d(r48959, MPFR_RNDN);
}

