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

double f_if(float x, float y, float z) {
        float r48680 = x;
        float r48681 = y;
        float r48682 = z;
        float r48683 = r48681 + r48682;
        float r48684 = r48680 * r48683;
        float r48685 = 5.0;
        float r48686 = r48682 * r48685;
        float r48687 = r48684 + r48686;
        return r48687;
}

double f_id(double x, double y, double z) {
        double r48688 = x;
        double r48689 = y;
        double r48690 = z;
        double r48691 = r48689 + r48690;
        double r48692 = r48688 * r48691;
        double r48693 = 5.0;
        double r48694 = r48690 * r48693;
        double r48695 = r48692 + r48694;
        return r48695;
}


double f_of(float x, float y, float z) {
        float r48696 = x;
        float r48697 = y;
        float r48698 = z;
        float r48699 = r48697 + r48698;
        float r48700 = r48696 * r48699;
        float r48701 = 5.0;
        float r48702 = r48698 * r48701;
        float r48703 = r48700 + r48702;
        return r48703;
}

double f_od(double x, double y, double z) {
        double r48704 = x;
        double r48705 = y;
        double r48706 = z;
        double r48707 = r48705 + r48706;
        double r48708 = r48704 * r48707;
        double r48709 = 5.0;
        double r48710 = r48706 * r48709;
        double r48711 = r48708 + r48710;
        return r48711;
}

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 r48712, r48713, r48714, r48715, r48716, r48717, r48718, r48719;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(1424);
        mpfr_init(r48712);
        mpfr_init(r48713);
        mpfr_init(r48714);
        mpfr_init(r48715);
        mpfr_init(r48716);
        mpfr_init_set_str(r48717, "5.0", 10, MPFR_RNDN);
        mpfr_init(r48718);
        mpfr_init(r48719);
}

double f_im(double x, double y, double z) {
        mpfr_set_d(r48712, x, MPFR_RNDN);
        mpfr_set_d(r48713, y, MPFR_RNDN);
        mpfr_set_d(r48714, z, MPFR_RNDN);
        mpfr_add(r48715, r48713, r48714, MPFR_RNDN);
        mpfr_mul(r48716, r48712, r48715, MPFR_RNDN);
        ;
        mpfr_mul(r48718, r48714, r48717, MPFR_RNDN);
        mpfr_add(r48719, r48716, r48718, MPFR_RNDN);
        return mpfr_get_d(r48719, MPFR_RNDN);
}

static mpfr_t r48720, r48721, r48722, r48723, r48724, r48725, r48726, r48727;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(1424);
        mpfr_init(r48720);
        mpfr_init(r48721);
        mpfr_init(r48722);
        mpfr_init(r48723);
        mpfr_init(r48724);
        mpfr_init_set_str(r48725, "5.0", 10, MPFR_RNDN);
        mpfr_init(r48726);
        mpfr_init(r48727);
}

double f_fm(double x, double y, double z) {
        mpfr_set_d(r48720, x, MPFR_RNDN);
        mpfr_set_d(r48721, y, MPFR_RNDN);
        mpfr_set_d(r48722, z, MPFR_RNDN);
        mpfr_add(r48723, r48721, r48722, MPFR_RNDN);
        mpfr_mul(r48724, r48720, r48723, MPFR_RNDN);
        ;
        mpfr_mul(r48726, r48722, r48725, MPFR_RNDN);
        mpfr_add(r48727, r48724, r48726, MPFR_RNDN);
        return mpfr_get_d(r48727, MPFR_RNDN);
}

static mpfr_t r48728, r48729, r48730, r48731, r48732, r48733, r48734, r48735;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(1424);
        mpfr_init(r48728);
        mpfr_init(r48729);
        mpfr_init(r48730);
        mpfr_init(r48731);
        mpfr_init(r48732);
        mpfr_init_set_str(r48733, "5.0", 10, MPFR_RNDN);
        mpfr_init(r48734);
        mpfr_init(r48735);
}

double f_dm(double x, double y, double z) {
        mpfr_set_d(r48728, x, MPFR_RNDN);
        mpfr_set_d(r48729, y, MPFR_RNDN);
        mpfr_set_d(r48730, z, MPFR_RNDN);
        mpfr_add(r48731, r48729, r48730, MPFR_RNDN);
        mpfr_mul(r48732, r48728, r48731, MPFR_RNDN);
        ;
        mpfr_mul(r48734, r48730, r48733, MPFR_RNDN);
        mpfr_add(r48735, r48732, r48734, MPFR_RNDN);
        return mpfr_get_d(r48735, MPFR_RNDN);
}

