#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 r48645 = x;
        float r48646 = y;
        float r48647 = z;
        float r48648 = r48646 - r48647;
        float r48649 = t;
        float r48650 = 1.0;
        float r48651 = r48649 + r48650;
        float r48652 = r48651 - r48647;
        float r48653 = r48648 / r48652;
        float r48654 = a;
        float r48655 = r48654 - r48645;
        float r48656 = r48653 * r48655;
        float r48657 = r48645 + r48656;
        return r48657;
}

double f_id(double x, double y, double z, double t, double a) {
        double r48658 = x;
        double r48659 = y;
        double r48660 = z;
        double r48661 = r48659 - r48660;
        double r48662 = t;
        double r48663 = 1.0;
        double r48664 = r48662 + r48663;
        double r48665 = r48664 - r48660;
        double r48666 = r48661 / r48665;
        double r48667 = a;
        double r48668 = r48667 - r48658;
        double r48669 = r48666 * r48668;
        double r48670 = r48658 + r48669;
        return r48670;
}


double f_of(float x, float y, float z, float t, float a) {
        float r48671 = x;
        float r48672 = y;
        float r48673 = z;
        float r48674 = r48672 - r48673;
        float r48675 = t;
        float r48676 = 1.0;
        float r48677 = r48675 + r48676;
        float r48678 = r48677 - r48673;
        float r48679 = r48674 / r48678;
        float r48680 = a;
        float r48681 = r48680 - r48671;
        float r48682 = r48679 * r48681;
        float r48683 = r48671 + r48682;
        float r48684 = -4.729447263504346e-308;
        bool r48685 = r48683 <= r48684;
        float r48686 = r48675 - r48673;
        float r48687 = r48676 + r48686;
        float r48688 = r48681 / r48687;
        float r48689 = r48674 * r48688;
        float r48690 = r48671 + r48689;
        float r48691 = 3.735682881900282e-256;
        bool r48692 = r48683 <= r48691;
        float r48693 = r48672 / r48673;
        float r48694 = r48681 * r48693;
        float r48695 = r48680 - r48694;
        float r48696 = r48692 ? r48695 : r48690;
        float r48697 = r48685 ? r48690 : r48696;
        return r48697;
}

double f_od(double x, double y, double z, double t, double a) {
        double r48698 = x;
        double r48699 = y;
        double r48700 = z;
        double r48701 = r48699 - r48700;
        double r48702 = t;
        double r48703 = 1.0;
        double r48704 = r48702 + r48703;
        double r48705 = r48704 - r48700;
        double r48706 = r48701 / r48705;
        double r48707 = a;
        double r48708 = r48707 - r48698;
        double r48709 = r48706 * r48708;
        double r48710 = r48698 + r48709;
        double r48711 = -4.729447263504346e-308;
        bool r48712 = r48710 <= r48711;
        double r48713 = r48702 - r48700;
        double r48714 = r48703 + r48713;
        double r48715 = r48708 / r48714;
        double r48716 = r48701 * r48715;
        double r48717 = r48698 + r48716;
        double r48718 = 3.735682881900282e-256;
        bool r48719 = r48710 <= r48718;
        double r48720 = r48699 / r48700;
        double r48721 = r48708 * r48720;
        double r48722 = r48707 - r48721;
        double r48723 = r48719 ? r48722 : r48717;
        double r48724 = r48712 ? r48717 : r48723;
        return r48724;
}

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 r48725, r48726, r48727, r48728, r48729, r48730, r48731, r48732, r48733, r48734, r48735, r48736, r48737;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(1424);
        mpfr_init(r48725);
        mpfr_init(r48726);
        mpfr_init(r48727);
        mpfr_init(r48728);
        mpfr_init(r48729);
        mpfr_init_set_str(r48730, "1.0", 10, MPFR_RNDN);
        mpfr_init(r48731);
        mpfr_init(r48732);
        mpfr_init(r48733);
        mpfr_init(r48734);
        mpfr_init(r48735);
        mpfr_init(r48736);
        mpfr_init(r48737);
}

