#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 r49120 = x;
        float r49121 = y;
        float r49122 = z;
        float r49123 = r49121 + r49122;
        float r49124 = r49123 + r49122;
        float r49125 = r49124 + r49121;
        float r49126 = t;
        float r49127 = r49125 + r49126;
        float r49128 = r49120 * r49127;
        float r49129 = 5.0;
        float r49130 = r49121 * r49129;
        float r49131 = r49128 + r49130;
        return r49131;
}

double f_id(double x, double y, double z, double t) {
        double r49132 = x;
        double r49133 = y;
        double r49134 = z;
        double r49135 = r49133 + r49134;
        double r49136 = r49135 + r49134;
        double r49137 = r49136 + r49133;
        double r49138 = t;
        double r49139 = r49137 + r49138;
        double r49140 = r49132 * r49139;
        double r49141 = 5.0;
        double r49142 = r49133 * r49141;
        double r49143 = r49140 + r49142;
        return r49143;
}


double f_of(float x, float y, float z, float t) {
        float r49144 = x;
        float r49145 = y;
        float r49146 = z;
        float r49147 = r49145 + r49146;
        float r49148 = r49147 + r49146;
        float r49149 = r49148 + r49145;
        float r49150 = t;
        float r49151 = r49149 + r49150;
        float r49152 = r49144 * r49151;
        float r49153 = 5.0;
        float r49154 = r49145 * r49153;
        float r49155 = r49152 + r49154;
        return r49155;
}

double f_od(double x, double y, double z, double t) {
        double r49156 = x;
        double r49157 = y;
        double r49158 = z;
        double r49159 = r49157 + r49158;
        double r49160 = r49159 + r49158;
        double r49161 = r49160 + r49157;
        double r49162 = t;
        double r49163 = r49161 + r49162;
        double r49164 = r49156 * r49163;
        double r49165 = 5.0;
        double r49166 = r49157 * r49165;
        double r49167 = r49164 + r49166;
        return r49167;
}

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 r49168, r49169, r49170, r49171, r49172, r49173, r49174, r49175, r49176, r49177, r49178, r49179;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(1424);
        mpfr_init(r49168);
        mpfr_init(r49169);
        mpfr_init(r49170);
        mpfr_init(r49171);
        mpfr_init(r49172);
        mpfr_init(r49173);
        mpfr_init(r49174);
        mpfr_init(r49175);
        mpfr_init(r49176);
        mpfr_init_set_str(r49177, "5.0", 10, MPFR_RNDN);
        mpfr_init(r49178);
        mpfr_init(r49179);
}

double f_im(double x, double y, double z, double t) {
        mpfr_set_d(r49168, x, MPFR_RNDN);
        mpfr_set_d(r49169, y, MPFR_RNDN);
        mpfr_set_d(r49170, z, MPFR_RNDN);
        mpfr_add(r49171, r49169, r49170, MPFR_RNDN);
        mpfr_add(r49172, r49171, r49170, MPFR_RNDN);
        mpfr_add(r49173, r49172, r49169, MPFR_RNDN);
        mpfr_set_d(r49174, t, MPFR_RNDN);
        mpfr_add(r49175, r49173, r49174, MPFR_RNDN);
        mpfr_mul(r49176, r49168, r49175, MPFR_RNDN);
        ;
        mpfr_mul(r49178, r49169, r49177, MPFR_RNDN);
        mpfr_add(r49179, r49176, r49178, MPFR_RNDN);
        return mpfr_get_d(r49179, MPFR_RNDN);
}

static mpfr_t r49180, r49181, r49182, r49183, r49184, r49185, r49186, r49187, r49188, r49189, r49190, r49191;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(1424);
        mpfr_init(r49180);
        mpfr_init(r49181);
        mpfr_init(r49182);
        mpfr_init(r49183);
        mpfr_init(r49184);
        mpfr_init(r49185);
        mpfr_init(r49186);
        mpfr_init(r49187);
        mpfr_init(r49188);
        mpfr_init_set_str(r49189, "5.0", 10, MPFR_RNDN);
        mpfr_init(r49190);
        mpfr_init(r49191);
}

double f_fm(double x, double y, double z, double t) {
        mpfr_set_d(r49180, x, MPFR_RNDN);
        mpfr_set_d(r49181, y, MPFR_RNDN);
        mpfr_set_d(r49182, z, MPFR_RNDN);
        mpfr_add(r49183, r49181, r49182, MPFR_RNDN);
        mpfr_add(r49184, r49183, r49182, MPFR_RNDN);
        mpfr_add(r49185, r49184, r49181, MPFR_RNDN);
        mpfr_set_d(r49186, t, MPFR_RNDN);
        mpfr_add(r49187, r49185, r49186, MPFR_RNDN);
        mpfr_mul(r49188, r49180, r49187, MPFR_RNDN);
        ;
        mpfr_mul(r49190, r49181, r49189, MPFR_RNDN);
        mpfr_add(r49191, r49188, r49190, MPFR_RNDN);
        return mpfr_get_d(r49191, MPFR_RNDN);
}

static mpfr_t r49192, r49193, r49194, r49195, r49196, r49197, r49198, r49199, r49200, r49201, r49202, r49203;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(1424);
        mpfr_init(r49192);
        mpfr_init(r49193);
        mpfr_init(r49194);
        mpfr_init(r49195);
        mpfr_init(r49196);
        mpfr_init(r49197);
        mpfr_init(r49198);
        mpfr_init(r49199);
        mpfr_init(r49200);
        mpfr_init_set_str(r49201, "5.0", 10, MPFR_RNDN);
        mpfr_init(r49202);
        mpfr_init(r49203);
}

double f_dm(double x, double y, double z, double t) {
        mpfr_set_d(r49192, x, MPFR_RNDN);
        mpfr_set_d(r49193, y, MPFR_RNDN);
        mpfr_set_d(r49194, z, MPFR_RNDN);
        mpfr_add(r49195, r49193, r49194, MPFR_RNDN);
        mpfr_add(r49196, r49195, r49194, MPFR_RNDN);
        mpfr_add(r49197, r49196, r49193, MPFR_RNDN);
        mpfr_set_d(r49198, t, MPFR_RNDN);
        mpfr_add(r49199, r49197, r49198, MPFR_RNDN);
        mpfr_mul(r49200, r49192, r49199, MPFR_RNDN);
        ;
        mpfr_mul(r49202, r49193, r49201, MPFR_RNDN);
        mpfr_add(r49203, r49200, r49202, MPFR_RNDN);
        return mpfr_get_d(r49203, MPFR_RNDN);
}

