#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 r56915 = 1.0f;
        float r56916 = x;
        float r56917 = r56915 - r56916;
        float r56918 = y;
        float r56919 = r56917 - r56918;
        return r56919;
}

double f_id(double x, double y) {
        double r56920 = 1.0;
        double r56921 = x;
        double r56922 = r56920 - r56921;
        double r56923 = y;
        double r56924 = r56922 - r56923;
        return r56924;
}


double f_of(float x, float y) {
        float r56925 = 1.0f;
        float r56926 = x;
        float r56927 = r56925 - r56926;
        float r56928 = y;
        float r56929 = r56927 - r56928;
        return r56929;
}

double f_od(double x, double y) {
        double r56930 = 1.0;
        double r56931 = x;
        double r56932 = r56930 - r56931;
        double r56933 = y;
        double r56934 = r56932 - r56933;
        return r56934;
}

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 r56935, r56936, r56937, r56938, r56939;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(144);
        mpfr_init_set_str(r56935, "1.0", 10, MPFR_RNDN);
        mpfr_init(r56936);
        mpfr_init(r56937);
        mpfr_init(r56938);
        mpfr_init(r56939);
}

double f_im(double x, double y) {
        ;
        mpfr_set_d(r56936, x, MPFR_RNDN);
        mpfr_sub(r56937, r56935, r56936, MPFR_RNDN);
        mpfr_set_d(r56938, y, MPFR_RNDN);
        mpfr_sub(r56939, r56937, r56938, MPFR_RNDN);
        return mpfr_get_d(r56939, MPFR_RNDN);
}

static mpfr_t r56940, r56941, r56942, r56943, r56944;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(144);
        mpfr_init_set_str(r56940, "1.0", 10, MPFR_RNDN);
        mpfr_init(r56941);
        mpfr_init(r56942);
        mpfr_init(r56943);
        mpfr_init(r56944);
}

double f_fm(double x, double y) {
        ;
        mpfr_set_d(r56941, x, MPFR_RNDN);
        mpfr_sub(r56942, r56940, r56941, MPFR_RNDN);
        mpfr_set_d(r56943, y, MPFR_RNDN);
        mpfr_sub(r56944, r56942, r56943, MPFR_RNDN);
        return mpfr_get_d(r56944, MPFR_RNDN);
}

static mpfr_t r56945, r56946, r56947, r56948, r56949;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(144);
        mpfr_init_set_str(r56945, "1.0", 10, MPFR_RNDN);
        mpfr_init(r56946);
        mpfr_init(r56947);
        mpfr_init(r56948);
        mpfr_init(r56949);
}

double f_dm(double x, double y) {
        ;
        mpfr_set_d(r56946, x, MPFR_RNDN);
        mpfr_sub(r56947, r56945, r56946, MPFR_RNDN);
        mpfr_set_d(r56948, y, MPFR_RNDN);
        mpfr_sub(r56949, r56947, r56948, MPFR_RNDN);
        return mpfr_get_d(r56949, MPFR_RNDN);
}

