#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 r48888 = x;
        float r48889 = y;
        float r48890 = z;
        float r48891 = r48889 - r48890;
        float r48892 = t;
        float r48893 = 1.0;
        float r48894 = r48892 + r48893;
        float r48895 = r48894 - r48890;
        float r48896 = r48891 / r48895;
        float r48897 = a;
        float r48898 = r48897 - r48888;
        float r48899 = r48896 * r48898;
        float r48900 = r48888 + r48899;
        return r48900;
}

double f_id(double x, double y, double z, double t, double a) {
        double r48901 = x;
        double r48902 = y;
        double r48903 = z;
        double r48904 = r48902 - r48903;
        double r48905 = t;
        double r48906 = 1.0;
        double r48907 = r48905 + r48906;
        double r48908 = r48907 - r48903;
        double r48909 = r48904 / r48908;
        double r48910 = a;
        double r48911 = r48910 - r48901;
        double r48912 = r48909 * r48911;
        double r48913 = r48901 + r48912;
        return r48913;
}


double f_of(float x, float y, float z, float t, float a) {
        float r48914 = x;
        float r48915 = y;
        float r48916 = z;
        float r48917 = r48915 - r48916;
        float r48918 = t;
        float r48919 = 1.0;
        float r48920 = r48918 + r48919;
        float r48921 = r48920 - r48916;
        float r48922 = r48917 / r48921;
        float r48923 = a;
        float r48924 = r48923 - r48914;
        float r48925 = r48922 * r48924;
        float r48926 = r48914 + r48925;
        float r48927 = -4.729447263504346e-308;
        bool r48928 = r48926 <= r48927;
        float r48929 = r48918 - r48916;
        float r48930 = r48919 + r48929;
        float r48931 = r48924 / r48930;
        float r48932 = r48917 * r48931;
        float r48933 = r48914 + r48932;
        float r48934 = 3.735682881900282e-256;
        bool r48935 = r48926 <= r48934;
        float r48936 = r48915 / r48916;
        float r48937 = r48924 * r48936;
        float r48938 = r48923 - r48937;
        float r48939 = r48935 ? r48938 : r48933;
        float r48940 = r48928 ? r48933 : r48939;
        return r48940;
}

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

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 r48968, r48969, r48970, r48971, r48972, r48973, r48974, r48975, r48976, r48977, r48978, r48979, r48980;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(1424);
        mpfr_init(r48968);
        mpfr_init(r48969);
        mpfr_init(r48970);
        mpfr_init(r48971);
        mpfr_init(r48972);
        mpfr_init_set_str(r48973, "1.0", 10, MPFR_RNDN);
        mpfr_init(r48974);
        mpfr_init(r48975);
        mpfr_init(r48976);
        mpfr_init(r48977);
        mpfr_init(r48978);
        mpfr_init(r48979);
        mpfr_init(r48980);
}

double f_im(double x, double y, double z, double t, double a) {
        mpfr_set_d(r48968, x, MPFR_RNDN);
        mpfr_set_d(r48969, y, MPFR_RNDN);
        mpfr_set_d(r48970, z, MPFR_RNDN);
        mpfr_sub(r48971, r48969, r48970, MPFR_RNDN);
        mpfr_set_d(r48972, t, MPFR_RNDN);
        ;
        mpfr_add(r48974, r48972, r48973, MPFR_RNDN);
        mpfr_sub(r48975, r48974, r48970, MPFR_RNDN);
        mpfr_div(r48976, r48971, r48975, MPFR_RNDN);
        mpfr_set_d(r48977, a, MPFR_RNDN);
        mpfr_sub(r48978, r48977, r48968, MPFR_RNDN);
        mpfr_mul(r48979, r48976, r48978, MPFR_RNDN);
        mpfr_add(r48980, r48968, r48979, MPFR_RNDN);
        return mpfr_get_d(r48980, MPFR_RNDN);
}

static mpfr_t r48981, r48982, r48983, r48984, r48985, r48986, r48987, r48988, r48989, r48990, r48991, r48992, r48993, r48994, r48995, r48996, r48997, r48998, r48999, r49000, r49001, r49002, r49003, r49004, r49005, r49006, r49007;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(1424);
        mpfr_init(r48981);
        mpfr_init(r48982);
        mpfr_init(r48983);
        mpfr_init(r48984);
        mpfr_init(r48985);
        mpfr_init_set_str(r48986, "1.0", 10, MPFR_RNDN);
        mpfr_init(r48987);
        mpfr_init(r48988);
        mpfr_init(r48989);
        mpfr_init(r48990);
        mpfr_init(r48991);
        mpfr_init(r48992);
        mpfr_init(r48993);
        mpfr_init_set_str(r48994, "-4.729447263504346e-308", 10, MPFR_RNDN);
        mpfr_init(r48995);
        mpfr_init(r48996);
        mpfr_init(r48997);
        mpfr_init(r48998);
        mpfr_init(r48999);
        mpfr_init(r49000);
        mpfr_init_set_str(r49001, "3.735682881900282e-256", 10, MPFR_RNDN);
        mpfr_init(r49002);
        mpfr_init(r49003);
        mpfr_init(r49004);
        mpfr_init(r49005);
        mpfr_init(r49006);
        mpfr_init(r49007);
}

double f_fm(double x, double y, double z, double t, double a) {
        mpfr_set_d(r48981, x, MPFR_RNDN);
        mpfr_set_d(r48982, y, MPFR_RNDN);
        mpfr_set_d(r48983, z, MPFR_RNDN);
        mpfr_sub(r48984, r48982, r48983, MPFR_RNDN);
        mpfr_set_d(r48985, t, MPFR_RNDN);
        ;
        mpfr_add(r48987, r48985, r48986, MPFR_RNDN);
        mpfr_sub(r48988, r48987, r48983, MPFR_RNDN);
        mpfr_div(r48989, r48984, r48988, MPFR_RNDN);
        mpfr_set_d(r48990, a, MPFR_RNDN);
        mpfr_sub(r48991, r48990, r48981, MPFR_RNDN);
        mpfr_mul(r48992, r48989, r48991, MPFR_RNDN);
        mpfr_add(r48993, r48981, r48992, MPFR_RNDN);
        ;
        mpfr_set_si(r48995, mpfr_cmp(r48993, r48994) <= 0, MPFR_RNDN);
        mpfr_sub(r48996, r48985, r48983, MPFR_RNDN);
        mpfr_add(r48997, r48986, r48996, MPFR_RNDN);
        mpfr_div(r48998, r48991, r48997, MPFR_RNDN);
        mpfr_mul(r48999, r48984, r48998, MPFR_RNDN);
        mpfr_add(r49000, r48981, r48999, MPFR_RNDN);
        ;
        mpfr_set_si(r49002, mpfr_cmp(r48993, r49001) <= 0, MPFR_RNDN);
        mpfr_div(r49003, r48982, r48983, MPFR_RNDN);
        mpfr_mul(r49004, r48991, r49003, MPFR_RNDN);
        mpfr_sub(r49005, r48990, r49004, MPFR_RNDN);
        if (mpfr_get_si(r49002, MPFR_RNDN)) { mpfr_set(r49006, r49005, MPFR_RNDN); } else { mpfr_set(r49006, r49000, MPFR_RNDN); };
        if (mpfr_get_si(r48995, MPFR_RNDN)) { mpfr_set(r49007, r49000, MPFR_RNDN); } else { mpfr_set(r49007, r49006, MPFR_RNDN); };
        return mpfr_get_d(r49007, MPFR_RNDN);
}

static mpfr_t r49008, r49009, 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;

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

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

