#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 r49064 = x;
        float r49065 = y;
        float r49066 = z;
        float r49067 = r49065 + r49066;
        float r49068 = r49064 * r49067;
        float r49069 = 5.0;
        float r49070 = r49066 * r49069;
        float r49071 = r49068 + r49070;
        return r49071;
}

double f_id(double x, double y, double z) {
        double r49072 = x;
        double r49073 = y;
        double r49074 = z;
        double r49075 = r49073 + r49074;
        double r49076 = r49072 * r49075;
        double r49077 = 5.0;
        double r49078 = r49074 * r49077;
        double r49079 = r49076 + r49078;
        return r49079;
}


double f_of(float x, float y, float z) {
        float r49080 = x;
        float r49081 = y;
        float r49082 = z;
        float r49083 = r49081 + r49082;
        float r49084 = r49080 * r49083;
        float r49085 = 5.0;
        float r49086 = r49082 * r49085;
        float r49087 = r49084 + r49086;
        return r49087;
}

double f_od(double x, double y, double z) {
        double r49088 = x;
        double r49089 = y;
        double r49090 = z;
        double r49091 = r49089 + r49090;
        double r49092 = r49088 * r49091;
        double r49093 = 5.0;
        double r49094 = r49090 * r49093;
        double r49095 = r49092 + r49094;
        return r49095;
}

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 r49096, r49097, r49098, r49099, r49100, r49101, r49102, r49103;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(1424);
        mpfr_init(r49096);
        mpfr_init(r49097);
        mpfr_init(r49098);
        mpfr_init(r49099);
        mpfr_init(r49100);
        mpfr_init_set_str(r49101, "5.0", 10, MPFR_RNDN);
        mpfr_init(r49102);
        mpfr_init(r49103);
}

double f_im(double x, double y, double z) {
        mpfr_set_d(r49096, x, MPFR_RNDN);
        mpfr_set_d(r49097, y, MPFR_RNDN);
        mpfr_set_d(r49098, z, MPFR_RNDN);
        mpfr_add(r49099, r49097, r49098, MPFR_RNDN);
        mpfr_mul(r49100, r49096, r49099, MPFR_RNDN);
        ;
        mpfr_mul(r49102, r49098, r49101, MPFR_RNDN);
        mpfr_add(r49103, r49100, r49102, MPFR_RNDN);
        return mpfr_get_d(r49103, MPFR_RNDN);
}

static mpfr_t r49104, r49105, r49106, r49107, r49108, r49109, r49110, r49111;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(1424);
        mpfr_init(r49104);
        mpfr_init(r49105);
        mpfr_init(r49106);
        mpfr_init(r49107);
        mpfr_init(r49108);
        mpfr_init_set_str(r49109, "5.0", 10, MPFR_RNDN);
        mpfr_init(r49110);
        mpfr_init(r49111);
}

double f_fm(double x, double y, double z) {
        mpfr_set_d(r49104, x, MPFR_RNDN);
        mpfr_set_d(r49105, y, MPFR_RNDN);
        mpfr_set_d(r49106, z, MPFR_RNDN);
        mpfr_add(r49107, r49105, r49106, MPFR_RNDN);
        mpfr_mul(r49108, r49104, r49107, MPFR_RNDN);
        ;
        mpfr_mul(r49110, r49106, r49109, MPFR_RNDN);
        mpfr_add(r49111, r49108, r49110, MPFR_RNDN);
        return mpfr_get_d(r49111, MPFR_RNDN);
}

static mpfr_t r49112, r49113, r49114, r49115, r49116, r49117, r49118, r49119;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(1424);
        mpfr_init(r49112);
        mpfr_init(r49113);
        mpfr_init(r49114);
        mpfr_init(r49115);
        mpfr_init(r49116);
        mpfr_init_set_str(r49117, "5.0", 10, MPFR_RNDN);
        mpfr_init(r49118);
        mpfr_init(r49119);
}

double f_dm(double x, double y, double z) {
        mpfr_set_d(r49112, x, MPFR_RNDN);
        mpfr_set_d(r49113, y, MPFR_RNDN);
        mpfr_set_d(r49114, z, MPFR_RNDN);
        mpfr_add(r49115, r49113, r49114, MPFR_RNDN);
        mpfr_mul(r49116, r49112, r49115, MPFR_RNDN);
        ;
        mpfr_mul(r49118, r49114, r49117, MPFR_RNDN);
        mpfr_add(r49119, r49116, r49118, MPFR_RNDN);
        return mpfr_get_d(r49119, MPFR_RNDN);
}

