#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 r31952 = x;
        float r31953 = y;
        float r31954 = z;
        float r31955 = r31953 - r31954;
        float r31956 = t;
        float r31957 = 1.0;
        float r31958 = r31956 + r31957;
        float r31959 = r31958 - r31954;
        float r31960 = r31955 / r31959;
        float r31961 = a;
        float r31962 = r31961 - r31952;
        float r31963 = r31960 * r31962;
        float r31964 = r31952 + r31963;
        return r31964;
}

double f_id(double x, double y, double z, double t, double a) {
        double r31965 = x;
        double r31966 = y;
        double r31967 = z;
        double r31968 = r31966 - r31967;
        double r31969 = t;
        double r31970 = 1.0;
        double r31971 = r31969 + r31970;
        double r31972 = r31971 - r31967;
        double r31973 = r31968 / r31972;
        double r31974 = a;
        double r31975 = r31974 - r31965;
        double r31976 = r31973 * r31975;
        double r31977 = r31965 + r31976;
        return r31977;
}


double f_of(float x, float y, float z, float t, float a) {
        float r31978 = x;
        float r31979 = y;
        float r31980 = z;
        float r31981 = r31979 - r31980;
        float r31982 = t;
        float r31983 = 1.0;
        float r31984 = r31982 + r31983;
        float r31985 = r31984 - r31980;
        float r31986 = r31981 / r31985;
        float r31987 = a;
        float r31988 = r31987 - r31978;
        float r31989 = r31986 * r31988;
        float r31990 = r31978 + r31989;
        float r31991 = -4.729447263504346e-308;
        bool r31992 = r31990 <= r31991;
        float r31993 = r31982 - r31980;
        float r31994 = r31983 + r31993;
        float r31995 = r31988 / r31994;
        float r31996 = r31981 * r31995;
        float r31997 = r31978 + r31996;
        float r31998 = 3.735682881900282e-256;
        bool r31999 = r31990 <= r31998;
        float r32000 = r31979 / r31980;
        float r32001 = r31988 * r32000;
        float r32002 = r31987 - r32001;
        float r32003 = r31999 ? r32002 : r31997;
        float r32004 = r31992 ? r31997 : r32003;
        return r32004;
}

double f_od(double x, double y, double z, double t, double a) {
        double r32005 = x;
        double r32006 = y;
        double r32007 = z;
        double r32008 = r32006 - r32007;
        double r32009 = t;
        double r32010 = 1.0;
        double r32011 = r32009 + r32010;
        double r32012 = r32011 - r32007;
        double r32013 = r32008 / r32012;
        double r32014 = a;
        double r32015 = r32014 - r32005;
        double r32016 = r32013 * r32015;
        double r32017 = r32005 + r32016;
        double r32018 = -4.729447263504346e-308;
        bool r32019 = r32017 <= r32018;
        double r32020 = r32009 - r32007;
        double r32021 = r32010 + r32020;
        double r32022 = r32015 / r32021;
        double r32023 = r32008 * r32022;
        double r32024 = r32005 + r32023;
        double r32025 = 3.735682881900282e-256;
        bool r32026 = r32017 <= r32025;
        double r32027 = r32006 / r32007;
        double r32028 = r32015 * r32027;
        double r32029 = r32014 - r32028;
        double r32030 = r32026 ? r32029 : r32024;
        double r32031 = r32019 ? r32024 : r32030;
        return r32031;
}

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 r32032, r32033, r32034, r32035, r32036, r32037, r32038, r32039, r32040, r32041, r32042, r32043, r32044;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(1424);
        mpfr_init(r32032);
        mpfr_init(r32033);
        mpfr_init(r32034);
        mpfr_init(r32035);
        mpfr_init(r32036);
        mpfr_init_set_str(r32037, "1.0", 10, MPFR_RNDN);
        mpfr_init(r32038);
        mpfr_init(r32039);
        mpfr_init(r32040);
        mpfr_init(r32041);
        mpfr_init(r32042);
        mpfr_init(r32043);
        mpfr_init(r32044);
}

