#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 r48917 = x;
        float r48918 = y;
        float r48919 = z;
        float r48920 = r48918 - r48919;
        float r48921 = t;
        float r48922 = 1.0;
        float r48923 = r48921 + r48922;
        float r48924 = r48923 - r48919;
        float r48925 = r48920 / r48924;
        float r48926 = a;
        float r48927 = r48926 - r48917;
        float r48928 = r48925 * r48927;
        float r48929 = r48917 + r48928;
        return r48929;
}

double f_id(double x, double y, double z, double t, double a) {
        double r48930 = x;
        double r48931 = y;
        double r48932 = z;
        double r48933 = r48931 - r48932;
        double r48934 = t;
        double r48935 = 1.0;
        double r48936 = r48934 + r48935;
        double r48937 = r48936 - r48932;
        double r48938 = r48933 / r48937;
        double r48939 = a;
        double r48940 = r48939 - r48930;
        double r48941 = r48938 * r48940;
        double r48942 = r48930 + r48941;
        return r48942;
}


double f_of(float x, float y, float z, float t, float a) {
        float r48943 = x;
        float r48944 = y;
        float r48945 = z;
        float r48946 = r48944 - r48945;
        float r48947 = t;
        float r48948 = 1.0;
        float r48949 = r48947 + r48948;
        float r48950 = r48949 - r48945;
        float r48951 = r48946 / r48950;
        float r48952 = a;
        float r48953 = r48952 - r48943;
        float r48954 = r48951 * r48953;
        float r48955 = r48943 + r48954;
        float r48956 = -4.729447263504346e-308;
        bool r48957 = r48955 <= r48956;
        float r48958 = r48947 - r48945;
        float r48959 = r48948 + r48958;
        float r48960 = r48953 / r48959;
        float r48961 = r48946 * r48960;
        float r48962 = r48943 + r48961;
        float r48963 = 3.735682881900282e-256;
        bool r48964 = r48955 <= r48963;
        float r48965 = r48944 / r48945;
        float r48966 = r48953 * r48965;
        float r48967 = r48952 - r48966;
        float r48968 = r48964 ? r48967 : r48962;
        float r48969 = r48957 ? r48962 : r48968;
        return r48969;
}

double f_od(double x, double y, double z, double t, double a) {
        double r48970 = x;
        double r48971 = y;
        double r48972 = z;
        double r48973 = r48971 - r48972;
        double r48974 = t;
        double r48975 = 1.0;
        double r48976 = r48974 + r48975;
        double r48977 = r48976 - r48972;
        double r48978 = r48973 / r48977;
        double r48979 = a;
        double r48980 = r48979 - r48970;
        double r48981 = r48978 * r48980;
        double r48982 = r48970 + r48981;
        double r48983 = -4.729447263504346e-308;
        bool r48984 = r48982 <= r48983;
        double r48985 = r48974 - r48972;
        double r48986 = r48975 + r48985;
        double r48987 = r48980 / r48986;
        double r48988 = r48973 * r48987;
        double r48989 = r48970 + r48988;
        double r48990 = 3.735682881900282e-256;
        bool r48991 = r48982 <= r48990;
        double r48992 = r48971 / r48972;
        double r48993 = r48980 * r48992;
        double r48994 = r48979 - r48993;
        double r48995 = r48991 ? r48994 : r48989;
        double r48996 = r48984 ? r48989 : r48995;
        return r48996;
}

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 r48997, r48998, r48999, r49000, r49001, r49002, r49003, r49004, r49005, r49006, r49007, r49008, r49009;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(1424);
        mpfr_init(r48997);
        mpfr_init(r48998);
        mpfr_init(r48999);
        mpfr_init(r49000);
        mpfr_init(r49001);
        mpfr_init_set_str(r49002, "1.0", 10, MPFR_RNDN);
        mpfr_init(r49003);
        mpfr_init(r49004);
        mpfr_init(r49005);
        mpfr_init(r49006);
        mpfr_init(r49007);
        mpfr_init(r49008);
        mpfr_init(r49009);
}