double f_im(double x, double y, double z, double t, double a) {
        mpfr_set_d(r48725, x, MPFR_RNDN);
        mpfr_set_d(r48726, y, MPFR_RNDN);
        mpfr_set_d(r48727, z, MPFR_RNDN);
        mpfr_sub(r48728, r48726, r48727, MPFR_RNDN);
        mpfr_set_d(r48729, t, MPFR_RNDN);
        ;
        mpfr_add(r48731, r48729, r48730, MPFR_RNDN);
        mpfr_sub(r48732, r48731, r48727, MPFR_RNDN);
        mpfr_div(r48733, r48728, r48732, MPFR_RNDN);
        mpfr_set_d(r48734, a, MPFR_RNDN);
        mpfr_sub(r48735, r48734, r48725, MPFR_RNDN);
        mpfr_mul(r48736, r48733, r48735, MPFR_RNDN);
        mpfr_add(r48737, r48725, r48736, MPFR_RNDN);
        return mpfr_get_d(r48737, MPFR_RNDN);
}

static mpfr_t r48738, r48739, r48740, r48741, r48742, r48743, r48744, r48745, r48746, r48747, r48748, r48749, r48750, r48751, r48752, r48753, r48754, r48755, r48756, r48757, r48758, r48759, r48760, r48761, r48762, r48763, r48764;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(1424);
        mpfr_init(r48738);
        mpfr_init(r48739);
        mpfr_init(r48740);
        mpfr_init(r48741);
        mpfr_init(r48742);
        mpfr_init_set_str(r48743, "1.0", 10, MPFR_RNDN);
        mpfr_init(r48744);
        mpfr_init(r48745);
        mpfr_init(r48746);
        mpfr_init(r48747);
        mpfr_init(r48748);
        mpfr_init(r48749);
        mpfr_init(r48750);
        mpfr_init_set_str(r48751, "-4.729447263504346e-308", 10, MPFR_RNDN);
        mpfr_init(r48752);
        mpfr_init(r48753);
        mpfr_init(r48754);
        mpfr_init(r48755);
        mpfr_init(r48756);
        mpfr_init(r48757);
        mpfr_init_set_str(r48758, "3.735682881900282e-256", 10, MPFR_RNDN);
        mpfr_init(r48759);
        mpfr_init(r48760);
        mpfr_init(r48761);
        mpfr_init(r48762);
        mpfr_init(r48763);
        mpfr_init(r48764);
}

double f_fm(double x, double y, double z, double t, double a) {
        mpfr_set_d(r48738, x, MPFR_RNDN);
        mpfr_set_d(r48739, y, MPFR_RNDN);
        mpfr_set_d(r48740, z, MPFR_RNDN);
        mpfr_sub(r48741, r48739, r48740, MPFR_RNDN);
        mpfr_set_d(r48742, t, MPFR_RNDN);
        ;
        mpfr_add(r48744, r48742, r48743, MPFR_RNDN);
        mpfr_sub(r48745, r48744, r48740, MPFR_RNDN);
        mpfr_div(r48746, r48741, r48745, MPFR_RNDN);
        mpfr_set_d(r48747, a, MPFR_RNDN);
        mpfr_sub(r48748, r48747, r48738, MPFR_RNDN);
        mpfr_mul(r48749, r48746, r48748, MPFR_RNDN);
        mpfr_add(r48750, r48738, r48749, MPFR_RNDN);
        ;
        mpfr_set_si(r48752, mpfr_cmp(r48750, r48751) <= 0, MPFR_RNDN);
        mpfr_sub(r48753, r48742, r48740, MPFR_RNDN);
        mpfr_add(r48754, r48743, r48753, MPFR_RNDN);
        mpfr_div(r48755, r48748, r48754, MPFR_RNDN);
        mpfr_mul(r48756, r48741, r48755, MPFR_RNDN);
        mpfr_add(r48757, r48738, r48756, MPFR_RNDN);
        ;
        mpfr_set_si(r48759, mpfr_cmp(r48750, r48758) <= 0, MPFR_RNDN);
        mpfr_div(r48760, r48739, r48740, MPFR_RNDN);
        mpfr_mul(r48761, r48748, r48760, MPFR_RNDN);
        mpfr_sub(r48762, r48747, r48761, MPFR_RNDN);
        if (mpfr_get_si(r48759, MPFR_RNDN)) { mpfr_set(r48763, r48762, MPFR_RNDN); } else { mpfr_set(r48763, r48757, MPFR_RNDN); };
        if (mpfr_get_si(r48752, MPFR_RNDN)) { mpfr_set(r48764, r48757, MPFR_RNDN); } else { mpfr_set(r48764, r48763, MPFR_RNDN); };
        return mpfr_get_d(r48764, MPFR_RNDN);
}

