#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, B";

double f_if(float x, float y, float z, float t, float a) {
        float r48602 = x;
        float r48603 = y;
        float r48604 = z;
        float r48605 = t;
        float r48606 = r48604 - r48605;
        float r48607 = r48603 * r48606;
        float r48608 = a;
        float r48609 = r48608 - r48605;
        float r48610 = r48607 / r48609;
        float r48611 = r48602 + r48610;
        return r48611;
}

double f_id(double x, double y, double z, double t, double a) {
        double r48612 = x;
        double r48613 = y;
        double r48614 = z;
        double r48615 = t;
        double r48616 = r48614 - r48615;
        double r48617 = r48613 * r48616;
        double r48618 = a;
        double r48619 = r48618 - r48615;
        double r48620 = r48617 / r48619;
        double r48621 = r48612 + r48620;
        return r48621;
}


double f_of(float x, float y, float z, float t, float a) {
        float r48622 = x;
        float r48623 = y;
        float r48624 = 1;
        float r48625 = r48623 / r48624;
        float r48626 = z;
        float r48627 = t;
        float r48628 = r48626 - r48627;
        float r48629 = a;
        float r48630 = r48629 - r48627;
        float r48631 = r48628 / r48630;
        float r48632 = r48625 * r48631;
        float r48633 = r48622 + r48632;
        return r48633;
}

double f_od(double x, double y, double z, double t, double a) {
        double r48634 = x;
        double r48635 = y;
        double r48636 = 1;
        double r48637 = r48635 / r48636;
        double r48638 = z;
        double r48639 = t;
        double r48640 = r48638 - r48639;
        double r48641 = a;
        double r48642 = r48641 - r48639;
        double r48643 = r48640 / r48642;
        double r48644 = r48637 * r48643;
        double r48645 = r48634 + r48644;
        return r48645;
}

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 r48646, r48647, r48648, r48649, r48650, r48651, r48652, r48653, r48654, r48655;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(400);
        mpfr_init(r48646);
        mpfr_init(r48647);
        mpfr_init(r48648);
        mpfr_init(r48649);
        mpfr_init(r48650);
        mpfr_init(r48651);
        mpfr_init(r48652);
        mpfr_init(r48653);
        mpfr_init(r48654);
        mpfr_init(r48655);
}

double f_im(double x, double y, double z, double t, double a) {
        mpfr_set_d(r48646, x, MPFR_RNDN);
        mpfr_set_d(r48647, y, MPFR_RNDN);
        mpfr_set_d(r48648, z, MPFR_RNDN);
        mpfr_set_d(r48649, t, MPFR_RNDN);
        mpfr_sub(r48650, r48648, r48649, MPFR_RNDN);
        mpfr_mul(r48651, r48647, r48650, MPFR_RNDN);
        mpfr_set_d(r48652, a, MPFR_RNDN);
        mpfr_sub(r48653, r48652, r48649, MPFR_RNDN);
        mpfr_div(r48654, r48651, r48653, MPFR_RNDN);
        mpfr_add(r48655, r48646, r48654, MPFR_RNDN);
        return mpfr_get_d(r48655, MPFR_RNDN);
}

static mpfr_t r48656, r48657, r48658, r48659, r48660, r48661, r48662, r48663, r48664, r48665, r48666, r48667;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(400);
        mpfr_init(r48656);
        mpfr_init(r48657);
        mpfr_init_set_str(r48658, "1", 10, MPFR_RNDN);
        mpfr_init(r48659);
        mpfr_init(r48660);
        mpfr_init(r48661);
        mpfr_init(r48662);
        mpfr_init(r48663);
        mpfr_init(r48664);
        mpfr_init(r48665);
        mpfr_init(r48666);
        mpfr_init(r48667);
}

double f_fm(double x, double y, double z, double t, double a) {
        mpfr_set_d(r48656, x, MPFR_RNDN);
        mpfr_set_d(r48657, y, MPFR_RNDN);
        ;
        mpfr_div(r48659, r48657, r48658, MPFR_RNDN);
        mpfr_set_d(r48660, z, MPFR_RNDN);
        mpfr_set_d(r48661, t, MPFR_RNDN);
        mpfr_sub(r48662, r48660, r48661, MPFR_RNDN);
        mpfr_set_d(r48663, a, MPFR_RNDN);
        mpfr_sub(r48664, r48663, r48661, MPFR_RNDN);
        mpfr_div(r48665, r48662, r48664, MPFR_RNDN);
        mpfr_mul(r48666, r48659, r48665, MPFR_RNDN);
        mpfr_add(r48667, r48656, r48666, MPFR_RNDN);
        return mpfr_get_d(r48667, MPFR_RNDN);
}

static mpfr_t r48668, r48669, r48670, r48671, r48672, r48673, r48674, r48675, r48676, r48677, r48678, r48679;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(400);
        mpfr_init(r48668);
        mpfr_init(r48669);
        mpfr_init_set_str(r48670, "1", 10, MPFR_RNDN);
        mpfr_init(r48671);
        mpfr_init(r48672);
        mpfr_init(r48673);
        mpfr_init(r48674);
        mpfr_init(r48675);
        mpfr_init(r48676);
        mpfr_init(r48677);
        mpfr_init(r48678);
        mpfr_init(r48679);
}

double f_dm(double x, double y, double z, double t, double a) {
        mpfr_set_d(r48668, x, MPFR_RNDN);
        mpfr_set_d(r48669, y, MPFR_RNDN);
        ;
        mpfr_div(r48671, r48669, r48670, MPFR_RNDN);
        mpfr_set_d(r48672, z, MPFR_RNDN);
        mpfr_set_d(r48673, t, MPFR_RNDN);
        mpfr_sub(r48674, r48672, r48673, MPFR_RNDN);
        mpfr_set_d(r48675, a, MPFR_RNDN);
        mpfr_sub(r48676, r48675, r48673, MPFR_RNDN);
        mpfr_div(r48677, r48674, r48676, MPFR_RNDN);
        mpfr_mul(r48678, r48671, r48677, MPFR_RNDN);
        mpfr_add(r48679, r48668, r48678, MPFR_RNDN);
        return mpfr_get_d(r48679, MPFR_RNDN);
}