double f_im(double x, double y, double z, double t, double a) {
        mpfr_set_d(r48997, x, MPFR_RNDN);
        mpfr_set_d(r48998, y, MPFR_RNDN);
        mpfr_set_d(r48999, z, MPFR_RNDN);
        mpfr_sub(r49000, r48998, r48999, MPFR_RNDN);
        mpfr_set_d(r49001, t, MPFR_RNDN);
        ;
        mpfr_add(r49003, r49001, r49002, MPFR_RNDN);
        mpfr_sub(r49004, r49003, r48999, MPFR_RNDN);
        mpfr_div(r49005, r49000, r49004, MPFR_RNDN);
        mpfr_set_d(r49006, a, MPFR_RNDN);
        mpfr_sub(r49007, r49006, r48997, MPFR_RNDN);
        mpfr_mul(r49008, r49005, r49007, MPFR_RNDN);
        mpfr_add(r49009, r48997, r49008, MPFR_RNDN);
        return mpfr_get_d(r49009, MPFR_RNDN);
}

static mpfr_t r49010, r49011, r49012, r49013, r49014, r49015, r49016, r49017, r49018, r49019, r49020, r49021, r49022, r49023, r49024, r49025, r49026, r49027, r49028, r49029, r49030, r49031, r49032, r49033, r49034, r49035, r49036;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(1424);
        mpfr_init(r49010);
        mpfr_init(r49011);
        mpfr_init(r49012);
        mpfr_init(r49013);
        mpfr_init(r49014);
        mpfr_init_set_str(r49015, "1.0", 10, MPFR_RNDN);
        mpfr_init(r49016);
        mpfr_init(r49017);
        mpfr_init(r49018);
        mpfr_init(r49019);
        mpfr_init(r49020);
        mpfr_init(r49021);
        mpfr_init(r49022);
        mpfr_init_set_str(r49023, "-4.729447263504346e-308", 10, MPFR_RNDN);
        mpfr_init(r49024);
        mpfr_init(r49025);
        mpfr_init(r49026);
        mpfr_init(r49027);
        mpfr_init(r49028);
        mpfr_init(r49029);
        mpfr_init_set_str(r49030, "3.735682881900282e-256", 10, MPFR_RNDN);
        mpfr_init(r49031);
        mpfr_init(r49032);
        mpfr_init(r49033);
        mpfr_init(r49034);
        mpfr_init(r49035);
        mpfr_init(r49036);
}

double f_fm(double x, double y, double z, double t, double a) {
        mpfr_set_d(r49010, x, MPFR_RNDN);
        mpfr_set_d(r49011, y, MPFR_RNDN);
        mpfr_set_d(r49012, z, MPFR_RNDN);
        mpfr_sub(r49013, r49011, r49012, MPFR_RNDN);
        mpfr_set_d(r49014, t, MPFR_RNDN);
        ;
        mpfr_add(r49016, r49014, r49015, MPFR_RNDN);
        mpfr_sub(r49017, r49016, r49012, MPFR_RNDN);
        mpfr_div(r49018, r49013, r49017, MPFR_RNDN);
        mpfr_set_d(r49019, a, MPFR_RNDN);
        mpfr_sub(r49020, r49019, r49010, MPFR_RNDN);
        mpfr_mul(r49021, r49018, r49020, MPFR_RNDN);
        mpfr_add(r49022, r49010, r49021, MPFR_RNDN);
        ;
        mpfr_set_si(r49024, mpfr_cmp(r49022, r49023) <= 0, MPFR_RNDN);
        mpfr_sub(r49025, r49014, r49012, MPFR_RNDN);
        mpfr_add(r49026, r49015, r49025, MPFR_RNDN);
        mpfr_div(r49027, r49020, r49026, MPFR_RNDN);
        mpfr_mul(r49028, r49013, r49027, MPFR_RNDN);
        mpfr_add(r49029, r49010, r49028, MPFR_RNDN);
        ;
        mpfr_set_si(r49031, mpfr_cmp(r49022, r49030) <= 0, MPFR_RNDN);
        mpfr_div(r49032, r49011, r49012, MPFR_RNDN);
        mpfr_mul(r49033, r49020, r49032, MPFR_RNDN);
        mpfr_sub(r49034, r49019, r49033, MPFR_RNDN);
        if (mpfr_get_si(r49031, MPFR_RNDN)) { mpfr_set(r49035, r49034, MPFR_RNDN); } else { mpfr_set(r49035, r49029, MPFR_RNDN); };
        if (mpfr_get_si(r49024, MPFR_RNDN)) { mpfr_set(r49036, r49029, MPFR_RNDN); } else { mpfr_set(r49036, r49035, MPFR_RNDN); };
        return mpfr_get_d(r49036, MPFR_RNDN);
}

