#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 r49091 = x;
        float r49092 = y;
        float r49093 = z;
        float r49094 = r49092 + r49093;
        float r49095 = r49094 + r49093;
        float r49096 = r49095 + r49092;
        float r49097 = t;
        float r49098 = r49096 + r49097;
        float r49099 = r49091 * r49098;
        float r49100 = 5.0;
        float r49101 = r49092 * r49100;
        float r49102 = r49099 + r49101;
        return r49102;
}

double f_id(double x, double y, double z, double t) {
        double r49103 = x;
        double r49104 = y;
        double r49105 = z;
        double r49106 = r49104 + r49105;
        double r49107 = r49106 + r49105;
        double r49108 = r49107 + r49104;
        double r49109 = t;
        double r49110 = r49108 + r49109;
        double r49111 = r49103 * r49110;
        double r49112 = 5.0;
        double r49113 = r49104 * r49112;
        double r49114 = r49111 + r49113;
        return r49114;
}


double f_of(float x, float y, float z, float t) {
        float r49115 = x;
        float r49116 = y;
        float r49117 = z;
        float r49118 = r49116 + r49117;
        float r49119 = r49118 + r49117;
        float r49120 = r49119 + r49116;
        float r49121 = t;
        float r49122 = r49120 + r49121;
        float r49123 = r49115 * r49122;
        float r49124 = 5.0;
        float r49125 = r49116 * r49124;
        float r49126 = r49123 + r49125;
        return r49126;
}

double f_od(double x, double y, double z, double t) {
        double r49127 = x;
        double r49128 = y;
        double r49129 = z;
        double r49130 = r49128 + r49129;
        double r49131 = r49130 + r49129;
        double r49132 = r49131 + r49128;
        double r49133 = t;
        double r49134 = r49132 + r49133;
        double r49135 = r49127 * r49134;
        double r49136 = 5.0;
        double r49137 = r49128 * r49136;
        double r49138 = r49135 + r49137;
        return r49138;
}

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 r49139, r49140, r49141, r49142, r49143, r49144, r49145, r49146, r49147, r49148, r49149, r49150;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(1424);
        mpfr_init(r49139);
        mpfr_init(r49140);
        mpfr_init(r49141);
        mpfr_init(r49142);
        mpfr_init(r49143);
        mpfr_init(r49144);
        mpfr_init(r49145);
        mpfr_init(r49146);
        mpfr_init(r49147);
        mpfr_init_set_str(r49148, "5.0", 10, MPFR_RNDN);
        mpfr_init(r49149);
        mpfr_init(r49150);
}

double f_im(double x, double y, double z, double t) {
        mpfr_set_d(r49139, x, MPFR_RNDN);
        mpfr_set_d(r49140, y, MPFR_RNDN);
        mpfr_set_d(r49141, z, MPFR_RNDN);
        mpfr_add(r49142, r49140, r49141, MPFR_RNDN);
        mpfr_add(r49143, r49142, r49141, MPFR_RNDN);
        mpfr_add(r49144, r49143, r49140, MPFR_RNDN);
        mpfr_set_d(r49145, t, MPFR_RNDN);
        mpfr_add(r49146, r49144, r49145, MPFR_RNDN);
        mpfr_mul(r49147, r49139, r49146, MPFR_RNDN);
        ;
        mpfr_mul(r49149, r49140, r49148, MPFR_RNDN);
        mpfr_add(r49150, r49147, r49149, MPFR_RNDN);
        return mpfr_get_d(r49150, MPFR_RNDN);
}

static mpfr_t r49151, r49152, r49153, r49154, r49155, r49156, r49157, r49158, r49159, r49160, r49161, r49162;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(1424);
        mpfr_init(r49151);
        mpfr_init(r49152);
        mpfr_init(r49153);
        mpfr_init(r49154);
        mpfr_init(r49155);
        mpfr_init(r49156);
        mpfr_init(r49157);
        mpfr_init(r49158);
        mpfr_init(r49159);
        mpfr_init_set_str(r49160, "5.0", 10, MPFR_RNDN);
        mpfr_init(r49161);
        mpfr_init(r49162);
}

double f_fm(double x, double y, double z, double t) {
        mpfr_set_d(r49151, x, MPFR_RNDN);
        mpfr_set_d(r49152, y, MPFR_RNDN);
        mpfr_set_d(r49153, z, MPFR_RNDN);
        mpfr_add(r49154, r49152, r49153, MPFR_RNDN);
        mpfr_add(r49155, r49154, r49153, MPFR_RNDN);
        mpfr_add(r49156, r49155, r49152, MPFR_RNDN);
        mpfr_set_d(r49157, t, MPFR_RNDN);
        mpfr_add(r49158, r49156, r49157, MPFR_RNDN);
        mpfr_mul(r49159, r49151, r49158, MPFR_RNDN);
        ;
        mpfr_mul(r49161, r49152, r49160, MPFR_RNDN);
        mpfr_add(r49162, r49159, r49161, MPFR_RNDN);
        return mpfr_get_d(r49162, MPFR_RNDN);
}

static mpfr_t r49163, r49164, r49165, r49166, r49167, r49168, r49169, r49170, r49171, r49172, r49173, r49174;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(1424);
        mpfr_init(r49163);
        mpfr_init(r49164);
        mpfr_init(r49165);
        mpfr_init(r49166);
        mpfr_init(r49167);
        mpfr_init(r49168);
        mpfr_init(r49169);
        mpfr_init(r49170);
        mpfr_init(r49171);
        mpfr_init_set_str(r49172, "5.0", 10, MPFR_RNDN);
        mpfr_init(r49173);
        mpfr_init(r49174);
}

double f_dm(double x, double y, double z, double t) {
        mpfr_set_d(r49163, x, MPFR_RNDN);
        mpfr_set_d(r49164, y, MPFR_RNDN);
        mpfr_set_d(r49165, z, MPFR_RNDN);
        mpfr_add(r49166, r49164, r49165, MPFR_RNDN);
        mpfr_add(r49167, r49166, r49165, MPFR_RNDN);
        mpfr_add(r49168, r49167, r49164, MPFR_RNDN);
        mpfr_set_d(r49169, t, MPFR_RNDN);
        mpfr_add(r49170, r49168, r49169, MPFR_RNDN);
        mpfr_mul(r49171, r49163, r49170, MPFR_RNDN);
        ;
        mpfr_mul(r49173, r49164, r49172, MPFR_RNDN);
        mpfr_add(r49174, r49171, r49173, MPFR_RNDN);
        return mpfr_get_d(r49174, MPFR_RNDN);
}

