#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 r48736 = x;
        float r48737 = y;
        float r48738 = z;
        float r48739 = r48737 + r48738;
        float r48740 = r48739 + r48738;
        float r48741 = r48740 + r48737;
        float r48742 = t;
        float r48743 = r48741 + r48742;
        float r48744 = r48736 * r48743;
        float r48745 = 5.0;
        float r48746 = r48737 * r48745;
        float r48747 = r48744 + r48746;
        return r48747;
}

double f_id(double x, double y, double z, double t) {
        double r48748 = x;
        double r48749 = y;
        double r48750 = z;
        double r48751 = r48749 + r48750;
        double r48752 = r48751 + r48750;
        double r48753 = r48752 + r48749;
        double r48754 = t;
        double r48755 = r48753 + r48754;
        double r48756 = r48748 * r48755;
        double r48757 = 5.0;
        double r48758 = r48749 * r48757;
        double r48759 = r48756 + r48758;
        return r48759;
}


double f_of(float x, float y, float z, float t) {
        float r48760 = x;
        float r48761 = y;
        float r48762 = z;
        float r48763 = r48761 + r48762;
        float r48764 = r48763 + r48762;
        float r48765 = r48764 + r48761;
        float r48766 = t;
        float r48767 = r48765 + r48766;
        float r48768 = r48760 * r48767;
        float r48769 = 5.0;
        float r48770 = r48761 * r48769;
        float r48771 = r48768 + r48770;
        return r48771;
}

double f_od(double x, double y, double z, double t) {
        double r48772 = x;
        double r48773 = y;
        double r48774 = z;
        double r48775 = r48773 + r48774;
        double r48776 = r48775 + r48774;
        double r48777 = r48776 + r48773;
        double r48778 = t;
        double r48779 = r48777 + r48778;
        double r48780 = r48772 * r48779;
        double r48781 = 5.0;
        double r48782 = r48773 * r48781;
        double r48783 = r48780 + r48782;
        return r48783;
}

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 r48784, r48785, r48786, r48787, r48788, r48789, r48790, r48791, r48792, r48793, r48794, r48795;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(1424);
        mpfr_init(r48784);
        mpfr_init(r48785);
        mpfr_init(r48786);
        mpfr_init(r48787);
        mpfr_init(r48788);
        mpfr_init(r48789);
        mpfr_init(r48790);
        mpfr_init(r48791);
        mpfr_init(r48792);
        mpfr_init_set_str(r48793, "5.0", 10, MPFR_RNDN);
        mpfr_init(r48794);
        mpfr_init(r48795);
}

double f_im(double x, double y, double z, double t) {
        mpfr_set_d(r48784, x, MPFR_RNDN);
        mpfr_set_d(r48785, y, MPFR_RNDN);
        mpfr_set_d(r48786, z, MPFR_RNDN);
        mpfr_add(r48787, r48785, r48786, MPFR_RNDN);
        mpfr_add(r48788, r48787, r48786, MPFR_RNDN);
        mpfr_add(r48789, r48788, r48785, MPFR_RNDN);
        mpfr_set_d(r48790, t, MPFR_RNDN);
        mpfr_add(r48791, r48789, r48790, MPFR_RNDN);
        mpfr_mul(r48792, r48784, r48791, MPFR_RNDN);
        ;
        mpfr_mul(r48794, r48785, r48793, MPFR_RNDN);
        mpfr_add(r48795, r48792, r48794, MPFR_RNDN);
        return mpfr_get_d(r48795, MPFR_RNDN);
}

static mpfr_t r48796, r48797, r48798, r48799, r48800, r48801, r48802, r48803, r48804, r48805, r48806, r48807;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(1424);
        mpfr_init(r48796);
        mpfr_init(r48797);
        mpfr_init(r48798);
        mpfr_init(r48799);
        mpfr_init(r48800);
        mpfr_init(r48801);
        mpfr_init(r48802);
        mpfr_init(r48803);
        mpfr_init(r48804);
        mpfr_init_set_str(r48805, "5.0", 10, MPFR_RNDN);
        mpfr_init(r48806);
        mpfr_init(r48807);
}

double f_fm(double x, double y, double z, double t) {
        mpfr_set_d(r48796, x, MPFR_RNDN);
        mpfr_set_d(r48797, y, MPFR_RNDN);
        mpfr_set_d(r48798, z, MPFR_RNDN);
        mpfr_add(r48799, r48797, r48798, MPFR_RNDN);
        mpfr_add(r48800, r48799, r48798, MPFR_RNDN);
        mpfr_add(r48801, r48800, r48797, MPFR_RNDN);
        mpfr_set_d(r48802, t, MPFR_RNDN);
        mpfr_add(r48803, r48801, r48802, MPFR_RNDN);
        mpfr_mul(r48804, r48796, r48803, MPFR_RNDN);
        ;
        mpfr_mul(r48806, r48797, r48805, MPFR_RNDN);
        mpfr_add(r48807, r48804, r48806, MPFR_RNDN);
        return mpfr_get_d(r48807, MPFR_RNDN);
}

static mpfr_t r48808, r48809, r48810, r48811, r48812, r48813, r48814, r48815, r48816, r48817, r48818, r48819;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(1424);
        mpfr_init(r48808);
        mpfr_init(r48809);
        mpfr_init(r48810);
        mpfr_init(r48811);
        mpfr_init(r48812);
        mpfr_init(r48813);
        mpfr_init(r48814);
        mpfr_init(r48815);
        mpfr_init(r48816);
        mpfr_init_set_str(r48817, "5.0", 10, MPFR_RNDN);
        mpfr_init(r48818);
        mpfr_init(r48819);
}

double f_dm(double x, double y, double z, double t) {
        mpfr_set_d(r48808, x, MPFR_RNDN);
        mpfr_set_d(r48809, y, MPFR_RNDN);
        mpfr_set_d(r48810, z, MPFR_RNDN);
        mpfr_add(r48811, r48809, r48810, MPFR_RNDN);
        mpfr_add(r48812, r48811, r48810, MPFR_RNDN);
        mpfr_add(r48813, r48812, r48809, MPFR_RNDN);
        mpfr_set_d(r48814, t, MPFR_RNDN);
        mpfr_add(r48815, r48813, r48814, MPFR_RNDN);
        mpfr_mul(r48816, r48808, r48815, MPFR_RNDN);
        ;
        mpfr_mul(r48818, r48809, r48817, MPFR_RNDN);
        mpfr_add(r48819, r48816, r48818, MPFR_RNDN);
        return mpfr_get_d(r48819, MPFR_RNDN);
}

