#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 r32237 = x;
        float r32238 = y;
        float r32239 = z;
        float r32240 = r32238 - r32239;
        float r32241 = t;
        float r32242 = 1.0;
        float r32243 = r32241 + r32242;
        float r32244 = r32243 - r32239;
        float r32245 = r32240 / r32244;
        float r32246 = a;
        float r32247 = r32246 - r32237;
        float r32248 = r32245 * r32247;
        float r32249 = r32237 + r32248;
        return r32249;
}

double f_id(double x, double y, double z, double t, double a) {
        double r32250 = x;
        double r32251 = y;
        double r32252 = z;
        double r32253 = r32251 - r32252;
        double r32254 = t;
        double r32255 = 1.0;
        double r32256 = r32254 + r32255;
        double r32257 = r32256 - r32252;
        double r32258 = r32253 / r32257;
        double r32259 = a;
        double r32260 = r32259 - r32250;
        double r32261 = r32258 * r32260;
        double r32262 = r32250 + r32261;
        return r32262;
}


double f_of(float x, float y, float z, float t, float a) {
        float r32263 = x;
        float r32264 = y;
        float r32265 = z;
        float r32266 = r32264 - r32265;
        float r32267 = t;
        float r32268 = 1.0;
        float r32269 = r32267 + r32268;
        float r32270 = r32269 - r32265;
        float r32271 = r32266 / r32270;
        float r32272 = a;
        float r32273 = r32272 - r32263;
        float r32274 = r32271 * r32273;
        float r32275 = r32263 + r32274;
        float r32276 = -4.729447263504346e-308;
        bool r32277 = r32275 <= r32276;
        float r32278 = r32267 - r32265;
        float r32279 = r32268 + r32278;
        float r32280 = r32273 / r32279;
        float r32281 = r32266 * r32280;
        float r32282 = r32263 + r32281;
        float r32283 = 3.735682881900282e-256;
        bool r32284 = r32275 <= r32283;
        float r32285 = r32264 / r32265;
        float r32286 = r32273 * r32285;
        float r32287 = r32272 - r32286;
        float r32288 = r32284 ? r32287 : r32282;
        float r32289 = r32277 ? r32282 : r32288;
        return r32289;
}

double f_od(double x, double y, double z, double t, double a) {
        double r32290 = x;
        double r32291 = y;
        double r32292 = z;
        double r32293 = r32291 - r32292;
        double r32294 = t;
        double r32295 = 1.0;
        double r32296 = r32294 + r32295;
        double r32297 = r32296 - r32292;
        double r32298 = r32293 / r32297;
        double r32299 = a;
        double r32300 = r32299 - r32290;
        double r32301 = r32298 * r32300;
        double r32302 = r32290 + r32301;
        double r32303 = -4.729447263504346e-308;
        bool r32304 = r32302 <= r32303;
        double r32305 = r32294 - r32292;
        double r32306 = r32295 + r32305;
        double r32307 = r32300 / r32306;
        double r32308 = r32293 * r32307;
        double r32309 = r32290 + r32308;
        double r32310 = 3.735682881900282e-256;
        bool r32311 = r32302 <= r32310;
        double r32312 = r32291 / r32292;
        double r32313 = r32300 * r32312;
        double r32314 = r32299 - r32313;
        double r32315 = r32311 ? r32314 : r32309;
        double r32316 = r32304 ? r32309 : r32315;
        return r32316;
}

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 r32317, r32318, r32319, r32320, r32321, r32322, r32323, r32324, r32325, r32326, r32327, r32328, r32329;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(1424);
        mpfr_init(r32317);
        mpfr_init(r32318);
        mpfr_init(r32319);
        mpfr_init(r32320);
        mpfr_init(r32321);
        mpfr_init_set_str(r32322, "1.0", 10, MPFR_RNDN);
        mpfr_init(r32323);
        mpfr_init(r32324);
        mpfr_init(r32325);
        mpfr_init(r32326);
        mpfr_init(r32327);
        mpfr_init(r32328);
        mpfr_init(r32329);
}

