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

char *name = "Graphics.Rendering.Chart.Plot.Vectors:renderPlotVectors from Chart-1.5.3";

double f_if(float x, float y) {
        float r49743 = x;
        float r49744 = 1.0;
        float r49745 = r49744 - r49743;
        float r49746 = y;
        float r49747 = r49744 - r49746;
        float r49748 = r49745 * r49747;
        float r49749 = r49743 + r49748;
        return r49749;
}

double f_id(double x, double y) {
        double r49750 = x;
        double r49751 = 1.0;
        double r49752 = r49751 - r49750;
        double r49753 = y;
        double r49754 = r49751 - r49753;
        double r49755 = r49752 * r49754;
        double r49756 = r49750 + r49755;
        return r49756;
}


double f_of(float x, float y) {
        float r49757 = 1.0;
        float r49758 = y;
        float r49759 = x;
        float r49760 = r49757 - r49759;
        float r49761 = r49758 * r49760;
        float r49762 = r49757 - r49761;
        return r49762;
}

double f_od(double x, double y) {
        double r49763 = 1.0;
        double r49764 = y;
        double r49765 = x;
        double r49766 = r49763 - r49765;
        double r49767 = r49764 * r49766;
        double r49768 = r49763 - r49767;
        return r49768;
}

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 r49769, r49770, r49771, r49772, r49773, r49774, r49775;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(1424);
        mpfr_init(r49769);
        mpfr_init_set_str(r49770, "1.0", 10, MPFR_RNDN);
        mpfr_init(r49771);
        mpfr_init(r49772);
        mpfr_init(r49773);
        mpfr_init(r49774);
        mpfr_init(r49775);
}

double f_im(double x, double y) {
        mpfr_set_d(r49769, x, MPFR_RNDN);
        ;
        mpfr_sub(r49771, r49770, r49769, MPFR_RNDN);
        mpfr_set_d(r49772, y, MPFR_RNDN);
        mpfr_sub(r49773, r49770, r49772, MPFR_RNDN);
        mpfr_mul(r49774, r49771, r49773, MPFR_RNDN);
        mpfr_add(r49775, r49769, r49774, MPFR_RNDN);
        return mpfr_get_d(r49775, MPFR_RNDN);
}

static mpfr_t r49776, r49777, r49778, r49779, r49780, r49781;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(1424);
        mpfr_init_set_str(r49776, "1.0", 10, MPFR_RNDN);
        mpfr_init(r49777);
        mpfr_init(r49778);
        mpfr_init(r49779);
        mpfr_init(r49780);
        mpfr_init(r49781);
}

double f_fm(double x, double y) {
        ;
        mpfr_set_d(r49777, y, MPFR_RNDN);
        mpfr_set_d(r49778, x, MPFR_RNDN);
        mpfr_sub(r49779, r49776, r49778, MPFR_RNDN);
        mpfr_mul(r49780, r49777, r49779, MPFR_RNDN);
        mpfr_sub(r49781, r49776, r49780, MPFR_RNDN);
        return mpfr_get_d(r49781, MPFR_RNDN);
}

static mpfr_t r49782, r49783, r49784, r49785, r49786, r49787;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(1424);
        mpfr_init_set_str(r49782, "1.0", 10, MPFR_RNDN);
        mpfr_init(r49783);
        mpfr_init(r49784);
        mpfr_init(r49785);
        mpfr_init(r49786);
        mpfr_init(r49787);
}

double f_dm(double x, double y) {
        ;
        mpfr_set_d(r49783, y, MPFR_RNDN);
        mpfr_set_d(r49784, x, MPFR_RNDN);
        mpfr_sub(r49785, r49782, r49784, MPFR_RNDN);
        mpfr_mul(r49786, r49783, r49785, MPFR_RNDN);
        mpfr_sub(r49787, r49782, r49786, MPFR_RNDN);
        return mpfr_get_d(r49787, MPFR_RNDN);
}