static mpfr_t r48765, r48766, r48767, r48768, r48769, r48770, r48771, r48772, r48773, r48774, r48775, r48776, r48777, r48778, r48779, r48780, r48781, r48782, r48783, r48784, r48785, r48786, r48787, r48788, r48789, r48790, r48791;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(1424);
        mpfr_init(r48765);
        mpfr_init(r48766);
        mpfr_init(r48767);
        mpfr_init(r48768);
        mpfr_init(r48769);
        mpfr_init_set_str(r48770, "1.0", 10, MPFR_RNDN);
        mpfr_init(r48771);
        mpfr_init(r48772);
        mpfr_init(r48773);
        mpfr_init(r48774);
        mpfr_init(r48775);
        mpfr_init(r48776);
        mpfr_init(r48777);
        mpfr_init_set_str(r48778, "-4.729447263504346e-308", 10, MPFR_RNDN);
        mpfr_init(r48779);
        mpfr_init(r48780);
        mpfr_init(r48781);
        mpfr_init(r48782);
        mpfr_init(r48783);
        mpfr_init(r48784);
        mpfr_init_set_str(r48785, "3.735682881900282e-256", 10, MPFR_RNDN);
        mpfr_init(r48786);
        mpfr_init(r48787);
        mpfr_init(r48788);
        mpfr_init(r48789);
        mpfr_init(r48790);
        mpfr_init(r48791);
}

double f_dm(double x, double y, double z, double t, double a) {
        mpfr_set_d(r48765, x, MPFR_RNDN);
        mpfr_set_d(r48766, y, MPFR_RNDN);
        mpfr_set_d(r48767, z, MPFR_RNDN);
        mpfr_sub(r48768, r48766, r48767, MPFR_RNDN);
        mpfr_set_d(r48769, t, MPFR_RNDN);
        ;
        mpfr_add(r48771, r48769, r48770, MPFR_RNDN);
        mpfr_sub(r48772, r48771, r48767, MPFR_RNDN);
        mpfr_div(r48773, r48768, r48772, MPFR_RNDN);
        mpfr_set_d(r48774, a, MPFR_RNDN);
        mpfr_sub(r48775, r48774, r48765, MPFR_RNDN);
        mpfr_mul(r48776, r48773, r48775, MPFR_RNDN);
        mpfr_add(r48777, r48765, r48776, MPFR_RNDN);
        ;
        mpfr_set_si(r48779, mpfr_cmp(r48777, r48778) <= 0, MPFR_RNDN);
        mpfr_sub(r48780, r48769, r48767, MPFR_RNDN);
        mpfr_add(r48781, r48770, r48780, MPFR_RNDN);
        mpfr_div(r48782, r48775, r48781, MPFR_RNDN);
        mpfr_mul(r48783, r48768, r48782, MPFR_RNDN);
        mpfr_add(r48784, r48765, r48783, MPFR_RNDN);
        ;
        mpfr_set_si(r48786, mpfr_cmp(r48777, r48785) <= 0, MPFR_RNDN);
        mpfr_div(r48787, r48766, r48767, MPFR_RNDN);
        mpfr_mul(r48788, r48775, r48787, MPFR_RNDN);
        mpfr_sub(r48789, r48774, r48788, MPFR_RNDN);
        if (mpfr_get_si(r48786, MPFR_RNDN)) { mpfr_set(r48790, r48789, MPFR_RNDN); } else { mpfr_set(r48790, r48784, MPFR_RNDN); };
        if (mpfr_get_si(r48779, MPFR_RNDN)) { mpfr_set(r48791, r48784, MPFR_RNDN); } else { mpfr_set(r48791, r48790, MPFR_RNDN); };
        return mpfr_get_d(r48791, MPFR_RNDN);
}