double f_im(double x, double y, double z, double t, double a) {
        mpfr_set_d(r32317, x, MPFR_RNDN);
        mpfr_set_d(r32318, y, MPFR_RNDN);
        mpfr_set_d(r32319, z, MPFR_RNDN);
        mpfr_sub(r32320, r32318, r32319, MPFR_RNDN);
        mpfr_set_d(r32321, t, MPFR_RNDN);
        ;
        mpfr_add(r32323, r32321, r32322, MPFR_RNDN);
        mpfr_sub(r32324, r32323, r32319, MPFR_RNDN);
        mpfr_div(r32325, r32320, r32324, MPFR_RNDN);
        mpfr_set_d(r32326, a, MPFR_RNDN);
        mpfr_sub(r32327, r32326, r32317, MPFR_RNDN);
        mpfr_mul(r32328, r32325, r32327, MPFR_RNDN);
        mpfr_add(r32329, r32317, r32328, MPFR_RNDN);
        return mpfr_get_d(r32329, MPFR_RNDN);
}

static mpfr_t r32330, r32331, r32332, r32333, r32334, r32335, r32336, r32337, r32338, r32339, r32340, r32341, r32342, r32343, r32344, r32345, r32346, r32347, r32348, r32349, r32350, r32351, r32352, r32353, r32354, r32355, r32356;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(1424);
        mpfr_init(r32330);
        mpfr_init(r32331);
        mpfr_init(r32332);
        mpfr_init(r32333);
        mpfr_init(r32334);
        mpfr_init_set_str(r32335, "1.0", 10, MPFR_RNDN);
        mpfr_init(r32336);
        mpfr_init(r32337);
        mpfr_init(r32338);
        mpfr_init(r32339);
        mpfr_init(r32340);
        mpfr_init(r32341);
        mpfr_init(r32342);
        mpfr_init_set_str(r32343, "-4.729447263504346e-308", 10, MPFR_RNDN);
        mpfr_init(r32344);
        mpfr_init(r32345);
        mpfr_init(r32346);
        mpfr_init(r32347);
        mpfr_init(r32348);
        mpfr_init(r32349);
        mpfr_init_set_str(r32350, "3.735682881900282e-256", 10, MPFR_RNDN);
        mpfr_init(r32351);
        mpfr_init(r32352);
        mpfr_init(r32353);
        mpfr_init(r32354);
        mpfr_init(r32355);
        mpfr_init(r32356);
}

double f_fm(double x, double y, double z, double t, double a) {
        mpfr_set_d(r32330, x, MPFR_RNDN);
        mpfr_set_d(r32331, y, MPFR_RNDN);
        mpfr_set_d(r32332, z, MPFR_RNDN);
        mpfr_sub(r32333, r32331, r32332, MPFR_RNDN);
        mpfr_set_d(r32334, t, MPFR_RNDN);
        ;
        mpfr_add(r32336, r32334, r32335, MPFR_RNDN);
        mpfr_sub(r32337, r32336, r32332, MPFR_RNDN);
        mpfr_div(r32338, r32333, r32337, MPFR_RNDN);
        mpfr_set_d(r32339, a, MPFR_RNDN);
        mpfr_sub(r32340, r32339, r32330, MPFR_RNDN);
        mpfr_mul(r32341, r32338, r32340, MPFR_RNDN);
        mpfr_add(r32342, r32330, r32341, MPFR_RNDN);
        ;
        mpfr_set_si(r32344, mpfr_cmp(r32342, r32343) <= 0, MPFR_RNDN);
        mpfr_sub(r32345, r32334, r32332, MPFR_RNDN);
        mpfr_add(r32346, r32335, r32345, MPFR_RNDN);
        mpfr_div(r32347, r32340, r32346, MPFR_RNDN);
        mpfr_mul(r32348, r32333, r32347, MPFR_RNDN);
        mpfr_add(r32349, r32330, r32348, MPFR_RNDN);
        ;
        mpfr_set_si(r32351, mpfr_cmp(r32342, r32350) <= 0, MPFR_RNDN);
        mpfr_div(r32352, r32331, r32332, MPFR_RNDN);
        mpfr_mul(r32353, r32340, r32352, MPFR_RNDN);
        mpfr_sub(r32354, r32339, r32353, MPFR_RNDN);
        if (mpfr_get_si(r32351, MPFR_RNDN)) { mpfr_set(r32355, r32354, MPFR_RNDN); } else { mpfr_set(r32355, r32349, MPFR_RNDN); };
        if (mpfr_get_si(r32344, MPFR_RNDN)) { mpfr_set(r32356, r32349, MPFR_RNDN); } else { mpfr_set(r32356, r32355, MPFR_RNDN); };
        return mpfr_get_d(r32356, MPFR_RNDN);
}

