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

char *name = "Data.Colour.CIE.Chromaticity:chromaCoords from colour-2.3.3";

double f_if(float x, float y) {
        float r35743 = 1.0;
        float r35744 = x;
        float r35745 = r35743 - r35744;
        float r35746 = y;
        float r35747 = r35745 - r35746;
        return r35747;
}

double f_id(double x, double y) {
        double r35748 = 1.0;
        double r35749 = x;
        double r35750 = r35748 - r35749;
        double r35751 = y;
        double r35752 = r35750 - r35751;
        return r35752;
}


double f_of(float x, float y) {
        float r35753 = 1.0;
        float r35754 = x;
        float r35755 = r35753 - r35754;
        float r35756 = y;
        float r35757 = r35755 - r35756;
        return r35757;
}

double f_od(double x, double y) {
        double r35758 = 1.0;
        double r35759 = x;
        double r35760 = r35758 - r35759;
        double r35761 = y;
        double r35762 = r35760 - r35761;
        return r35762;
}

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 r35763, r35764, r35765, r35766, r35767;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(400);
        mpfr_init_set_str(r35763, "1.0", 10, MPFR_RNDN);
        mpfr_init(r35764);
        mpfr_init(r35765);
        mpfr_init(r35766);
        mpfr_init(r35767);
}

double f_im(double x, double y) {
        ;
        mpfr_set_d(r35764, x, MPFR_RNDN);
        mpfr_sub(r35765, r35763, r35764, MPFR_RNDN);
        mpfr_set_d(r35766, y, MPFR_RNDN);
        mpfr_sub(r35767, r35765, r35766, MPFR_RNDN);
        return mpfr_get_d(r35767, MPFR_RNDN);
}

static mpfr_t r35768, r35769, r35770, r35771, r35772;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(400);
        mpfr_init_set_str(r35768, "1.0", 10, MPFR_RNDN);
        mpfr_init(r35769);
        mpfr_init(r35770);
        mpfr_init(r35771);
        mpfr_init(r35772);
}

double f_fm(double x, double y) {
        ;
        mpfr_set_d(r35769, x, MPFR_RNDN);
        mpfr_sub(r35770, r35768, r35769, MPFR_RNDN);
        mpfr_set_d(r35771, y, MPFR_RNDN);
        mpfr_sub(r35772, r35770, r35771, MPFR_RNDN);
        return mpfr_get_d(r35772, MPFR_RNDN);
}

static mpfr_t r35773, r35774, r35775, r35776, r35777;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(400);
        mpfr_init_set_str(r35773, "1.0", 10, MPFR_RNDN);
        mpfr_init(r35774);
        mpfr_init(r35775);
        mpfr_init(r35776);
        mpfr_init(r35777);
}

double f_dm(double x, double y) {
        ;
        mpfr_set_d(r35774, x, MPFR_RNDN);
        mpfr_sub(r35775, r35773, r35774, MPFR_RNDN);
        mpfr_set_d(r35776, y, MPFR_RNDN);
        mpfr_sub(r35777, r35775, r35776, MPFR_RNDN);
        return mpfr_get_d(r35777, MPFR_RNDN);
}

