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

char *name = "Hakyll.Web.Tags:renderTagCloud from hakyll-4.7.2.3";

double f_if(float x, float y, float z, float t, float a) {
        float r32028 = x;
        float r32029 = y;
        float r32030 = z;
        float r32031 = r32029 - r32030;
        float r32032 = t;
        float r32033 = 1.0;
        float r32034 = r32032 + r32033;
        float r32035 = r32034 - r32030;
        float r32036 = r32031 / r32035;
        float r32037 = a;
        float r32038 = r32037 - r32028;
        float r32039 = r32036 * r32038;
        float r32040 = r32028 + r32039;
        return r32040;
}

double f_id(double x, double y, double z, double t, double a) {
        double r32041 = x;
        double r32042 = y;
        double r32043 = z;
        double r32044 = r32042 - r32043;
        double r32045 = t;
        double r32046 = 1.0;
        double r32047 = r32045 + r32046;
        double r32048 = r32047 - r32043;
        double r32049 = r32044 / r32048;
        double r32050 = a;
        double r32051 = r32050 - r32041;
        double r32052 = r32049 * r32051;
        double r32053 = r32041 + r32052;
        return r32053;
}


double f_of(float x, float y, float z, float t, float a) {
        float r32054 = x;
        float r32055 = 1;
        float r32056 = t;
        float r32057 = 1.0;
        float r32058 = r32056 + r32057;
        float r32059 = z;
        float r32060 = r32058 - r32059;
        float r32061 = cbrt(r32060);
        float r32062 = r32061 * r32061;
        float r32063 = r32055 / r32062;
        float r32064 = y;
        float r32065 = r32064 - r32059;
        float r32066 = r32065 / r32061;
        float r32067 = r32063 * r32066;
        float r32068 = a;
        float r32069 = r32068 - r32054;
        float r32070 = r32067 * r32069;
        float r32071 = r32054 + r32070;
        return r32071;
}

double f_od(double x, double y, double z, double t, double a) {
        double r32072 = x;
        double r32073 = 1;
        double r32074 = t;
        double r32075 = 1.0;
        double r32076 = r32074 + r32075;
        double r32077 = z;
        double r32078 = r32076 - r32077;
        double r32079 = cbrt(r32078);
        double r32080 = r32079 * r32079;
        double r32081 = r32073 / r32080;
        double r32082 = y;
        double r32083 = r32082 - r32077;
        double r32084 = r32083 / r32079;
        double r32085 = r32081 * r32084;
        double r32086 = a;
        double r32087 = r32086 - r32072;
        double r32088 = r32085 * r32087;
        double r32089 = r32072 + r32088;
        return r32089;
}

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 r32090, r32091, r32092, r32093, r32094, r32095, r32096, r32097, r32098, r32099, r32100, r32101, r32102;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(1424);
        mpfr_init(r32090);
        mpfr_init(r32091);
        mpfr_init(r32092);
        mpfr_init(r32093);
        mpfr_init(r32094);
        mpfr_init_set_str(r32095, "1.0", 10, MPFR_RNDN);
        mpfr_init(r32096);
        mpfr_init(r32097);
        mpfr_init(r32098);
        mpfr_init(r32099);
        mpfr_init(r32100);
        mpfr_init(r32101);
        mpfr_init(r32102);
}

double f_im(double x, double y, double z, double t, double a) {
        mpfr_set_d(r32090, x, MPFR_RNDN);
        mpfr_set_d(r32091, y, MPFR_RNDN);
        mpfr_set_d(r32092, z, MPFR_RNDN);
        mpfr_sub(r32093, r32091, r32092, MPFR_RNDN);
        mpfr_set_d(r32094, t, MPFR_RNDN);
        ;
        mpfr_add(r32096, r32094, r32095, MPFR_RNDN);
        mpfr_sub(r32097, r32096, r32092, MPFR_RNDN);
        mpfr_div(r32098, r32093, r32097, MPFR_RNDN);
        mpfr_set_d(r32099, a, MPFR_RNDN);
        mpfr_sub(r32100, r32099, r32090, MPFR_RNDN);
        mpfr_mul(r32101, r32098, r32100, MPFR_RNDN);
        mpfr_add(r32102, r32090, r32101, MPFR_RNDN);
        return mpfr_get_d(r32102, MPFR_RNDN);
}

