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

char *name = "Graphics.Rendering.Chart.Plot.Pie:renderPie from Chart-1.5.3";

double f_if(float x, float y) {
        float r49840 = x;
        float r49841 = y;
        float r49842 = r49840 + r49841;
        float r49843 = r49842 - r49840;
        return r49843;
}

double f_id(double x, double y) {
        double r49844 = x;
        double r49845 = y;
        double r49846 = r49844 + r49845;
        double r49847 = r49846 - r49844;
        return r49847;
}


double f_of(float __attribute__((unused)) x, float y) {
        float r49848 = y;
        float r49849 = 0;
        float r49850 = r49848 - r49849;
        return r49850;
}

double f_od(double __attribute__((unused)) x, double y) {
        double r49851 = y;
        double r49852 = 0;
        double r49853 = r49851 - r49852;
        return r49853;
}

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 r49854, r49855, r49856, r49857;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(2448);
        mpfr_init(r49854);
        mpfr_init(r49855);
        mpfr_init(r49856);
        mpfr_init(r49857);
}

double f_im(double x, double y) {
        mpfr_set_d(r49854, x, MPFR_RNDN);
        mpfr_set_d(r49855, y, MPFR_RNDN);
        mpfr_add(r49856, r49854, r49855, MPFR_RNDN);
        mpfr_sub(r49857, r49856, r49854, MPFR_RNDN);
        return mpfr_get_d(r49857, MPFR_RNDN);
}

static mpfr_t r49858, r49859, r49860;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(2448);
        mpfr_init(r49858);
        mpfr_init_set_str(r49859, "0", 10, MPFR_RNDN);
        mpfr_init(r49860);
}

double f_fm(double __attribute__((unused)) x, double y) {
        mpfr_set_d(r49858, y, MPFR_RNDN);
        ;
        mpfr_sub(r49860, r49858, r49859, MPFR_RNDN);
        return mpfr_get_d(r49860, MPFR_RNDN);
}

static mpfr_t r49861, r49862, r49863;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(2448);
        mpfr_init(r49861);
        mpfr_init_set_str(r49862, "0", 10, MPFR_RNDN);
        mpfr_init(r49863);
}

double f_dm(double __attribute__((unused)) x, double y) {
        mpfr_set_d(r49861, y, MPFR_RNDN);
        ;
        mpfr_sub(r49863, r49861, r49862, MPFR_RNDN);
        return mpfr_get_d(r49863, MPFR_RNDN);
}

