#include <tgmath.h>
#include <gmp.h>
#include <mpfr.h>
#include <stdio.h>
#include <stdbool.h>

char *name = "Graphics.Rendering.Plot.Render.Plot.Axis:renderAxisTick from plot-0.2.3.4, A";

double f_if(float x, float y, float z, float t, float a) {
        float r49649 = x;
        float r49650 = y;
        float r49651 = z;
        float r49652 = r49650 - r49651;
        float r49653 = t;
        float r49654 = r49652 * r49653;
        float r49655 = a;
        float r49656 = r49655 - r49651;
        float r49657 = r49654 / r49656;
        float r49658 = r49649 + r49657;
        return r49658;
}

double f_id(double x, double y, double z, double t, double a) {
        double r49659 = x;
        double r49660 = y;
        double r49661 = z;
        double r49662 = r49660 - r49661;
        double r49663 = t;
        double r49664 = r49662 * r49663;
        double r49665 = a;
        double r49666 = r49665 - r49661;
        double r49667 = r49664 / r49666;
        double r49668 = r49659 + r49667;
        return r49668;
}


double f_of(float x, float y, float z, float t, float a) {
        float r49669 = t;
        float r49670 = -124511.71005566457;
        bool r49671 = r49669 <= r49670;
        float r49672 = x;
        float r49673 = y;
        float r49674 = z;
        float r49675 = r49673 - r49674;
        float r49676 = 1;
        float r49677 = r49675 / r49676;
        float r49678 = a;
        float r49679 = r49678 - r49674;
        float r49680 = r49669 / r49679;
        float r49681 = r49677 * r49680;
        float r49682 = r49672 + r49681;
        float r49683 = 1.385403597157382e+79;
        bool r49684 = r49669 <= r49683;
        float r49685 = r49675 * r49669;
        float r49686 = r49676 / r49679;
        float r49687 = r49685 * r49686;
        float r49688 = r49672 + r49687;
        float r49689 = cbrt(r49679);
        float r49690 = r49689 * r49689;
        float r49691 = r49675 / r49690;
        float r49692 = r49669 / r49689;
        float r49693 = r49691 * r49692;
        float r49694 = cbrt(r49693);
        float r49695 = r49694 * r49694;
        float r49696 = r49695 * r49694;
        float r49697 = r49672 + r49696;
        float r49698 = r49684 ? r49688 : r49697;
        float r49699 = r49671 ? r49682 : r49698;
        return r49699;
}

double f_od(double x, double y, double z, double t, double a) {
        double r49700 = t;
        double r49701 = -124511.71005566457;
        bool r49702 = r49700 <= r49701;
        double r49703 = x;
        double r49704 = y;
        double r49705 = z;
        double r49706 = r49704 - r49705;
        double r49707 = 1;
        double r49708 = r49706 / r49707;
        double r49709 = a;
        double r49710 = r49709 - r49705;
        double r49711 = r49700 / r49710;
        double r49712 = r49708 * r49711;
        double r49713 = r49703 + r49712;
        double r49714 = 1.385403597157382e+79;
        bool r49715 = r49700 <= r49714;
        double r49716 = r49706 * r49700;
        double r49717 = r49707 / r49710;
        double r49718 = r49716 * r49717;
        double r49719 = r49703 + r49718;
        double r49720 = cbrt(r49710);
        double r49721 = r49720 * r49720;
        double r49722 = r49706 / r49721;
        double r49723 = r49700 / r49720;
        double r49724 = r49722 * r49723;
        double r49725 = cbrt(r49724);
        double r49726 = r49725 * r49725;
        double r49727 = r49726 * r49725;
        double r49728 = r49703 + r49727;
        double r49729 = r49715 ? r49719 : r49728;
        double r49730 = r49702 ? r49713 : r49729;
        return r49730;
}

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 r49731, r49732, r49733, r49734, r49735, r49736, r49737, r49738, r49739, r49740;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(656);
        mpfr_init(r49731);
        mpfr_init(r49732);
        mpfr_init(r49733);
        mpfr_init(r49734);
        mpfr_init(r49735);
        mpfr_init(r49736);
        mpfr_init(r49737);
        mpfr_init(r49738);
        mpfr_init(r49739);
        mpfr_init(r49740);
}

