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

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

double f_if(float x, float y, float z, float t, float a) {
        float r46567 = x;
        float r46568 = y;
        float r46569 = z;
        float r46570 = t;
        float r46571 = r46569 - r46570;
        float r46572 = r46568 * r46571;
        float r46573 = a;
        float r46574 = r46569 - r46573;
        float r46575 = r46572 / r46574;
        float r46576 = r46567 + r46575;
        return r46576;
}

double f_id(double x, double y, double z, double t, double a) {
        double r46577 = x;
        double r46578 = y;
        double r46579 = z;
        double r46580 = t;
        double r46581 = r46579 - r46580;
        double r46582 = r46578 * r46581;
        double r46583 = a;
        double r46584 = r46579 - r46583;
        double r46585 = r46582 / r46584;
        double r46586 = r46577 + r46585;
        return r46586;
}


double f_of(float x, float y, float z, float t, float a) {
        float r46587 = z;
        float r46588 = -1.7338791390618684e-264f;
        bool r46589 = r46587 <= r46588;
        float r46590 = x;
        float r46591 = y;
        float r46592 = 1.0f;
        float r46593 = r46591 / r46592;
        float r46594 = t;
        float r46595 = r46587 - r46594;
        float r46596 = a;
        float r46597 = r46587 - r46596;
        float r46598 = r46595 / r46597;
        float r46599 = r46593 * r46598;
        float r46600 = r46590 + r46599;
        float r46601 = 6.161869838226869e-132f;
        bool r46602 = r46587 <= r46601;
        float r46603 = r46591 / r46597;
        float r46604 = r46595 * r46603;
        float r46605 = r46604 + r46590;
        float r46606 = r46597 / r46595;
        float r46607 = r46591 / r46606;
        float r46608 = r46590 + r46607;
        float r46609 = r46602 ? r46605 : r46608;
        float r46610 = r46589 ? r46600 : r46609;
        return r46610;
}

double f_od(double x, double y, double z, double t, double a) {
        double r46611 = z;
        double r46612 = -1.7338791390618684e-264;
        bool r46613 = r46611 <= r46612;
        double r46614 = x;
        double r46615 = y;
        double r46616 = 1.0;
        double r46617 = r46615 / r46616;
        double r46618 = t;
        double r46619 = r46611 - r46618;
        double r46620 = a;
        double r46621 = r46611 - r46620;
        double r46622 = r46619 / r46621;
        double r46623 = r46617 * r46622;
        double r46624 = r46614 + r46623;
        double r46625 = 6.161869838226869e-132;
        bool r46626 = r46611 <= r46625;
        double r46627 = r46615 / r46621;
        double r46628 = r46619 * r46627;
        double r46629 = r46628 + r46614;
        double r46630 = r46621 / r46619;
        double r46631 = r46615 / r46630;
        double r46632 = r46614 + r46631;
        double r46633 = r46626 ? r46629 : r46632;
        double r46634 = r46613 ? r46624 : r46633;
        return r46634;
}

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 r46635, r46636, r46637, r46638, r46639, r46640, r46641, r46642, r46643, r46644;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(144);
        mpfr_init(r46635);
        mpfr_init(r46636);
        mpfr_init(r46637);
        mpfr_init(r46638);
        mpfr_init(r46639);
        mpfr_init(r46640);
        mpfr_init(r46641);
        mpfr_init(r46642);
        mpfr_init(r46643);
        mpfr_init(r46644);
}

double f_im(double x, double y, double z, double t, double a) {
        mpfr_set_d(r46635, x, MPFR_RNDN);
        mpfr_set_d(r46636, y, MPFR_RNDN);
        mpfr_set_d(r46637, z, MPFR_RNDN);
        mpfr_set_d(r46638, t, MPFR_RNDN);
        mpfr_sub(r46639, r46637, r46638, MPFR_RNDN);
        mpfr_mul(r46640, r46636, r46639, MPFR_RNDN);
        mpfr_set_d(r46641, a, MPFR_RNDN);
        mpfr_sub(r46642, r46637, r46641, MPFR_RNDN);
        mpfr_div(r46643, r46640, r46642, MPFR_RNDN);
        mpfr_add(r46644, r46635, r46643, MPFR_RNDN);
        return mpfr_get_d(r46644, MPFR_RNDN);
}

static mpfr_t r46645, r46646, r46647, r46648, r46649, r46650, r46651, r46652, r46653, r46654, r46655, r46656, r46657, r46658, r46659, r46660, r46661, r46662, r46663, r46664, r46665, r46666, r46667, r46668;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(144);
        mpfr_init(r46645);
        mpfr_init_set_str(r46646, "-1.7338791390618684e-264", 10, MPFR_RNDN);
        mpfr_init(r46647);
        mpfr_init(r46648);
        mpfr_init(r46649);
        mpfr_init_set_str(r46650, "1", 10, MPFR_RNDN);
        mpfr_init(r46651);
        mpfr_init(r46652);
        mpfr_init(r46653);
        mpfr_init(r46654);
        mpfr_init(r46655);
        mpfr_init(r46656);
        mpfr_init(r46657);
        mpfr_init(r46658);
        mpfr_init_set_str(r46659, "6.161869838226869e-132", 10, MPFR_RNDN);
        mpfr_init(r46660);
        mpfr_init(r46661);
        mpfr_init(r46662);
        mpfr_init(r46663);
        mpfr_init(r46664);
        mpfr_init(r46665);
        mpfr_init(r46666);
        mpfr_init(r46667);
        mpfr_init(r46668);
}