static mpfr_t r32357, r32358, r32359, r32360, r32361, r32362, r32363, r32364, r32365, r32366, r32367, r32368, r32369, r32370, r32371, r32372, r32373, r32374, r32375, r32376, r32377, r32378, r32379, r32380, r32381, r32382, r32383;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(1424);
        mpfr_init(r32357);
        mpfr_init(r32358);
        mpfr_init(r32359);
        mpfr_init(r32360);
        mpfr_init(r32361);
        mpfr_init_set_str(r32362, "1.0", 10, MPFR_RNDN);
        mpfr_init(r32363);
        mpfr_init(r32364);
        mpfr_init(r32365);
        mpfr_init(r32366);
        mpfr_init(r32367);
        mpfr_init(r32368);
        mpfr_init(r32369);
        mpfr_init_set_str(r32370, "-4.729447263504346e-308", 10, MPFR_RNDN);
        mpfr_init(r32371);
        mpfr_init(r32372);
        mpfr_init(r32373);
        mpfr_init(r32374);
        mpfr_init(r32375);
        mpfr_init(r32376);
        mpfr_init_set_str(r32377, "3.735682881900282e-256", 10, MPFR_RNDN);
        mpfr_init(r32378);
        mpfr_init(r32379);
        mpfr_init(r32380);
        mpfr_init(r32381);
        mpfr_init(r32382);
        mpfr_init(r32383);
}

double f_dm(double x, double y, double z, double t, double a) {
        mpfr_set_d(r32357, x, MPFR_RNDN);
        mpfr_set_d(r32358, y, MPFR_RNDN);
        mpfr_set_d(r32359, z, MPFR_RNDN);
        mpfr_sub(r32360, r32358, r32359, MPFR_RNDN);
        mpfr_set_d(r32361, t, MPFR_RNDN);
        ;
        mpfr_add(r32363, r32361, r32362, MPFR_RNDN);
        mpfr_sub(r32364, r32363, r32359, MPFR_RNDN);
        mpfr_div(r32365, r32360, r32364, MPFR_RNDN);
        mpfr_set_d(r32366, a, MPFR_RNDN);
        mpfr_sub(r32367, r32366, r32357, MPFR_RNDN);
        mpfr_mul(r32368, r32365, r32367, MPFR_RNDN);
        mpfr_add(r32369, r32357, r32368, MPFR_RNDN);
        ;
        mpfr_set_si(r32371, mpfr_cmp(r32369, r32370) <= 0, MPFR_RNDN);
        mpfr_sub(r32372, r32361, r32359, MPFR_RNDN);
        mpfr_add(r32373, r32362, r32372, MPFR_RNDN);
        mpfr_div(r32374, r32367, r32373, MPFR_RNDN);
        mpfr_mul(r32375, r32360, r32374, MPFR_RNDN);
        mpfr_add(r32376, r32357, r32375, MPFR_RNDN);
        ;
        mpfr_set_si(r32378, mpfr_cmp(r32369, r32377) <= 0, MPFR_RNDN);
        mpfr_div(r32379, r32358, r32359, MPFR_RNDN);
        mpfr_mul(r32380, r32367, r32379, MPFR_RNDN);
        mpfr_sub(r32381, r32366, r32380, MPFR_RNDN);
        if (mpfr_get_si(r32378, MPFR_RNDN)) { mpfr_set(r32382, r32381, MPFR_RNDN); } else { mpfr_set(r32382, r32376, MPFR_RNDN); };
        if (mpfr_get_si(r32371, MPFR_RNDN)) { mpfr_set(r32383, r32376, MPFR_RNDN); } else { mpfr_set(r32383, r32382, MPFR_RNDN); };
        return mpfr_get_d(r32383, MPFR_RNDN);
}