double f_im(double x, double y, double z, double t, double a) {
        mpfr_set_d(r49731, x, MPFR_RNDN);
        mpfr_set_d(r49732, y, MPFR_RNDN);
        mpfr_set_d(r49733, z, MPFR_RNDN);
        mpfr_sub(r49734, r49732, r49733, MPFR_RNDN);
        mpfr_set_d(r49735, t, MPFR_RNDN);
        mpfr_mul(r49736, r49734, r49735, MPFR_RNDN);
        mpfr_set_d(r49737, a, MPFR_RNDN);
        mpfr_sub(r49738, r49737, r49733, MPFR_RNDN);
        mpfr_div(r49739, r49736, r49738, MPFR_RNDN);
        mpfr_add(r49740, r49731, r49739, MPFR_RNDN);
        return mpfr_get_d(r49740, MPFR_RNDN);
}

static mpfr_t r49741, r49742, r49743, r49744, r49745, r49746, r49747, r49748, r49749, r49750, r49751, r49752, r49753, r49754, r49755, r49756, r49757, r49758, r49759, r49760, r49761, r49762, r49763, r49764, r49765, r49766, r49767, r49768, r49769, r49770, r49771;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(656);
        mpfr_init(r49741);
        mpfr_init_set_str(r49742, "-124511.71005566457", 10, MPFR_RNDN);
        mpfr_init(r49743);
        mpfr_init(r49744);
        mpfr_init(r49745);
        mpfr_init(r49746);
        mpfr_init(r49747);
        mpfr_init_set_str(r49748, "1", 10, MPFR_RNDN);
        mpfr_init(r49749);
        mpfr_init(r49750);
        mpfr_init(r49751);
        mpfr_init(r49752);
        mpfr_init(r49753);
        mpfr_init(r49754);
        mpfr_init_set_str(r49755, "1.385403597157382e+79", 10, MPFR_RNDN);
        mpfr_init(r49756);
        mpfr_init(r49757);
        mpfr_init(r49758);
        mpfr_init(r49759);
        mpfr_init(r49760);
        mpfr_init(r49761);
        mpfr_init(r49762);
        mpfr_init(r49763);
        mpfr_init(r49764);
        mpfr_init(r49765);
        mpfr_init(r49766);
        mpfr_init(r49767);
        mpfr_init(r49768);
        mpfr_init(r49769);
        mpfr_init(r49770);
        mpfr_init(r49771);
}

double f_fm(double x, double y, double z, double t, double a) {
        mpfr_set_d(r49741, t, MPFR_RNDN);
        ;
        mpfr_set_si(r49743, mpfr_cmp(r49741, r49742) <= 0, MPFR_RNDN);
        mpfr_set_d(r49744, x, MPFR_RNDN);
        mpfr_set_d(r49745, y, MPFR_RNDN);
        mpfr_set_d(r49746, z, MPFR_RNDN);
        mpfr_sub(r49747, r49745, r49746, MPFR_RNDN);
        ;
        mpfr_div(r49749, r49747, r49748, MPFR_RNDN);
        mpfr_set_d(r49750, a, MPFR_RNDN);
        mpfr_sub(r49751, r49750, r49746, MPFR_RNDN);
        mpfr_div(r49752, r49741, r49751, MPFR_RNDN);
        mpfr_mul(r49753, r49749, r49752, MPFR_RNDN);
        mpfr_add(r49754, r49744, r49753, MPFR_RNDN);
        ;
        mpfr_set_si(r49756, mpfr_cmp(r49741, r49755) <= 0, MPFR_RNDN);
        mpfr_mul(r49757, r49747, r49741, MPFR_RNDN);
        mpfr_div(r49758, r49748, r49751, MPFR_RNDN);
        mpfr_mul(r49759, r49757, r49758, MPFR_RNDN);
        mpfr_add(r49760, r49744, r49759, MPFR_RNDN);
        mpfr_cbrt(r49761, r49751, MPFR_RNDN);
        mpfr_mul(r49762, r49761, r49761, MPFR_RNDN);
        mpfr_div(r49763, r49747, r49762, MPFR_RNDN);
        mpfr_div(r49764, r49741, r49761, MPFR_RNDN);
        mpfr_mul(r49765, r49763, r49764, MPFR_RNDN);
        mpfr_cbrt(r49766, r49765, MPFR_RNDN);
        mpfr_mul(r49767, r49766, r49766, MPFR_RNDN);
        mpfr_mul(r49768, r49767, r49766, MPFR_RNDN);
        mpfr_add(r49769, r49744, r49768, MPFR_RNDN);
        if (mpfr_get_si(r49756, MPFR_RNDN)) { mpfr_set(r49770, r49760, MPFR_RNDN); } else { mpfr_set(r49770, r49769, MPFR_RNDN); };
        if (mpfr_get_si(r49743, MPFR_RNDN)) { mpfr_set(r49771, r49754, MPFR_RNDN); } else { mpfr_set(r49771, r49770, MPFR_RNDN); };
        return mpfr_get_d(r49771, MPFR_RNDN);
}

