#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 r49422 = x;
        float r49423 = y;
        float r49424 = z;
        float r49425 = t;
        float r49426 = r49424 - r49425;
        float r49427 = r49423 * r49426;
        float r49428 = a;
        float r49429 = r49424 - r49428;
        float r49430 = r49427 / r49429;
        float r49431 = r49422 + r49430;
        return r49431;
}

double f_id(double x, double y, double z, double t, double a) {
        double r49432 = x;
        double r49433 = y;
        double r49434 = z;
        double r49435 = t;
        double r49436 = r49434 - r49435;
        double r49437 = r49433 * r49436;
        double r49438 = a;
        double r49439 = r49434 - r49438;
        double r49440 = r49437 / r49439;
        double r49441 = r49432 + r49440;
        return r49441;
}


double f_of(float x, float y, float z, float t, float a) {
        float r49442 = x;
        float r49443 = y;
        float r49444 = 1;
        float r49445 = r49443 / r49444;
        float r49446 = z;
        float r49447 = t;
        float r49448 = r49446 - r49447;
        float r49449 = a;
        float r49450 = r49446 - r49449;
        float r49451 = r49448 / r49450;
        float r49452 = r49445 * r49451;
        float r49453 = r49442 + r49452;
        return r49453;
}

double f_od(double x, double y, double z, double t, double a) {
        double r49454 = x;
        double r49455 = y;
        double r49456 = 1;
        double r49457 = r49455 / r49456;
        double r49458 = z;
        double r49459 = t;
        double r49460 = r49458 - r49459;
        double r49461 = a;
        double r49462 = r49458 - r49461;
        double r49463 = r49460 / r49462;
        double r49464 = r49457 * r49463;
        double r49465 = r49454 + r49464;
        return r49465;
}

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 r49466, r49467, r49468, r49469, r49470, r49471, r49472, r49473, r49474, r49475;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(400);
        mpfr_init(r49466);
        mpfr_init(r49467);
        mpfr_init(r49468);
        mpfr_init(r49469);
        mpfr_init(r49470);
        mpfr_init(r49471);
        mpfr_init(r49472);
        mpfr_init(r49473);
        mpfr_init(r49474);
        mpfr_init(r49475);
}

double f_im(double x, double y, double z, double t, double a) {
        mpfr_set_d(r49466, x, MPFR_RNDN);
        mpfr_set_d(r49467, y, MPFR_RNDN);
        mpfr_set_d(r49468, z, MPFR_RNDN);
        mpfr_set_d(r49469, t, MPFR_RNDN);
        mpfr_sub(r49470, r49468, r49469, MPFR_RNDN);
        mpfr_mul(r49471, r49467, r49470, MPFR_RNDN);
        mpfr_set_d(r49472, a, MPFR_RNDN);
        mpfr_sub(r49473, r49468, r49472, MPFR_RNDN);
        mpfr_div(r49474, r49471, r49473, MPFR_RNDN);
        mpfr_add(r49475, r49466, r49474, MPFR_RNDN);
        return mpfr_get_d(r49475, MPFR_RNDN);
}

static mpfr_t r49476, r49477, r49478, r49479, r49480, r49481, r49482, r49483, r49484, r49485, r49486, r49487;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(400);
        mpfr_init(r49476);
        mpfr_init(r49477);
        mpfr_init_set_str(r49478, "1", 10, MPFR_RNDN);
        mpfr_init(r49479);
        mpfr_init(r49480);
        mpfr_init(r49481);
        mpfr_init(r49482);
        mpfr_init(r49483);
        mpfr_init(r49484);
        mpfr_init(r49485);
        mpfr_init(r49486);
        mpfr_init(r49487);
}

double f_fm(double x, double y, double z, double t, double a) {
        mpfr_set_d(r49476, x, MPFR_RNDN);
        mpfr_set_d(r49477, y, MPFR_RNDN);
        ;
        mpfr_div(r49479, r49477, r49478, MPFR_RNDN);
        mpfr_set_d(r49480, z, MPFR_RNDN);
        mpfr_set_d(r49481, t, MPFR_RNDN);
        mpfr_sub(r49482, r49480, r49481, MPFR_RNDN);
        mpfr_set_d(r49483, a, MPFR_RNDN);
        mpfr_sub(r49484, r49480, r49483, MPFR_RNDN);
        mpfr_div(r49485, r49482, r49484, MPFR_RNDN);
        mpfr_mul(r49486, r49479, r49485, MPFR_RNDN);
        mpfr_add(r49487, r49476, r49486, MPFR_RNDN);
        return mpfr_get_d(r49487, MPFR_RNDN);
}

static mpfr_t r49488, r49489, r49490, r49491, r49492, r49493, r49494, r49495, r49496, r49497, r49498, r49499;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(400);
        mpfr_init(r49488);
        mpfr_init(r49489);
        mpfr_init_set_str(r49490, "1", 10, MPFR_RNDN);
        mpfr_init(r49491);
        mpfr_init(r49492);
        mpfr_init(r49493);
        mpfr_init(r49494);
        mpfr_init(r49495);
        mpfr_init(r49496);
        mpfr_init(r49497);
        mpfr_init(r49498);
        mpfr_init(r49499);
}

double f_dm(double x, double y, double z, double t, double a) {
        mpfr_set_d(r49488, x, MPFR_RNDN);
        mpfr_set_d(r49489, y, MPFR_RNDN);
        ;
        mpfr_div(r49491, r49489, r49490, MPFR_RNDN);
        mpfr_set_d(r49492, z, MPFR_RNDN);
        mpfr_set_d(r49493, t, MPFR_RNDN);
        mpfr_sub(r49494, r49492, r49493, MPFR_RNDN);
        mpfr_set_d(r49495, a, MPFR_RNDN);
        mpfr_sub(r49496, r49492, r49495, MPFR_RNDN);
        mpfr_div(r49497, r49494, r49496, MPFR_RNDN);
        mpfr_mul(r49498, r49491, r49497, MPFR_RNDN);
        mpfr_add(r49499, r49488, r49498, MPFR_RNDN);
        return mpfr_get_d(r49499, MPFR_RNDN);
}

