#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 r48378 = x;
        float r48379 = y;
        float r48380 = z;
        float r48381 = r48379 + r48380;
        float r48382 = r48381 + r48380;
        float r48383 = r48382 + r48379;
        float r48384 = t;
        float r48385 = r48383 + r48384;
        float r48386 = r48378 * r48385;
        float r48387 = 5.0;
        float r48388 = r48379 * r48387;
        float r48389 = r48386 + r48388;
        return r48389;
}

double f_id(double x, double y, double z, double t) {
        double r48390 = x;
        double r48391 = y;
        double r48392 = z;
        double r48393 = r48391 + r48392;
        double r48394 = r48393 + r48392;
        double r48395 = r48394 + r48391;
        double r48396 = t;
        double r48397 = r48395 + r48396;
        double r48398 = r48390 * r48397;
        double r48399 = 5.0;
        double r48400 = r48391 * r48399;
        double r48401 = r48398 + r48400;
        return r48401;
}


double f_of(float x, float y, float z, float t) {
        float r48402 = x;
        float r48403 = y;
        float r48404 = z;
        float r48405 = r48403 + r48404;
        float r48406 = r48405 + r48404;
        float r48407 = r48406 + r48403;
        float r48408 = t;
        float r48409 = r48407 + r48408;
        float r48410 = r48402 * r48409;
        float r48411 = 5.0;
        float r48412 = r48403 * r48411;
        float r48413 = r48410 + r48412;
        return r48413;
}

double f_od(double x, double y, double z, double t) {
        double r48414 = x;
        double r48415 = y;
        double r48416 = z;
        double r48417 = r48415 + r48416;
        double r48418 = r48417 + r48416;
        double r48419 = r48418 + r48415;
        double r48420 = t;
        double r48421 = r48419 + r48420;
        double r48422 = r48414 * r48421;
        double r48423 = 5.0;
        double r48424 = r48415 * r48423;
        double r48425 = r48422 + r48424;
        return r48425;
}

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 r48426, r48427, r48428, r48429, r48430, r48431, r48432, r48433, r48434, r48435, r48436, r48437;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(1424);
        mpfr_init(r48426);
        mpfr_init(r48427);
        mpfr_init(r48428);
        mpfr_init(r48429);
        mpfr_init(r48430);
        mpfr_init(r48431);
        mpfr_init(r48432);
        mpfr_init(r48433);
        mpfr_init(r48434);
        mpfr_init_set_str(r48435, "5.0", 10, MPFR_RNDN);
        mpfr_init(r48436);
        mpfr_init(r48437);
}

double f_im(double x, double y, double z, double t) {
        mpfr_set_d(r48426, x, MPFR_RNDN);
        mpfr_set_d(r48427, y, MPFR_RNDN);
        mpfr_set_d(r48428, z, MPFR_RNDN);
        mpfr_add(r48429, r48427, r48428, MPFR_RNDN);
        mpfr_add(r48430, r48429, r48428, MPFR_RNDN);
        mpfr_add(r48431, r48430, r48427, MPFR_RNDN);
        mpfr_set_d(r48432, t, MPFR_RNDN);
        mpfr_add(r48433, r48431, r48432, MPFR_RNDN);
        mpfr_mul(r48434, r48426, r48433, MPFR_RNDN);
        ;
        mpfr_mul(r48436, r48427, r48435, MPFR_RNDN);
        mpfr_add(r48437, r48434, r48436, MPFR_RNDN);
        return mpfr_get_d(r48437, MPFR_RNDN);
}

static mpfr_t r48438, r48439, r48440, r48441, r48442, r48443, r48444, r48445, r48446, r48447, r48448, r48449;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(1424);
        mpfr_init(r48438);
        mpfr_init(r48439);
        mpfr_init(r48440);
        mpfr_init(r48441);
        mpfr_init(r48442);
        mpfr_init(r48443);
        mpfr_init(r48444);
        mpfr_init(r48445);
        mpfr_init(r48446);
        mpfr_init_set_str(r48447, "5.0", 10, MPFR_RNDN);
        mpfr_init(r48448);
        mpfr_init(r48449);
}

double f_fm(double x, double y, double z, double t) {
        mpfr_set_d(r48438, x, MPFR_RNDN);
        mpfr_set_d(r48439, y, MPFR_RNDN);
        mpfr_set_d(r48440, z, MPFR_RNDN);
        mpfr_add(r48441, r48439, r48440, MPFR_RNDN);
        mpfr_add(r48442, r48441, r48440, MPFR_RNDN);
        mpfr_add(r48443, r48442, r48439, MPFR_RNDN);
        mpfr_set_d(r48444, t, MPFR_RNDN);
        mpfr_add(r48445, r48443, r48444, MPFR_RNDN);
        mpfr_mul(r48446, r48438, r48445, MPFR_RNDN);
        ;
        mpfr_mul(r48448, r48439, r48447, MPFR_RNDN);
        mpfr_add(r48449, r48446, r48448, MPFR_RNDN);
        return mpfr_get_d(r48449, MPFR_RNDN);
}

static mpfr_t r48450, r48451, r48452, r48453, r48454, r48455, r48456, r48457, r48458, r48459, r48460, r48461;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(1424);
        mpfr_init(r48450);
        mpfr_init(r48451);
        mpfr_init(r48452);
        mpfr_init(r48453);
        mpfr_init(r48454);
        mpfr_init(r48455);
        mpfr_init(r48456);
        mpfr_init(r48457);
        mpfr_init(r48458);
        mpfr_init_set_str(r48459, "5.0", 10, MPFR_RNDN);
        mpfr_init(r48460);
        mpfr_init(r48461);
}

double f_dm(double x, double y, double z, double t) {
        mpfr_set_d(r48450, x, MPFR_RNDN);
        mpfr_set_d(r48451, y, MPFR_RNDN);
        mpfr_set_d(r48452, z, MPFR_RNDN);
        mpfr_add(r48453, r48451, r48452, MPFR_RNDN);
        mpfr_add(r48454, r48453, r48452, MPFR_RNDN);
        mpfr_add(r48455, r48454, r48451, MPFR_RNDN);
        mpfr_set_d(r48456, t, MPFR_RNDN);
        mpfr_add(r48457, r48455, r48456, MPFR_RNDN);
        mpfr_mul(r48458, r48450, r48457, MPFR_RNDN);
        ;
        mpfr_mul(r48460, r48451, r48459, MPFR_RNDN);
        mpfr_add(r48461, r48458, r48460, MPFR_RNDN);
        return mpfr_get_d(r48461, MPFR_RNDN);
}

