#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 r49644 = x;
        float r49645 = y;
        float r49646 = z;
        float r49647 = r49645 - r49646;
        float r49648 = t;
        float r49649 = r49647 * r49648;
        float r49650 = a;
        float r49651 = r49650 - r49646;
        float r49652 = r49649 / r49651;
        float r49653 = r49644 + r49652;
        return r49653;
}

double f_id(double x, double y, double z, double t, double a) {
        double r49654 = x;
        double r49655 = y;
        double r49656 = z;
        double r49657 = r49655 - r49656;
        double r49658 = t;
        double r49659 = r49657 * r49658;
        double r49660 = a;
        double r49661 = r49660 - r49656;
        double r49662 = r49659 / r49661;
        double r49663 = r49654 + r49662;
        return r49663;
}


double f_of(float x, float y, float z, float t, float a) {
        float r49664 = t;
        float r49665 = -124511.71005566457;
        bool r49666 = r49664 <= r49665;
        float r49667 = x;
        float r49668 = y;
        float r49669 = z;
        float r49670 = r49668 - r49669;
        float r49671 = 1;
        float r49672 = r49670 / r49671;
        float r49673 = a;
        float r49674 = r49673 - r49669;
        float r49675 = r49664 / r49674;
        float r49676 = r49672 * r49675;
        float r49677 = r49667 + r49676;
        float r49678 = 1.385403597157382e+79;
        bool r49679 = r49664 <= r49678;
        float r49680 = r49670 * r49664;
        float r49681 = r49671 / r49674;
        float r49682 = r49680 * r49681;
        float r49683 = r49667 + r49682;
        float r49684 = r49674 / r49664;
        float r49685 = r49670 / r49684;
        float r49686 = r49685 + r49667;
        float r49687 = r49679 ? r49683 : r49686;
        float r49688 = r49666 ? r49677 : r49687;
        return r49688;
}

double f_od(double x, double y, double z, double t, double a) {
        double r49689 = t;
        double r49690 = -124511.71005566457;
        bool r49691 = r49689 <= r49690;
        double r49692 = x;
        double r49693 = y;
        double r49694 = z;
        double r49695 = r49693 - r49694;
        double r49696 = 1;
        double r49697 = r49695 / r49696;
        double r49698 = a;
        double r49699 = r49698 - r49694;
        double r49700 = r49689 / r49699;
        double r49701 = r49697 * r49700;
        double r49702 = r49692 + r49701;
        double r49703 = 1.385403597157382e+79;
        bool r49704 = r49689 <= r49703;
        double r49705 = r49695 * r49689;
        double r49706 = r49696 / r49699;
        double r49707 = r49705 * r49706;
        double r49708 = r49692 + r49707;
        double r49709 = r49699 / r49689;
        double r49710 = r49695 / r49709;
        double r49711 = r49710 + r49692;
        double r49712 = r49704 ? r49708 : r49711;
        double r49713 = r49691 ? r49702 : r49712;
        return r49713;
}

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 r49714, r49715, r49716, r49717, r49718, r49719, r49720, r49721, r49722, r49723;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(656);
        mpfr_init(r49714);
        mpfr_init(r49715);
        mpfr_init(r49716);
        mpfr_init(r49717);
        mpfr_init(r49718);
        mpfr_init(r49719);
        mpfr_init(r49720);
        mpfr_init(r49721);
        mpfr_init(r49722);
        mpfr_init(r49723);
}

double f_im(double x, double y, double z, double t, double a) {
        mpfr_set_d(r49714, x, MPFR_RNDN);
        mpfr_set_d(r49715, y, MPFR_RNDN);
        mpfr_set_d(r49716, z, MPFR_RNDN);
        mpfr_sub(r49717, r49715, r49716, MPFR_RNDN);
        mpfr_set_d(r49718, t, MPFR_RNDN);
        mpfr_mul(r49719, r49717, r49718, MPFR_RNDN);
        mpfr_set_d(r49720, a, MPFR_RNDN);
        mpfr_sub(r49721, r49720, r49716, MPFR_RNDN);
        mpfr_div(r49722, r49719, r49721, MPFR_RNDN);
        mpfr_add(r49723, r49714, r49722, MPFR_RNDN);
        return mpfr_get_d(r49723, MPFR_RNDN);
}

