#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, C";

double f_if(float x, float y) {
        float r35532 = 200.0;
        float r35533 = x;
        float r35534 = y;
        float r35535 = r35533 - r35534;
        float r35536 = r35532 * r35535;
        return r35536;
}

double f_id(double x, double y) {
        double r35537 = 200.0;
        double r35538 = x;
        double r35539 = y;
        double r35540 = r35538 - r35539;
        double r35541 = r35537 * r35540;
        return r35541;
}


double f_of(float x, float y) {
        float r35542 = 200.0;
        float r35543 = x;
        float r35544 = y;
        float r35545 = r35543 - r35544;
        float r35546 = r35542 * r35545;
        return r35546;
}

double f_od(double x, double y) {
        double r35547 = 200.0;
        double r35548 = x;
        double r35549 = y;
        double r35550 = r35548 - r35549;
        double r35551 = r35547 * r35550;
        return r35551;
}

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 r35552, r35553, r35554, r35555, r35556;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(2192);
        mpfr_init_set_str(r35552, "200.0", 10, MPFR_RNDN);
        mpfr_init(r35553);
        mpfr_init(r35554);
        mpfr_init(r35555);
        mpfr_init(r35556);
}

double f_im(double x, double y) {
        ;
        mpfr_set_d(r35553, x, MPFR_RNDN);
        mpfr_set_d(r35554, y, MPFR_RNDN);
        mpfr_sub(r35555, r35553, r35554, MPFR_RNDN);
        mpfr_mul(r35556, r35552, r35555, MPFR_RNDN);
        return mpfr_get_d(r35556, MPFR_RNDN);
}

static mpfr_t r35557, r35558, r35559, r35560, r35561;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(2192);
        mpfr_init_set_str(r35557, "200.0", 10, MPFR_RNDN);
        mpfr_init(r35558);
        mpfr_init(r35559);
        mpfr_init(r35560);
        mpfr_init(r35561);
}

double f_fm(double x, double y) {
        ;
        mpfr_set_d(r35558, x, MPFR_RNDN);
        mpfr_set_d(r35559, y, MPFR_RNDN);
        mpfr_sub(r35560, r35558, r35559, MPFR_RNDN);
        mpfr_mul(r35561, r35557, r35560, MPFR_RNDN);
        return mpfr_get_d(r35561, MPFR_RNDN);
}

static mpfr_t r35562, r35563, r35564, r35565, r35566;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(2192);
        mpfr_init_set_str(r35562, "200.0", 10, MPFR_RNDN);
        mpfr_init(r35563);
        mpfr_init(r35564);
        mpfr_init(r35565);
        mpfr_init(r35566);
}

double f_dm(double x, double y) {
        ;
        mpfr_set_d(r35563, x, MPFR_RNDN);
        mpfr_set_d(r35564, y, MPFR_RNDN);
        mpfr_sub(r35565, r35563, r35564, MPFR_RNDN);
        mpfr_mul(r35566, r35562, r35565, MPFR_RNDN);
        return mpfr_get_d(r35566, MPFR_RNDN);
}

