#include <tgmath.h>
#include <gmp.h>
#include <mpfr.h>
#include <stdio.h>
#include <stdbool.h>

char *name = "Graphics.Rendering.Plot.Render.Plot.Legend:renderLegendInside from plot-0.2.3.4";

double f_if(float x, float y, float z) {
        float r48848 = x;
        float r48849 = y;
        float r48850 = r48848 + r48849;
        float r48851 = r48850 + r48849;
        float r48852 = r48851 + r48848;
        float r48853 = z;
        float r48854 = r48852 + r48853;
        float r48855 = r48854 + r48848;
        return r48855;
}

double f_id(double x, double y, double z) {
        double r48856 = x;
        double r48857 = y;
        double r48858 = r48856 + r48857;
        double r48859 = r48858 + r48857;
        double r48860 = r48859 + r48856;
        double r48861 = z;
        double r48862 = r48860 + r48861;
        double r48863 = r48862 + r48856;
        return r48863;
}


double f_of(float x, float y, float z) {
        float r48864 = x;
        float r48865 = y;
        float r48866 = r48864 + r48865;
        float r48867 = r48866 + r48865;
        float r48868 = r48867 + r48864;
        float r48869 = z;
        float r48870 = r48868 + r48869;
        float r48871 = r48870 + r48864;
        return r48871;
}

double f_od(double x, double y, double z) {
        double r48872 = x;
        double r48873 = y;
        double r48874 = r48872 + r48873;
        double r48875 = r48874 + r48873;
        double r48876 = r48875 + r48872;
        double r48877 = z;
        double r48878 = r48876 + r48877;
        double r48879 = r48878 + r48872;
        return r48879;
}

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 r48880, r48881, r48882, r48883, r48884, r48885, r48886, r48887;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(2192);
        mpfr_init(r48880);
        mpfr_init(r48881);
        mpfr_init(r48882);
        mpfr_init(r48883);
        mpfr_init(r48884);
        mpfr_init(r48885);
        mpfr_init(r48886);
        mpfr_init(r48887);
}

double f_im(double x, double y, double z) {
        mpfr_set_d(r48880, x, MPFR_RNDN);
        mpfr_set_d(r48881, y, MPFR_RNDN);
        mpfr_add(r48882, r48880, r48881, MPFR_RNDN);
        mpfr_add(r48883, r48882, r48881, MPFR_RNDN);
        mpfr_add(r48884, r48883, r48880, MPFR_RNDN);
        mpfr_set_d(r48885, z, MPFR_RNDN);
        mpfr_add(r48886, r48884, r48885, MPFR_RNDN);
        mpfr_add(r48887, r48886, r48880, MPFR_RNDN);
        return mpfr_get_d(r48887, MPFR_RNDN);
}

static mpfr_t r48888, r48889, r48890, r48891, r48892, r48893, r48894, r48895;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(2192);
        mpfr_init(r48888);
        mpfr_init(r48889);
        mpfr_init(r48890);
        mpfr_init(r48891);
        mpfr_init(r48892);
        mpfr_init(r48893);
        mpfr_init(r48894);
        mpfr_init(r48895);
}

double f_fm(double x, double y, double z) {
        mpfr_set_d(r48888, x, MPFR_RNDN);
        mpfr_set_d(r48889, y, MPFR_RNDN);
        mpfr_add(r48890, r48888, r48889, MPFR_RNDN);
        mpfr_add(r48891, r48890, r48889, MPFR_RNDN);
        mpfr_add(r48892, r48891, r48888, MPFR_RNDN);
        mpfr_set_d(r48893, z, MPFR_RNDN);
        mpfr_add(r48894, r48892, r48893, MPFR_RNDN);
        mpfr_add(r48895, r48894, r48888, MPFR_RNDN);
        return mpfr_get_d(r48895, MPFR_RNDN);
}

static mpfr_t r48896, r48897, r48898, r48899, r48900, r48901, r48902, r48903;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(2192);
        mpfr_init(r48896);
        mpfr_init(r48897);
        mpfr_init(r48898);
        mpfr_init(r48899);
        mpfr_init(r48900);
        mpfr_init(r48901);
        mpfr_init(r48902);
        mpfr_init(r48903);
}

double f_dm(double x, double y, double z) {
        mpfr_set_d(r48896, x, MPFR_RNDN);
        mpfr_set_d(r48897, y, MPFR_RNDN);
        mpfr_add(r48898, r48896, r48897, MPFR_RNDN);
        mpfr_add(r48899, r48898, r48897, MPFR_RNDN);
        mpfr_add(r48900, r48899, r48896, MPFR_RNDN);
        mpfr_set_d(r48901, z, MPFR_RNDN);
        mpfr_add(r48902, r48900, r48901, MPFR_RNDN);
        mpfr_add(r48903, r48902, r48896, MPFR_RNDN);
        return mpfr_get_d(r48903, MPFR_RNDN);
}