static mpfr_t r49772, r49773, r49774, r49775, r49776, r49777, r49778, r49779, r49780, r49781, r49782, r49783, r49784, r49785, r49786, r49787, r49788, r49789, r49790, r49791, r49792, r49793, r49794, r49795, r49796, r49797, r49798, r49799, r49800, r49801, r49802;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(656);
        mpfr_init(r49772);
        mpfr_init_set_str(r49773, "-124511.71005566457", 10, MPFR_RNDN);
        mpfr_init(r49774);
        mpfr_init(r49775);
        mpfr_init(r49776);
        mpfr_init(r49777);
        mpfr_init(r49778);
        mpfr_init_set_str(r49779, "1", 10, MPFR_RNDN);
        mpfr_init(r49780);
        mpfr_init(r49781);
        mpfr_init(r49782);
        mpfr_init(r49783);
        mpfr_init(r49784);
        mpfr_init(r49785);
        mpfr_init_set_str(r49786, "1.385403597157382e+79", 10, MPFR_RNDN);
        mpfr_init(r49787);
        mpfr_init(r49788);
        mpfr_init(r49789);
        mpfr_init(r49790);
        mpfr_init(r49791);
        mpfr_init(r49792);
        mpfr_init(r49793);
        mpfr_init(r49794);
        mpfr_init(r49795);
        mpfr_init(r49796);
        mpfr_init(r49797);
        mpfr_init(r49798);
        mpfr_init(r49799);
        mpfr_init(r49800);
        mpfr_init(r49801);
        mpfr_init(r49802);
}

double f_dm(double x, double y, double z, double t, double a) {
        mpfr_set_d(r49772, t, MPFR_RNDN);
        ;
        mpfr_set_si(r49774, mpfr_cmp(r49772, r49773) <= 0, MPFR_RNDN);
        mpfr_set_d(r49775, x, MPFR_RNDN);
        mpfr_set_d(r49776, y, MPFR_RNDN);
        mpfr_set_d(r49777, z, MPFR_RNDN);
        mpfr_sub(r49778, r49776, r49777, MPFR_RNDN);
        ;
        mpfr_div(r49780, r49778, r49779, MPFR_RNDN);
        mpfr_set_d(r49781, a, MPFR_RNDN);
        mpfr_sub(r49782, r49781, r49777, MPFR_RNDN);
        mpfr_div(r49783, r49772, r49782, MPFR_RNDN);
        mpfr_mul(r49784, r49780, r49783, MPFR_RNDN);
        mpfr_add(r49785, r49775, r49784, MPFR_RNDN);
        ;
        mpfr_set_si(r49787, mpfr_cmp(r49772, r49786) <= 0, MPFR_RNDN);
        mpfr_mul(r49788, r49778, r49772, MPFR_RNDN);
        mpfr_div(r49789, r49779, r49782, MPFR_RNDN);
        mpfr_mul(r49790, r49788, r49789, MPFR_RNDN);
        mpfr_add(r49791, r49775, r49790, MPFR_RNDN);
        mpfr_cbrt(r49792, r49782, MPFR_RNDN);
        mpfr_mul(r49793, r49792, r49792, MPFR_RNDN);
        mpfr_div(r49794, r49778, r49793, MPFR_RNDN);
        mpfr_div(r49795, r49772, r49792, MPFR_RNDN);
        mpfr_mul(r49796, r49794, r49795, MPFR_RNDN);
        mpfr_cbrt(r49797, r49796, MPFR_RNDN);
        mpfr_mul(r49798, r49797, r49797, MPFR_RNDN);
        mpfr_mul(r49799, r49798, r49797, MPFR_RNDN);
        mpfr_add(r49800, r49775, r49799, MPFR_RNDN);
        if (mpfr_get_si(r49787, MPFR_RNDN)) { mpfr_set(r49801, r49791, MPFR_RNDN); } else { mpfr_set(r49801, r49800, MPFR_RNDN); };
        if (mpfr_get_si(r49774, MPFR_RNDN)) { mpfr_set(r49802, r49785, MPFR_RNDN); } else { mpfr_set(r49802, r49801, MPFR_RNDN); };
        return mpfr_get_d(r49802, MPFR_RNDN);
}