double f_im(double x, double y, double z, double t, double a) {
        mpfr_set_d(r32032, x, MPFR_RNDN);
        mpfr_set_d(r32033, y, MPFR_RNDN);
        mpfr_set_d(r32034, z, MPFR_RNDN);
        mpfr_sub(r32035, r32033, r32034, MPFR_RNDN);
        mpfr_set_d(r32036, t, MPFR_RNDN);
        ;
        mpfr_add(r32038, r32036, r32037, MPFR_RNDN);
        mpfr_sub(r32039, r32038, r32034, MPFR_RNDN);
        mpfr_div(r32040, r32035, r32039, MPFR_RNDN);
        mpfr_set_d(r32041, a, MPFR_RNDN);
        mpfr_sub(r32042, r32041, r32032, MPFR_RNDN);
        mpfr_mul(r32043, r32040, r32042, MPFR_RNDN);
        mpfr_add(r32044, r32032, r32043, MPFR_RNDN);
        return mpfr_get_d(r32044, MPFR_RNDN);
}

static mpfr_t r32045, r32046, r32047, r32048, r32049, r32050, r32051, r32052, r32053, r32054, r32055, r32056, r32057, r32058, r32059, r32060, r32061, r32062, r32063, r32064, r32065, r32066, r32067, r32068, r32069, r32070, r32071;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(1424);
        mpfr_init(r32045);
        mpfr_init(r32046);
        mpfr_init(r32047);
        mpfr_init(r32048);
        mpfr_init(r32049);
        mpfr_init_set_str(r32050, "1.0", 10, MPFR_RNDN);
        mpfr_init(r32051);
        mpfr_init(r32052);
        mpfr_init(r32053);
        mpfr_init(r32054);
        mpfr_init(r32055);
        mpfr_init(r32056);
        mpfr_init(r32057);
        mpfr_init_set_str(r32058, "-4.729447263504346e-308", 10, MPFR_RNDN);
        mpfr_init(r32059);
        mpfr_init(r32060);
        mpfr_init(r32061);
        mpfr_init(r32062);
        mpfr_init(r32063);
        mpfr_init(r32064);
        mpfr_init_set_str(r32065, "3.735682881900282e-256", 10, MPFR_RNDN);
        mpfr_init(r32066);
        mpfr_init(r32067);
        mpfr_init(r32068);
        mpfr_init(r32069);
        mpfr_init(r32070);
        mpfr_init(r32071);
}

double f_fm(double x, double y, double z, double t, double a) {
        mpfr_set_d(r32045, x, MPFR_RNDN);
        mpfr_set_d(r32046, y, MPFR_RNDN);
        mpfr_set_d(r32047, z, MPFR_RNDN);
        mpfr_sub(r32048, r32046, r32047, MPFR_RNDN);
        mpfr_set_d(r32049, t, MPFR_RNDN);
        ;
        mpfr_add(r32051, r32049, r32050, MPFR_RNDN);
        mpfr_sub(r32052, r32051, r32047, MPFR_RNDN);
        mpfr_div(r32053, r32048, r32052, MPFR_RNDN);
        mpfr_set_d(r32054, a, MPFR_RNDN);
        mpfr_sub(r32055, r32054, r32045, MPFR_RNDN);
        mpfr_mul(r32056, r32053, r32055, MPFR_RNDN);
        mpfr_add(r32057, r32045, r32056, MPFR_RNDN);
        ;
        mpfr_set_si(r32059, mpfr_cmp(r32057, r32058) <= 0, MPFR_RNDN);
        mpfr_sub(r32060, r32049, r32047, MPFR_RNDN);
        mpfr_add(r32061, r32050, r32060, MPFR_RNDN);
        mpfr_div(r32062, r32055, r32061, MPFR_RNDN);
        mpfr_mul(r32063, r32048, r32062, MPFR_RNDN);
        mpfr_add(r32064, r32045, r32063, MPFR_RNDN);
        ;
        mpfr_set_si(r32066, mpfr_cmp(r32057, r32065) <= 0, MPFR_RNDN);
        mpfr_div(r32067, r32046, r32047, MPFR_RNDN);
        mpfr_mul(r32068, r32055, r32067, MPFR_RNDN);
        mpfr_sub(r32069, r32054, r32068, MPFR_RNDN);
        if (mpfr_get_si(r32066, MPFR_RNDN)) { mpfr_set(r32070, r32069, MPFR_RNDN); } else { mpfr_set(r32070, r32064, MPFR_RNDN); };
        if (mpfr_get_si(r32059, MPFR_RNDN)) { mpfr_set(r32071, r32064, MPFR_RNDN); } else { mpfr_set(r32071, r32070, MPFR_RNDN); };
        return mpfr_get_d(r32071, MPFR_RNDN);
}

