#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 r35808 = 500.0;
        float r35809 = x;
        float r35810 = y;
        float r35811 = r35809 - r35810;
        float r35812 = r35808 * r35811;
        return r35812;
}

double f_id(double x, double y) {
        double r35813 = 500.0;
        double r35814 = x;
        double r35815 = y;
        double r35816 = r35814 - r35815;
        double r35817 = r35813 * r35816;
        return r35817;
}


double f_of(float x, float y) {
        float r35818 = 500.0;
        float r35819 = x;
        float r35820 = y;
        float r35821 = r35819 - r35820;
        float r35822 = r35818 * r35821;
        return r35822;
}

double f_od(double x, double y) {
        double r35823 = 500.0;
        double r35824 = x;
        double r35825 = y;
        double r35826 = r35824 - r35825;
        double r35827 = r35823 * r35826;
        return r35827;
}

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 r35828, r35829, r35830, r35831, r35832;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(2448);
        mpfr_init_set_str(r35828, "500.0", 10, MPFR_RNDN);
        mpfr_init(r35829);
        mpfr_init(r35830);
        mpfr_init(r35831);
        mpfr_init(r35832);
}

double f_im(double x, double y) {
        ;
        mpfr_set_d(r35829, x, MPFR_RNDN);
        mpfr_set_d(r35830, y, MPFR_RNDN);
        mpfr_sub(r35831, r35829, r35830, MPFR_RNDN);
        mpfr_mul(r35832, r35828, r35831, MPFR_RNDN);
        return mpfr_get_d(r35832, MPFR_RNDN);
}

static mpfr_t r35833, r35834, r35835, r35836, r35837;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(2448);
        mpfr_init_set_str(r35833, "500.0", 10, MPFR_RNDN);
        mpfr_init(r35834);
        mpfr_init(r35835);
        mpfr_init(r35836);
        mpfr_init(r35837);
}

double f_fm(double x, double y) {
        ;
        mpfr_set_d(r35834, x, MPFR_RNDN);
        mpfr_set_d(r35835, y, MPFR_RNDN);
        mpfr_sub(r35836, r35834, r35835, MPFR_RNDN);
        mpfr_mul(r35837, r35833, r35836, MPFR_RNDN);
        return mpfr_get_d(r35837, MPFR_RNDN);
}

static mpfr_t r35838, r35839, r35840, r35841, r35842;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(2448);
        mpfr_init_set_str(r35838, "500.0", 10, MPFR_RNDN);
        mpfr_init(r35839);
        mpfr_init(r35840);
        mpfr_init(r35841);
        mpfr_init(r35842);
}

double f_dm(double x, double y) {
        ;
        mpfr_set_d(r35839, x, MPFR_RNDN);
        mpfr_set_d(r35840, y, MPFR_RNDN);
        mpfr_sub(r35841, r35839, r35840, MPFR_RNDN);
        mpfr_mul(r35842, r35838, r35841, MPFR_RNDN);
        return mpfr_get_d(r35842, MPFR_RNDN);
}

