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

double f_if(float x, float y, float z, float t) {
        float r46265 = x;
        float r46266 = y;
        float r46267 = z;
        float r46268 = r46266 + r46267;
        float r46269 = r46268 + r46267;
        float r46270 = r46269 + r46266;
        float r46271 = t;
        float r46272 = r46270 + r46271;
        float r46273 = r46265 * r46272;
        float r46274 = 5.0f;
        float r46275 = r46266 * r46274;
        float r46276 = r46273 + r46275;
        return r46276;
}

double f_id(double x, double y, double z, double t) {
        double r46277 = x;
        double r46278 = y;
        double r46279 = z;
        double r46280 = r46278 + r46279;
        double r46281 = r46280 + r46279;
        double r46282 = r46281 + r46278;
        double r46283 = t;
        double r46284 = r46282 + r46283;
        double r46285 = r46277 * r46284;
        double r46286 = 5.0;
        double r46287 = r46278 * r46286;
        double r46288 = r46285 + r46287;
        return r46288;
}


double f_of(float x, float y, float z, float t) {
        float r46289 = x;
        float r46290 = y;
        float r46291 = z;
        float r46292 = r46290 + r46291;
        float r46293 = r46292 + r46291;
        float r46294 = r46293 + r46290;
        float r46295 = t;
        float r46296 = r46294 + r46295;
        float r46297 = r46289 * r46296;
        float r46298 = 5.0f;
        float r46299 = r46290 * r46298;
        float r46300 = r46297 + r46299;
        return r46300;
}

double f_od(double x, double y, double z, double t) {
        double r46301 = x;
        double r46302 = y;
        double r46303 = z;
        double r46304 = r46302 + r46303;
        double r46305 = r46304 + r46303;
        double r46306 = r46305 + r46302;
        double r46307 = t;
        double r46308 = r46306 + r46307;
        double r46309 = r46301 * r46308;
        double r46310 = 5.0;
        double r46311 = r46302 * r46310;
        double r46312 = r46309 + r46311;
        return r46312;
}

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 r46313, r46314, r46315, r46316, r46317, r46318, r46319, r46320, r46321, r46322, r46323, r46324;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(144);
        mpfr_init(r46313);
        mpfr_init(r46314);
        mpfr_init(r46315);
        mpfr_init(r46316);
        mpfr_init(r46317);
        mpfr_init(r46318);
        mpfr_init(r46319);
        mpfr_init(r46320);
        mpfr_init(r46321);
        mpfr_init_set_str(r46322, "5.0", 10, MPFR_RNDN);
        mpfr_init(r46323);
        mpfr_init(r46324);
}

double f_im(double x, double y, double z, double t) {
        mpfr_set_d(r46313, x, MPFR_RNDN);
        mpfr_set_d(r46314, y, MPFR_RNDN);
        mpfr_set_d(r46315, z, MPFR_RNDN);
        mpfr_add(r46316, r46314, r46315, MPFR_RNDN);
        mpfr_add(r46317, r46316, r46315, MPFR_RNDN);
        mpfr_add(r46318, r46317, r46314, MPFR_RNDN);
        mpfr_set_d(r46319, t, MPFR_RNDN);
        mpfr_add(r46320, r46318, r46319, MPFR_RNDN);
        mpfr_mul(r46321, r46313, r46320, MPFR_RNDN);
        ;
        mpfr_mul(r46323, r46314, r46322, MPFR_RNDN);
        mpfr_add(r46324, r46321, r46323, MPFR_RNDN);
        return mpfr_get_d(r46324, MPFR_RNDN);
}

static mpfr_t r46325, r46326, r46327, r46328, r46329, r46330, r46331, r46332, r46333, r46334, r46335, r46336;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(144);
        mpfr_init(r46325);
        mpfr_init(r46326);
        mpfr_init(r46327);
        mpfr_init(r46328);
        mpfr_init(r46329);
        mpfr_init(r46330);
        mpfr_init(r46331);
        mpfr_init(r46332);
        mpfr_init(r46333);
        mpfr_init_set_str(r46334, "5.0", 10, MPFR_RNDN);
        mpfr_init(r46335);
        mpfr_init(r46336);
}

double f_fm(double x, double y, double z, double t) {
        mpfr_set_d(r46325, x, MPFR_RNDN);
        mpfr_set_d(r46326, y, MPFR_RNDN);
        mpfr_set_d(r46327, z, MPFR_RNDN);
        mpfr_add(r46328, r46326, r46327, MPFR_RNDN);
        mpfr_add(r46329, r46328, r46327, MPFR_RNDN);
        mpfr_add(r46330, r46329, r46326, MPFR_RNDN);
        mpfr_set_d(r46331, t, MPFR_RNDN);
        mpfr_add(r46332, r46330, r46331, MPFR_RNDN);
        mpfr_mul(r46333, r46325, r46332, MPFR_RNDN);
        ;
        mpfr_mul(r46335, r46326, r46334, MPFR_RNDN);
        mpfr_add(r46336, r46333, r46335, MPFR_RNDN);
        return mpfr_get_d(r46336, MPFR_RNDN);
}

static mpfr_t r46337, r46338, r46339, r46340, r46341, r46342, r46343, r46344, r46345, r46346, r46347, r46348;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(144);
        mpfr_init(r46337);
        mpfr_init(r46338);
        mpfr_init(r46339);
        mpfr_init(r46340);
        mpfr_init(r46341);
        mpfr_init(r46342);
        mpfr_init(r46343);
        mpfr_init(r46344);
        mpfr_init(r46345);
        mpfr_init_set_str(r46346, "5.0", 10, MPFR_RNDN);
        mpfr_init(r46347);
        mpfr_init(r46348);
}

double f_dm(double x, double y, double z, double t) {
        mpfr_set_d(r46337, x, MPFR_RNDN);
        mpfr_set_d(r46338, y, MPFR_RNDN);
        mpfr_set_d(r46339, z, MPFR_RNDN);
        mpfr_add(r46340, r46338, r46339, MPFR_RNDN);
        mpfr_add(r46341, r46340, r46339, MPFR_RNDN);
        mpfr_add(r46342, r46341, r46338, MPFR_RNDN);
        mpfr_set_d(r46343, t, MPFR_RNDN);
        mpfr_add(r46344, r46342, r46343, MPFR_RNDN);
        mpfr_mul(r46345, r46337, r46344, MPFR_RNDN);
        ;
        mpfr_mul(r46347, r46338, r46346, MPFR_RNDN);
        mpfr_add(r46348, r46345, r46347, MPFR_RNDN);
        return mpfr_get_d(r46348, MPFR_RNDN);
}

