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

char *name = "Data.Colour.CIE:cieLABView from colour-2.3.3, B";

double f_if(float x, float y) {
        float r35358 = 500.0;
        float r35359 = x;
        float r35360 = y;
        float r35361 = r35359 - r35360;
        float r35362 = r35358 * r35361;
        return r35362;
}

double f_id(double x, double y) {
        double r35363 = 500.0;
        double r35364 = x;
        double r35365 = y;
        double r35366 = r35364 - r35365;
        double r35367 = r35363 * r35366;
        return r35367;
}


double f_of(float x, float y) {
        float r35368 = 500.0;
        float r35369 = x;
        float r35370 = y;
        float r35371 = r35369 - r35370;
        float r35372 = r35368 * r35371;
        return r35372;
}

double f_od(double x, double y) {
        double r35373 = 500.0;
        double r35374 = x;
        double r35375 = y;
        double r35376 = r35374 - r35375;
        double r35377 = r35373 * r35376;
        return r35377;
}

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 r35378, r35379, r35380, r35381, r35382;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(2448);
        mpfr_init_set_str(r35378, "500.0", 10, MPFR_RNDN);
        mpfr_init(r35379);
        mpfr_init(r35380);
        mpfr_init(r35381);
        mpfr_init(r35382);
}

double f_im(double x, double y) {
        ;
        mpfr_set_d(r35379, x, MPFR_RNDN);
        mpfr_set_d(r35380, y, MPFR_RNDN);
        mpfr_sub(r35381, r35379, r35380, MPFR_RNDN);
        mpfr_mul(r35382, r35378, r35381, MPFR_RNDN);
        return mpfr_get_d(r35382, MPFR_RNDN);
}

static mpfr_t r35383, r35384, r35385, r35386, r35387;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(2448);
        mpfr_init_set_str(r35383, "500.0", 10, MPFR_RNDN);
        mpfr_init(r35384);
        mpfr_init(r35385);
        mpfr_init(r35386);
        mpfr_init(r35387);
}

double f_fm(double x, double y) {
        ;
        mpfr_set_d(r35384, x, MPFR_RNDN);
        mpfr_set_d(r35385, y, MPFR_RNDN);
        mpfr_sub(r35386, r35384, r35385, MPFR_RNDN);
        mpfr_mul(r35387, r35383, r35386, MPFR_RNDN);
        return mpfr_get_d(r35387, MPFR_RNDN);
}

static mpfr_t r35388, r35389, r35390, r35391, r35392;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(2448);
        mpfr_init_set_str(r35388, "500.0", 10, MPFR_RNDN);
        mpfr_init(r35389);
        mpfr_init(r35390);
        mpfr_init(r35391);
        mpfr_init(r35392);
}

double f_dm(double x, double y) {
        ;
        mpfr_set_d(r35389, x, MPFR_RNDN);
        mpfr_set_d(r35390, y, MPFR_RNDN);
        mpfr_sub(r35391, r35389, r35390, MPFR_RNDN);
        mpfr_mul(r35392, r35388, r35391, MPFR_RNDN);
        return mpfr_get_d(r35392, MPFR_RNDN);
}

