#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 r35470 = x;
        float r35471 = 116.0;
        float r35472 = r35470 * r35471;
        float r35473 = 16.0;
        float r35474 = r35472 - r35473;
        return r35474;
}

double f_id(double x) {
        double r35475 = x;
        double r35476 = 116.0;
        double r35477 = r35475 * r35476;
        double r35478 = 16.0;
        double r35479 = r35477 - r35478;
        return r35479;
}


double f_of(float x) {
        float r35480 = x;
        float r35481 = 116.0;
        float r35482 = r35480 * r35481;
        float r35483 = 16.0;
        float r35484 = r35482 - r35483;
        return r35484;
}

double f_od(double x) {
        double r35485 = x;
        double r35486 = 116.0;
        double r35487 = r35485 * r35486;
        double r35488 = 16.0;
        double r35489 = r35487 - r35488;
        return r35489;
}

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 r35490, r35491, r35492, r35493, r35494;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(1424);
        mpfr_init(r35490);
        mpfr_init_set_str(r35491, "116.0", 10, MPFR_RNDN);
        mpfr_init(r35492);
        mpfr_init_set_str(r35493, "16.0", 10, MPFR_RNDN);
        mpfr_init(r35494);
}

double f_im(double x) {
        mpfr_set_d(r35490, x, MPFR_RNDN);
        ;
        mpfr_mul(r35492, r35490, r35491, MPFR_RNDN);
        ;
        mpfr_sub(r35494, r35492, r35493, MPFR_RNDN);
        return mpfr_get_d(r35494, MPFR_RNDN);
}

static mpfr_t r35495, r35496, r35497, r35498, r35499;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(1424);
        mpfr_init(r35495);
        mpfr_init_set_str(r35496, "116.0", 10, MPFR_RNDN);
        mpfr_init(r35497);
        mpfr_init_set_str(r35498, "16.0", 10, MPFR_RNDN);
        mpfr_init(r35499);
}

double f_fm(double x) {
        mpfr_set_d(r35495, x, MPFR_RNDN);
        ;
        mpfr_mul(r35497, r35495, r35496, MPFR_RNDN);
        ;
        mpfr_sub(r35499, r35497, r35498, MPFR_RNDN);
        return mpfr_get_d(r35499, MPFR_RNDN);
}

static mpfr_t r35500, r35501, r35502, r35503, r35504;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(1424);
        mpfr_init(r35500);
        mpfr_init_set_str(r35501, "116.0", 10, MPFR_RNDN);
        mpfr_init(r35502);
        mpfr_init_set_str(r35503, "16.0", 10, MPFR_RNDN);
        mpfr_init(r35504);
}

double f_dm(double x) {
        mpfr_set_d(r35500, x, MPFR_RNDN);
        ;
        mpfr_mul(r35502, r35500, r35501, MPFR_RNDN);
        ;
        mpfr_sub(r35504, r35502, r35503, MPFR_RNDN);
        return mpfr_get_d(r35504, MPFR_RNDN);
}