static mpfr_t r49724, r49725, r49726, r49727, r49728, r49729, r49730, r49731, r49732, r49733, r49734, r49735, r49736, r49737, r49738, r49739, r49740, r49741, r49742, r49743, r49744, r49745, r49746, r49747, r49748;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(656);
        mpfr_init(r49724);
        mpfr_init_set_str(r49725, "-124511.71005566457", 10, MPFR_RNDN);
        mpfr_init(r49726);
        mpfr_init(r49727);
        mpfr_init(r49728);
        mpfr_init(r49729);
        mpfr_init(r49730);
        mpfr_init_set_str(r49731, "1", 10, MPFR_RNDN);
        mpfr_init(r49732);
        mpfr_init(r49733);
        mpfr_init(r49734);
        mpfr_init(r49735);
        mpfr_init(r49736);
        mpfr_init(r49737);
        mpfr_init_set_str(r49738, "1.385403597157382e+79", 10, MPFR_RNDN);
        mpfr_init(r49739);
        mpfr_init(r49740);
        mpfr_init(r49741);
        mpfr_init(r49742);
        mpfr_init(r49743);
        mpfr_init(r49744);
        mpfr_init(r49745);
        mpfr_init(r49746);
        mpfr_init(r49747);
        mpfr_init(r49748);
}

double f_fm(double x, double y, double z, double t, double a) {
        mpfr_set_d(r49724, t, MPFR_RNDN);
        ;
        mpfr_set_si(r49726, mpfr_cmp(r49724, r49725) <= 0, MPFR_RNDN);
        mpfr_set_d(r49727, x, MPFR_RNDN);
        mpfr_set_d(r49728, y, MPFR_RNDN);
        mpfr_set_d(r49729, z, MPFR_RNDN);
        mpfr_sub(r49730, r49728, r49729, MPFR_RNDN);
        ;
        mpfr_div(r49732, r49730, r49731, MPFR_RNDN);
        mpfr_set_d(r49733, a, MPFR_RNDN);
        mpfr_sub(r49734, r49733, r49729, MPFR_RNDN);
        mpfr_div(r49735, r49724, r49734, MPFR_RNDN);
        mpfr_mul(r49736, r49732, r49735, MPFR_RNDN);
        mpfr_add(r49737, r49727, r49736, MPFR_RNDN);
        ;
        mpfr_set_si(r49739, mpfr_cmp(r49724, r49738) <= 0, MPFR_RNDN);
        mpfr_mul(r49740, r49730, r49724, MPFR_RNDN);
        mpfr_div(r49741, r49731, r49734, MPFR_RNDN);
        mpfr_mul(r49742, r49740, r49741, MPFR_RNDN);
        mpfr_add(r49743, r49727, r49742, MPFR_RNDN);
        mpfr_div(r49744, r49734, r49724, MPFR_RNDN);
        mpfr_div(r49745, r49730, r49744, MPFR_RNDN);
        mpfr_add(r49746, r49745, r49727, MPFR_RNDN);
        if (mpfr_get_si(r49739, MPFR_RNDN)) { mpfr_set(r49747, r49743, MPFR_RNDN); } else { mpfr_set(r49747, r49746, MPFR_RNDN); };
        if (mpfr_get_si(r49726, MPFR_RNDN)) { mpfr_set(r49748, r49737, MPFR_RNDN); } else { mpfr_set(r49748, r49747, MPFR_RNDN); };
        return mpfr_get_d(r49748, MPFR_RNDN);
}

static mpfr_t r49749, r49750, r49751, r49752, r49753, r49754, r49755, r49756, r49757, r49758, r49759, r49760, r49761, r49762, r49763, r49764, r49765, r49766, r49767, r49768, r49769, r49770, r49771, r49772, r49773;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(656);
        mpfr_init(r49749);
        mpfr_init_set_str(r49750, "-124511.71005566457", 10, MPFR_RNDN);
        mpfr_init(r49751);
        mpfr_init(r49752);
        mpfr_init(r49753);
        mpfr_init(r49754);
        mpfr_init(r49755);
        mpfr_init_set_str(r49756, "1", 10, MPFR_RNDN);
        mpfr_init(r49757);
        mpfr_init(r49758);
        mpfr_init(r49759);
        mpfr_init(r49760);
        mpfr_init(r49761);
        mpfr_init(r49762);
        mpfr_init_set_str(r49763, "1.385403597157382e+79", 10, MPFR_RNDN);
        mpfr_init(r49764);
        mpfr_init(r49765);
        mpfr_init(r49766);
        mpfr_init(r49767);
        mpfr_init(r49768);
        mpfr_init(r49769);
        mpfr_init(r49770);
        mpfr_init(r49771);
        mpfr_init(r49772);
        mpfr_init(r49773);
}

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