static mpfr_t r49037, r49038, r49039, r49040, r49041, r49042, r49043, r49044, r49045, r49046, r49047, r49048, r49049, r49050, r49051, r49052, r49053, r49054, r49055, r49056, r49057, r49058, r49059, r49060, r49061, r49062, r49063;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(1424);
        mpfr_init(r49037);
        mpfr_init(r49038);
        mpfr_init(r49039);
        mpfr_init(r49040);
        mpfr_init(r49041);
        mpfr_init_set_str(r49042, "1.0", 10, MPFR_RNDN);
        mpfr_init(r49043);
        mpfr_init(r49044);
        mpfr_init(r49045);
        mpfr_init(r49046);
        mpfr_init(r49047);
        mpfr_init(r49048);
        mpfr_init(r49049);
        mpfr_init_set_str(r49050, "-4.729447263504346e-308", 10, MPFR_RNDN);
        mpfr_init(r49051);
        mpfr_init(r49052);
        mpfr_init(r49053);
        mpfr_init(r49054);
        mpfr_init(r49055);
        mpfr_init(r49056);
        mpfr_init_set_str(r49057, "3.735682881900282e-256", 10, MPFR_RNDN);
        mpfr_init(r49058);
        mpfr_init(r49059);
        mpfr_init(r49060);
        mpfr_init(r49061);
        mpfr_init(r49062);
        mpfr_init(r49063);
}

double f_dm(double x, double y, double z, double t, double a) {
        mpfr_set_d(r49037, x, MPFR_RNDN);
        mpfr_set_d(r49038, y, MPFR_RNDN);
        mpfr_set_d(r49039, z, MPFR_RNDN);
        mpfr_sub(r49040, r49038, r49039, MPFR_RNDN);
        mpfr_set_d(r49041, t, MPFR_RNDN);
        ;
        mpfr_add(r49043, r49041, r49042, MPFR_RNDN);
        mpfr_sub(r49044, r49043, r49039, MPFR_RNDN);
        mpfr_div(r49045, r49040, r49044, MPFR_RNDN);
        mpfr_set_d(r49046, a, MPFR_RNDN);
        mpfr_sub(r49047, r49046, r49037, MPFR_RNDN);
        mpfr_mul(r49048, r49045, r49047, MPFR_RNDN);
        mpfr_add(r49049, r49037, r49048, MPFR_RNDN);
        ;
        mpfr_set_si(r49051, mpfr_cmp(r49049, r49050) <= 0, MPFR_RNDN);
        mpfr_sub(r49052, r49041, r49039, MPFR_RNDN);
        mpfr_add(r49053, r49042, r49052, MPFR_RNDN);
        mpfr_div(r49054, r49047, r49053, MPFR_RNDN);
        mpfr_mul(r49055, r49040, r49054, MPFR_RNDN);
        mpfr_add(r49056, r49037, r49055, MPFR_RNDN);
        ;
        mpfr_set_si(r49058, mpfr_cmp(r49049, r49057) <= 0, MPFR_RNDN);
        mpfr_div(r49059, r49038, r49039, MPFR_RNDN);
        mpfr_mul(r49060, r49047, r49059, MPFR_RNDN);
        mpfr_sub(r49061, r49046, r49060, MPFR_RNDN);
        if (mpfr_get_si(r49058, MPFR_RNDN)) { mpfr_set(r49062, r49061, MPFR_RNDN); } else { mpfr_set(r49062, r49056, MPFR_RNDN); };
        if (mpfr_get_si(r49051, MPFR_RNDN)) { mpfr_set(r49063, r49056, MPFR_RNDN); } else { mpfr_set(r49063, r49062, MPFR_RNDN); };
        return mpfr_get_d(r49063, MPFR_RNDN);
}

