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

char *name = "Data.Colour.CIE:lightness from colour-2.3.3";

double f_if(float x) {
        float r35366 = x;
        float r35367 = 116.0;
        float r35368 = r35366 * r35367;
        float r35369 = 16.0;
        float r35370 = r35368 - r35369;
        return r35370;
}

double f_id(double x) {
        double r35371 = x;
        double r35372 = 116.0;
        double r35373 = r35371 * r35372;
        double r35374 = 16.0;
        double r35375 = r35373 - r35374;
        return r35375;
}


double f_of(float x) {
        float r35376 = x;
        float r35377 = 116.0;
        float r35378 = r35376 * r35377;
        float r35379 = 16.0;
        float r35380 = r35378 - r35379;
        return r35380;
}

double f_od(double x) {
        double r35381 = x;
        double r35382 = 116.0;
        double r35383 = r35381 * r35382;
        double r35384 = 16.0;
        double r35385 = r35383 - r35384;
        return r35385;
}

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 r35386, r35387, r35388, r35389, r35390;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(1424);
        mpfr_init(r35386);
        mpfr_init_set_str(r35387, "116.0", 10, MPFR_RNDN);
        mpfr_init(r35388);
        mpfr_init_set_str(r35389, "16.0", 10, MPFR_RNDN);
        mpfr_init(r35390);
}

double f_im(double x) {
        mpfr_set_d(r35386, x, MPFR_RNDN);
        ;
        mpfr_mul(r35388, r35386, r35387, MPFR_RNDN);
        ;
        mpfr_sub(r35390, r35388, r35389, MPFR_RNDN);
        return mpfr_get_d(r35390, MPFR_RNDN);
}

static mpfr_t r35391, r35392, r35393, r35394, r35395;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(1424);
        mpfr_init(r35391);
        mpfr_init_set_str(r35392, "116.0", 10, MPFR_RNDN);
        mpfr_init(r35393);
        mpfr_init_set_str(r35394, "16.0", 10, MPFR_RNDN);
        mpfr_init(r35395);
}

double f_fm(double x) {
        mpfr_set_d(r35391, x, MPFR_RNDN);
        ;
        mpfr_mul(r35393, r35391, r35392, MPFR_RNDN);
        ;
        mpfr_sub(r35395, r35393, r35394, MPFR_RNDN);
        return mpfr_get_d(r35395, MPFR_RNDN);
}

static mpfr_t r35396, r35397, r35398, r35399, r35400;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(1424);
        mpfr_init(r35396);
        mpfr_init_set_str(r35397, "116.0", 10, MPFR_RNDN);
        mpfr_init(r35398);
        mpfr_init_set_str(r35399, "16.0", 10, MPFR_RNDN);
        mpfr_init(r35400);
}

double f_dm(double x) {
        mpfr_set_d(r35396, x, MPFR_RNDN);
        ;
        mpfr_mul(r35398, r35396, r35397, MPFR_RNDN);
        ;
        mpfr_sub(r35400, r35398, r35399, MPFR_RNDN);
        return mpfr_get_d(r35400, MPFR_RNDN);
}

