#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 r35436 = 500.0;
        float r35437 = x;
        float r35438 = y;
        float r35439 = r35437 - r35438;
        float r35440 = r35436 * r35439;
        return r35440;
}

double f_id(double x, double y) {
        double r35441 = 500.0;
        double r35442 = x;
        double r35443 = y;
        double r35444 = r35442 - r35443;
        double r35445 = r35441 * r35444;
        return r35445;
}


double f_of(float x, float y) {
        float r35446 = 500.0;
        float r35447 = x;
        float r35448 = y;
        float r35449 = r35447 - r35448;
        float r35450 = r35446 * r35449;
        return r35450;
}

double f_od(double x, double y) {
        double r35451 = 500.0;
        double r35452 = x;
        double r35453 = y;
        double r35454 = r35452 - r35453;
        double r35455 = r35451 * r35454;
        return r35455;
}

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 r35456, r35457, r35458, r35459, r35460;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(2448);
        mpfr_init_set_str(r35456, "500.0", 10, MPFR_RNDN);
        mpfr_init(r35457);
        mpfr_init(r35458);
        mpfr_init(r35459);
        mpfr_init(r35460);
}

double f_im(double x, double y) {
        ;
        mpfr_set_d(r35457, x, MPFR_RNDN);
        mpfr_set_d(r35458, y, MPFR_RNDN);
        mpfr_sub(r35459, r35457, r35458, MPFR_RNDN);
        mpfr_mul(r35460, r35456, r35459, MPFR_RNDN);
        return mpfr_get_d(r35460, MPFR_RNDN);
}

static mpfr_t r35461, r35462, r35463, r35464, r35465;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(2448);
        mpfr_init_set_str(r35461, "500.0", 10, MPFR_RNDN);
        mpfr_init(r35462);
        mpfr_init(r35463);
        mpfr_init(r35464);
        mpfr_init(r35465);
}

double f_fm(double x, double y) {
        ;
        mpfr_set_d(r35462, x, MPFR_RNDN);
        mpfr_set_d(r35463, y, MPFR_RNDN);
        mpfr_sub(r35464, r35462, r35463, MPFR_RNDN);
        mpfr_mul(r35465, r35461, r35464, MPFR_RNDN);
        return mpfr_get_d(r35465, MPFR_RNDN);
}

static mpfr_t r35466, r35467, r35468, r35469, r35470;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(2448);
        mpfr_init_set_str(r35466, "500.0", 10, MPFR_RNDN);
        mpfr_init(r35467);
        mpfr_init(r35468);
        mpfr_init(r35469);
        mpfr_init(r35470);
}

double f_dm(double x, double y) {
        ;
        mpfr_set_d(r35467, x, MPFR_RNDN);
        mpfr_set_d(r35468, y, MPFR_RNDN);
        mpfr_sub(r35469, r35467, r35468, MPFR_RNDN);
        mpfr_mul(r35470, r35466, r35469, MPFR_RNDN);
        return mpfr_get_d(r35470, MPFR_RNDN);
}

