#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 r35142 = x;
        float r35143 = 1.0;
        float r35144 = 3.0;
        float r35145 = r35143 / r35144;
        float r35146 = r35142 + r35145;
        return r35146;
}

double f_id(double x) {
        double r35147 = x;
        double r35148 = 1.0;
        double r35149 = 3.0;
        double r35150 = r35148 / r35149;
        double r35151 = r35147 + r35150;
        return r35151;
}


double f_of(float x) {
        float r35152 = x;
        float r35153 = 1.0;
        float r35154 = 3.0;
        float r35155 = r35153 / r35154;
        float r35156 = r35152 + r35155;
        return r35156;
}

double f_od(double x) {
        double r35157 = x;
        double r35158 = 1.0;
        double r35159 = 3.0;
        double r35160 = r35158 / r35159;
        double r35161 = r35157 + r35160;
        return r35161;
}

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 r35162, r35163, r35164, r35165, r35166;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(400);
        mpfr_init(r35162);
        mpfr_init_set_str(r35163, "1.0", 10, MPFR_RNDN);
        mpfr_init_set_str(r35164, "3.0", 10, MPFR_RNDN);
        mpfr_init(r35165);
        mpfr_init(r35166);
}

double f_im(double x) {
        mpfr_set_d(r35162, x, MPFR_RNDN);
        ;
        ;
        mpfr_div(r35165, r35163, r35164, MPFR_RNDN);
        mpfr_add(r35166, r35162, r35165, MPFR_RNDN);
        return mpfr_get_d(r35166, MPFR_RNDN);
}

static mpfr_t r35167, r35168, r35169, r35170, r35171;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(400);
        mpfr_init(r35167);
        mpfr_init_set_str(r35168, "1.0", 10, MPFR_RNDN);
        mpfr_init_set_str(r35169, "3.0", 10, MPFR_RNDN);
        mpfr_init(r35170);
        mpfr_init(r35171);
}

double f_fm(double x) {
        mpfr_set_d(r35167, x, MPFR_RNDN);
        ;
        ;
        mpfr_div(r35170, r35168, r35169, MPFR_RNDN);
        mpfr_add(r35171, r35167, r35170, MPFR_RNDN);
        return mpfr_get_d(r35171, MPFR_RNDN);
}

static mpfr_t r35172, r35173, r35174, r35175, r35176;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(400);
        mpfr_init(r35172);
        mpfr_init_set_str(r35173, "1.0", 10, MPFR_RNDN);
        mpfr_init_set_str(r35174, "3.0", 10, MPFR_RNDN);
        mpfr_init(r35175);
        mpfr_init(r35176);
}

double f_dm(double x) {
        mpfr_set_d(r35172, x, MPFR_RNDN);
        ;
        ;
        mpfr_div(r35175, r35173, r35174, MPFR_RNDN);
        mpfr_add(r35176, r35172, r35175, MPFR_RNDN);
        return mpfr_get_d(r35176, MPFR_RNDN);
}