static mpfr_t r32072, r32073, r32074, r32075, r32076, r32077, r32078, r32079, r32080, r32081, r32082, r32083, r32084, r32085, r32086, r32087, r32088, r32089, r32090, r32091, r32092, r32093, r32094, r32095, r32096, r32097, r32098;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(1424);
        mpfr_init(r32072);
        mpfr_init(r32073);
        mpfr_init(r32074);
        mpfr_init(r32075);
        mpfr_init(r32076);
        mpfr_init_set_str(r32077, "1.0", 10, MPFR_RNDN);
        mpfr_init(r32078);
        mpfr_init(r32079);
        mpfr_init(r32080);
        mpfr_init(r32081);
        mpfr_init(r32082);
        mpfr_init(r32083);
        mpfr_init(r32084);
        mpfr_init_set_str(r32085, "-4.729447263504346e-308", 10, MPFR_RNDN);
        mpfr_init(r32086);
        mpfr_init(r32087);
        mpfr_init(r32088);
        mpfr_init(r32089);
        mpfr_init(r32090);
        mpfr_init(r32091);
        mpfr_init_set_str(r32092, "3.735682881900282e-256", 10, MPFR_RNDN);
        mpfr_init(r32093);
        mpfr_init(r32094);
        mpfr_init(r32095);
        mpfr_init(r32096);
        mpfr_init(r32097);
        mpfr_init(r32098);
}

double f_dm(double x, double y, double z, double t, double a) {
        mpfr_set_d(r32072, x, MPFR_RNDN);
        mpfr_set_d(r32073, y, MPFR_RNDN);
        mpfr_set_d(r32074, z, MPFR_RNDN);
        mpfr_sub(r32075, r32073, r32074, MPFR_RNDN);
        mpfr_set_d(r32076, t, MPFR_RNDN);
        ;
        mpfr_add(r32078, r32076, r32077, MPFR_RNDN);
        mpfr_sub(r32079, r32078, r32074, MPFR_RNDN);
        mpfr_div(r32080, r32075, r32079, MPFR_RNDN);
        mpfr_set_d(r32081, a, MPFR_RNDN);
        mpfr_sub(r32082, r32081, r32072, MPFR_RNDN);
        mpfr_mul(r32083, r32080, r32082, MPFR_RNDN);
        mpfr_add(r32084, r32072, r32083, MPFR_RNDN);
        ;
        mpfr_set_si(r32086, mpfr_cmp(r32084, r32085) <= 0, MPFR_RNDN);
        mpfr_sub(r32087, r32076, r32074, MPFR_RNDN);
        mpfr_add(r32088, r32077, r32087, MPFR_RNDN);
        mpfr_div(r32089, r32082, r32088, MPFR_RNDN);
        mpfr_mul(r32090, r32075, r32089, MPFR_RNDN);
        mpfr_add(r32091, r32072, r32090, MPFR_RNDN);
        ;
        mpfr_set_si(r32093, mpfr_cmp(r32084, r32092) <= 0, MPFR_RNDN);
        mpfr_div(r32094, r32073, r32074, MPFR_RNDN);
        mpfr_mul(r32095, r32082, r32094, MPFR_RNDN);
        mpfr_sub(r32096, r32081, r32095, MPFR_RNDN);
        if (mpfr_get_si(r32093, MPFR_RNDN)) { mpfr_set(r32097, r32096, MPFR_RNDN); } else { mpfr_set(r32097, r32091, MPFR_RNDN); };
        if (mpfr_get_si(r32086, MPFR_RNDN)) { mpfr_set(r32098, r32091, MPFR_RNDN); } else { mpfr_set(r32098, r32097, MPFR_RNDN); };
        return mpfr_get_d(r32098, MPFR_RNDN);
}