double f_fm(double x, double y, double z, double t, double a) {
        mpfr_set_d(r46645, z, MPFR_RNDN);
        ;
        mpfr_set_si(r46647, mpfr_cmp(r46645, r46646) <= 0, MPFR_RNDN);
        mpfr_set_d(r46648, x, MPFR_RNDN);
        mpfr_set_d(r46649, y, MPFR_RNDN);
        ;
        mpfr_div(r46651, r46649, r46650, MPFR_RNDN);
        mpfr_set_d(r46652, t, MPFR_RNDN);
        mpfr_sub(r46653, r46645, r46652, MPFR_RNDN);
        mpfr_set_d(r46654, a, MPFR_RNDN);
        mpfr_sub(r46655, r46645, r46654, MPFR_RNDN);
        mpfr_div(r46656, r46653, r46655, MPFR_RNDN);
        mpfr_mul(r46657, r46651, r46656, MPFR_RNDN);
        mpfr_add(r46658, r46648, r46657, MPFR_RNDN);
        ;
        mpfr_set_si(r46660, mpfr_cmp(r46645, r46659) <= 0, MPFR_RNDN);
        mpfr_div(r46661, r46649, r46655, MPFR_RNDN);
        mpfr_mul(r46662, r46653, r46661, MPFR_RNDN);
        mpfr_add(r46663, r46662, r46648, MPFR_RNDN);
        mpfr_div(r46664, r46655, r46653, MPFR_RNDN);
        mpfr_div(r46665, r46649, r46664, MPFR_RNDN);
        mpfr_add(r46666, r46648, r46665, MPFR_RNDN);
        if (mpfr_get_si(r46660, MPFR_RNDN)) { mpfr_set(r46667, r46663, MPFR_RNDN); } else { mpfr_set(r46667, r46666, MPFR_RNDN); };
        if (mpfr_get_si(r46647, MPFR_RNDN)) { mpfr_set(r46668, r46658, MPFR_RNDN); } else { mpfr_set(r46668, r46667, MPFR_RNDN); };
        return mpfr_get_d(r46668, MPFR_RNDN);
}

static mpfr_t r46669, r46670, r46671, r46672, r46673, r46674, r46675, r46676, r46677, r46678, r46679, r46680, r46681, r46682, r46683, r46684, r46685, r46686, r46687, r46688, r46689, r46690, r46691, r46692;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(144);
        mpfr_init(r46669);
        mpfr_init_set_str(r46670, "-1.7338791390618684e-264", 10, MPFR_RNDN);
        mpfr_init(r46671);
        mpfr_init(r46672);
        mpfr_init(r46673);
        mpfr_init_set_str(r46674, "1", 10, MPFR_RNDN);
        mpfr_init(r46675);
        mpfr_init(r46676);
        mpfr_init(r46677);
        mpfr_init(r46678);
        mpfr_init(r46679);
        mpfr_init(r46680);
        mpfr_init(r46681);
        mpfr_init(r46682);
        mpfr_init_set_str(r46683, "6.161869838226869e-132", 10, MPFR_RNDN);
        mpfr_init(r46684);
        mpfr_init(r46685);
        mpfr_init(r46686);
        mpfr_init(r46687);
        mpfr_init(r46688);
        mpfr_init(r46689);
        mpfr_init(r46690);
        mpfr_init(r46691);
        mpfr_init(r46692);
}

double f_dm(double x, double y, double z, double t, double a) {
        mpfr_set_d(r46669, z, MPFR_RNDN);
        ;
        mpfr_set_si(r46671, mpfr_cmp(r46669, r46670) <= 0, MPFR_RNDN);
        mpfr_set_d(r46672, x, MPFR_RNDN);
        mpfr_set_d(r46673, y, MPFR_RNDN);
        ;
        mpfr_div(r46675, r46673, r46674, MPFR_RNDN);
        mpfr_set_d(r46676, t, MPFR_RNDN);
        mpfr_sub(r46677, r46669, r46676, MPFR_RNDN);
        mpfr_set_d(r46678, a, MPFR_RNDN);
        mpfr_sub(r46679, r46669, r46678, MPFR_RNDN);
        mpfr_div(r46680, r46677, r46679, MPFR_RNDN);
        mpfr_mul(r46681, r46675, r46680, MPFR_RNDN);
        mpfr_add(r46682, r46672, r46681, MPFR_RNDN);
        ;
        mpfr_set_si(r46684, mpfr_cmp(r46669, r46683) <= 0, MPFR_RNDN);
        mpfr_div(r46685, r46673, r46679, MPFR_RNDN);
        mpfr_mul(r46686, r46677, r46685, MPFR_RNDN);
        mpfr_add(r46687, r46686, r46672, MPFR_RNDN);
        mpfr_div(r46688, r46679, r46677, MPFR_RNDN);
        mpfr_div(r46689, r46673, r46688, MPFR_RNDN);
        mpfr_add(r46690, r46672, r46689, MPFR_RNDN);
        if (mpfr_get_si(r46684, MPFR_RNDN)) { mpfr_set(r46691, r46687, MPFR_RNDN); } else { mpfr_set(r46691, r46690, MPFR_RNDN); };
        if (mpfr_get_si(r46671, MPFR_RNDN)) { mpfr_set(r46692, r46682, MPFR_RNDN); } else { mpfr_set(r46692, r46691, MPFR_RNDN); };
        return mpfr_get_d(r46692, MPFR_RNDN);
}

