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

char *name = "Data.Colour.RGBSpace.HSL:hsl from colour-2.3.3, F";

double f_if(float x) {
        float r55765 = x;
        float r55766 = 1.0f;
        float r55767 = 3.0f;
        float r55768 = r55766 / r55767;
        float r55769 = r55765 + r55768;
        return r55769;
}

double f_id(double x) {
        double r55770 = x;
        double r55771 = 1.0;
        double r55772 = 3.0;
        double r55773 = r55771 / r55772;
        double r55774 = r55770 + r55773;
        return r55774;
}


double f_of(float x) {
        float r55775 = x;
        float r55776 = 1.0f;
        float r55777 = 3.0f;
        float r55778 = r55776 / r55777;
        float r55779 = r55775 + r55778;
        return r55779;
}

double f_od(double x) {
        double r55780 = x;
        double r55781 = 1.0;
        double r55782 = 3.0;
        double r55783 = r55781 / r55782;
        double r55784 = r55780 + r55783;
        return r55784;
}

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 r55785, r55786, r55787, r55788, r55789;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(144);
        mpfr_init(r55785);
        mpfr_init_set_str(r55786, "1.0", 10, MPFR_RNDN);
        mpfr_init_set_str(r55787, "3.0", 10, MPFR_RNDN);
        mpfr_init(r55788);
        mpfr_init(r55789);
}

double f_im(double x) {
        mpfr_set_d(r55785, x, MPFR_RNDN);
        ;
        ;
        mpfr_div(r55788, r55786, r55787, MPFR_RNDN);
        mpfr_add(r55789, r55785, r55788, MPFR_RNDN);
        return mpfr_get_d(r55789, MPFR_RNDN);
}

static mpfr_t r55790, r55791, r55792, r55793, r55794;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(144);
        mpfr_init(r55790);
        mpfr_init_set_str(r55791, "1.0", 10, MPFR_RNDN);
        mpfr_init_set_str(r55792, "3.0", 10, MPFR_RNDN);
        mpfr_init(r55793);
        mpfr_init(r55794);
}

double f_fm(double x) {
        mpfr_set_d(r55790, x, MPFR_RNDN);
        ;
        ;
        mpfr_div(r55793, r55791, r55792, MPFR_RNDN);
        mpfr_add(r55794, r55790, r55793, MPFR_RNDN);
        return mpfr_get_d(r55794, MPFR_RNDN);
}

static mpfr_t r55795, r55796, r55797, r55798, r55799;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(144);
        mpfr_init(r55795);
        mpfr_init_set_str(r55796, "1.0", 10, MPFR_RNDN);
        mpfr_init_set_str(r55797, "3.0", 10, MPFR_RNDN);
        mpfr_init(r55798);
        mpfr_init(r55799);
}

double f_dm(double x) {
        mpfr_set_d(r55795, x, MPFR_RNDN);
        ;
        ;
        mpfr_div(r55798, r55796, r55797, MPFR_RNDN);
        mpfr_add(r55799, r55795, r55798, MPFR_RNDN);
        return mpfr_get_d(r55799, MPFR_RNDN);
}