static mpfr_t r32103, r32104, r32105, r32106, r32107, r32108, r32109, r32110, r32111, r32112, r32113, r32114, r32115, r32116, r32117, r32118, r32119, r32120;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(1424);
        mpfr_init(r32103);
        mpfr_init_set_str(r32104, "1", 10, MPFR_RNDN);
        mpfr_init(r32105);
        mpfr_init_set_str(r32106, "1.0", 10, MPFR_RNDN);
        mpfr_init(r32107);
        mpfr_init(r32108);
        mpfr_init(r32109);
        mpfr_init(r32110);
        mpfr_init(r32111);
        mpfr_init(r32112);
        mpfr_init(r32113);
        mpfr_init(r32114);
        mpfr_init(r32115);
        mpfr_init(r32116);
        mpfr_init(r32117);
        mpfr_init(r32118);
        mpfr_init(r32119);
        mpfr_init(r32120);
}

double f_fm(double x, double y, double z, double t, double a) {
        mpfr_set_d(r32103, x, MPFR_RNDN);
        ;
        mpfr_set_d(r32105, t, MPFR_RNDN);
        ;
        mpfr_add(r32107, r32105, r32106, MPFR_RNDN);
        mpfr_set_d(r32108, z, MPFR_RNDN);
        mpfr_sub(r32109, r32107, r32108, MPFR_RNDN);
        mpfr_cbrt(r32110, r32109, MPFR_RNDN);
        mpfr_mul(r32111, r32110, r32110, MPFR_RNDN);
        mpfr_div(r32112, r32104, r32111, MPFR_RNDN);
        mpfr_set_d(r32113, y, MPFR_RNDN);
        mpfr_sub(r32114, r32113, r32108, MPFR_RNDN);
        mpfr_div(r32115, r32114, r32110, MPFR_RNDN);
        mpfr_mul(r32116, r32112, r32115, MPFR_RNDN);
        mpfr_set_d(r32117, a, MPFR_RNDN);
        mpfr_sub(r32118, r32117, r32103, MPFR_RNDN);
        mpfr_mul(r32119, r32116, r32118, MPFR_RNDN);
        mpfr_add(r32120, r32103, r32119, MPFR_RNDN);
        return mpfr_get_d(r32120, MPFR_RNDN);
}

static mpfr_t r32121, r32122, r32123, r32124, r32125, r32126, r32127, r32128, r32129, r32130, r32131, r32132, r32133, r32134, r32135, r32136, r32137, r32138;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(1424);
        mpfr_init(r32121);
        mpfr_init_set_str(r32122, "1", 10, MPFR_RNDN);
        mpfr_init(r32123);
        mpfr_init_set_str(r32124, "1.0", 10, MPFR_RNDN);
        mpfr_init(r32125);
        mpfr_init(r32126);
        mpfr_init(r32127);
        mpfr_init(r32128);
        mpfr_init(r32129);
        mpfr_init(r32130);
        mpfr_init(r32131);
        mpfr_init(r32132);
        mpfr_init(r32133);
        mpfr_init(r32134);
        mpfr_init(r32135);
        mpfr_init(r32136);
        mpfr_init(r32137);
        mpfr_init(r32138);
}

double f_dm(double x, double y, double z, double t, double a) {
        mpfr_set_d(r32121, x, MPFR_RNDN);
        ;
        mpfr_set_d(r32123, t, MPFR_RNDN);
        ;
        mpfr_add(r32125, r32123, r32124, MPFR_RNDN);
        mpfr_set_d(r32126, z, MPFR_RNDN);
        mpfr_sub(r32127, r32125, r32126, MPFR_RNDN);
        mpfr_cbrt(r32128, r32127, MPFR_RNDN);
        mpfr_mul(r32129, r32128, r32128, MPFR_RNDN);
        mpfr_div(r32130, r32122, r32129, MPFR_RNDN);
        mpfr_set_d(r32131, y, MPFR_RNDN);
        mpfr_sub(r32132, r32131, r32126, MPFR_RNDN);
        mpfr_div(r32133, r32132, r32128, MPFR_RNDN);
        mpfr_mul(r32134, r32130, r32133, MPFR_RNDN);
        mpfr_set_d(r32135, a, MPFR_RNDN);
        mpfr_sub(r32136, r32135, r32121, MPFR_RNDN);
        mpfr_mul(r32137, r32134, r32136, MPFR_RNDN);
        mpfr_add(r32138, r32121, r32137, MPFR_RNDN);
        return mpfr_get_d(r32138, MPFR_RNDN);
}

