#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 r49413 = x;
        float r49414 = y;
        float r49415 = z;
        float r49416 = r49414 - r49415;
        float r49417 = t;
        float r49418 = r49416 * r49417;
        float r49419 = a;
        float r49420 = r49419 - r49415;
        float r49421 = r49418 / r49420;
        float r49422 = r49413 + r49421;
        return r49422;
}

double f_id(double x, double y, double z, double t, double a) {
        double r49423 = x;
        double r49424 = y;
        double r49425 = z;
        double r49426 = r49424 - r49425;
        double r49427 = t;
        double r49428 = r49426 * r49427;
        double r49429 = a;
        double r49430 = r49429 - r49425;
        double r49431 = r49428 / r49430;
        double r49432 = r49423 + r49431;
        return r49432;
}


double f_of(float x, float y, float z, float t, float a) {
        float r49433 = t;
        float r49434 = -124511.71005566457;
        bool r49435 = r49433 <= r49434;
        float r49436 = x;
        float r49437 = y;
        float r49438 = z;
        float r49439 = r49437 - r49438;
        float r49440 = 1;
        float r49441 = r49439 / r49440;
        float r49442 = a;
        float r49443 = r49442 - r49438;
        float r49444 = r49433 / r49443;
        float r49445 = r49441 * r49444;
        float r49446 = r49436 + r49445;
        float r49447 = 1.385403597157382e+79;
        bool r49448 = r49433 <= r49447;
        float r49449 = r49439 * r49433;
        float r49450 = r49440 / r49443;
        float r49451 = r49449 * r49450;
        float r49452 = r49436 + r49451;
        float r49453 = cbrt(r49443);
        float r49454 = r49453 * r49453;
        float r49455 = r49439 / r49454;
        float r49456 = r49433 / r49453;
        float r49457 = r49455 * r49456;
        float r49458 = cbrt(r49457);
        float r49459 = r49458 * r49458;
        float r49460 = r49459 * r49458;
        float r49461 = r49436 + r49460;
        float r49462 = r49448 ? r49452 : r49461;
        float r49463 = r49435 ? r49446 : r49462;
        return r49463;
}

double f_od(double x, double y, double z, double t, double a) {
        double r49464 = t;
        double r49465 = -124511.71005566457;
        bool r49466 = r49464 <= r49465;
        double r49467 = x;
        double r49468 = y;
        double r49469 = z;
        double r49470 = r49468 - r49469;
        double r49471 = 1;
        double r49472 = r49470 / r49471;
        double r49473 = a;
        double r49474 = r49473 - r49469;
        double r49475 = r49464 / r49474;
        double r49476 = r49472 * r49475;
        double r49477 = r49467 + r49476;
        double r49478 = 1.385403597157382e+79;
        bool r49479 = r49464 <= r49478;
        double r49480 = r49470 * r49464;
        double r49481 = r49471 / r49474;
        double r49482 = r49480 * r49481;
        double r49483 = r49467 + r49482;
        double r49484 = cbrt(r49474);
        double r49485 = r49484 * r49484;
        double r49486 = r49470 / r49485;
        double r49487 = r49464 / r49484;
        double r49488 = r49486 * r49487;
        double r49489 = cbrt(r49488);
        double r49490 = r49489 * r49489;
        double r49491 = r49490 * r49489;
        double r49492 = r49467 + r49491;
        double r49493 = r49479 ? r49483 : r49492;
        double r49494 = r49466 ? r49477 : r49493;
        return r49494;
}

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 r49495, r49496, r49497, r49498, r49499, r49500, r49501, r49502, r49503, r49504;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(656);
        mpfr_init(r49495);
        mpfr_init(r49496);
        mpfr_init(r49497);
        mpfr_init(r49498);
        mpfr_init(r49499);
        mpfr_init(r49500);
        mpfr_init(r49501);
        mpfr_init(r49502);
        mpfr_init(r49503);
        mpfr_init(r49504);
}

double f_im(double x, double y, double z, double t, double a) {
        mpfr_set_d(r49495, x, MPFR_RNDN);
        mpfr_set_d(r49496, y, MPFR_RNDN);
        mpfr_set_d(r49497, z, MPFR_RNDN);
        mpfr_sub(r49498, r49496, r49497, MPFR_RNDN);
        mpfr_set_d(r49499, t, MPFR_RNDN);
        mpfr_mul(r49500, r49498, r49499, MPFR_RNDN);
        mpfr_set_d(r49501, a, MPFR_RNDN);
        mpfr_sub(r49502, r49501, r49497, MPFR_RNDN);
        mpfr_div(r49503, r49500, r49502, MPFR_RNDN);
        mpfr_add(r49504, r49495, r49503, MPFR_RNDN);
        return mpfr_get_d(r49504, MPFR_RNDN);
}

static mpfr_t r49505, r49506, r49507, r49508, r49509, r49510, r49511, r49512, r49513, r49514, r49515, r49516, r49517, r49518, r49519, r49520, r49521, r49522, r49523, r49524, r49525, r49526, r49527, r49528, r49529, r49530, r49531, r49532, r49533, r49534, r49535;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(656);
        mpfr_init(r49505);
        mpfr_init_set_str(r49506, "-124511.71005566457", 10, MPFR_RNDN);
        mpfr_init(r49507);
        mpfr_init(r49508);
        mpfr_init(r49509);
        mpfr_init(r49510);
        mpfr_init(r49511);
        mpfr_init_set_str(r49512, "1", 10, MPFR_RNDN);
        mpfr_init(r49513);
        mpfr_init(r49514);
        mpfr_init(r49515);
        mpfr_init(r49516);
        mpfr_init(r49517);
        mpfr_init(r49518);
        mpfr_init_set_str(r49519, "1.385403597157382e+79", 10, MPFR_RNDN);
        mpfr_init(r49520);
        mpfr_init(r49521);
        mpfr_init(r49522);
        mpfr_init(r49523);
        mpfr_init(r49524);
        mpfr_init(r49525);
        mpfr_init(r49526);
        mpfr_init(r49527);
        mpfr_init(r49528);
        mpfr_init(r49529);
        mpfr_init(r49530);
        mpfr_init(r49531);
        mpfr_init(r49532);
        mpfr_init(r49533);
        mpfr_init(r49534);
        mpfr_init(r49535);
}

double f_fm(double x, double y, double z, double t, double a) {
        mpfr_set_d(r49505, t, MPFR_RNDN);
        ;
        mpfr_set_si(r49507, mpfr_cmp(r49505, r49506) <= 0, MPFR_RNDN);
        mpfr_set_d(r49508, x, MPFR_RNDN);
        mpfr_set_d(r49509, y, MPFR_RNDN);
        mpfr_set_d(r49510, z, MPFR_RNDN);
        mpfr_sub(r49511, r49509, r49510, MPFR_RNDN);
        ;
        mpfr_div(r49513, r49511, r49512, MPFR_RNDN);
        mpfr_set_d(r49514, a, MPFR_RNDN);
        mpfr_sub(r49515, r49514, r49510, MPFR_RNDN);
        mpfr_div(r49516, r49505, r49515, MPFR_RNDN);
        mpfr_mul(r49517, r49513, r49516, MPFR_RNDN);
        mpfr_add(r49518, r49508, r49517, MPFR_RNDN);
        ;
        mpfr_set_si(r49520, mpfr_cmp(r49505, r49519) <= 0, MPFR_RNDN);
        mpfr_mul(r49521, r49511, r49505, MPFR_RNDN);
        mpfr_div(r49522, r49512, r49515, MPFR_RNDN);
        mpfr_mul(r49523, r49521, r49522, MPFR_RNDN);
        mpfr_add(r49524, r49508, r49523, MPFR_RNDN);
        mpfr_cbrt(r49525, r49515, MPFR_RNDN);
        mpfr_mul(r49526, r49525, r49525, MPFR_RNDN);
        mpfr_div(r49527, r49511, r49526, MPFR_RNDN);
        mpfr_div(r49528, r49505, r49525, MPFR_RNDN);
        mpfr_mul(r49529, r49527, r49528, MPFR_RNDN);
        mpfr_cbrt(r49530, r49529, MPFR_RNDN);
        mpfr_mul(r49531, r49530, r49530, MPFR_RNDN);
        mpfr_mul(r49532, r49531, r49530, MPFR_RNDN);
        mpfr_add(r49533, r49508, r49532, MPFR_RNDN);
        if (mpfr_get_si(r49520, MPFR_RNDN)) { mpfr_set(r49534, r49524, MPFR_RNDN); } else { mpfr_set(r49534, r49533, MPFR_RNDN); };
        if (mpfr_get_si(r49507, MPFR_RNDN)) { mpfr_set(r49535, r49518, MPFR_RNDN); } else { mpfr_set(r49535, r49534, MPFR_RNDN); };
        return mpfr_get_d(r49535, MPFR_RNDN);
}

static mpfr_t r49536, r49537, r49538, r49539, r49540, r49541, r49542, r49543, r49544, r49545, r49546, r49547, r49548, r49549, r49550, r49551, r49552, r49553, r49554, r49555, r49556, r49557, r49558, r49559, r49560, r49561, r49562, r49563, r49564, r49565, r49566;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(656);
        mpfr_init(r49536);
        mpfr_init_set_str(r49537, "-124511.71005566457", 10, MPFR_RNDN);
        mpfr_init(r49538);
        mpfr_init(r49539);
        mpfr_init(r49540);
        mpfr_init(r49541);
        mpfr_init(r49542);
        mpfr_init_set_str(r49543, "1", 10, MPFR_RNDN);
        mpfr_init(r49544);
        mpfr_init(r49545);
        mpfr_init(r49546);
        mpfr_init(r49547);
        mpfr_init(r49548);
        mpfr_init(r49549);
        mpfr_init_set_str(r49550, "1.385403597157382e+79", 10, MPFR_RNDN);
        mpfr_init(r49551);
        mpfr_init(r49552);
        mpfr_init(r49553);
        mpfr_init(r49554);
        mpfr_init(r49555);
        mpfr_init(r49556);
        mpfr_init(r49557);
        mpfr_init(r49558);
        mpfr_init(r49559);
        mpfr_init(r49560);
        mpfr_init(r49561);
        mpfr_init(r49562);
        mpfr_init(r49563);
        mpfr_init(r49564);
        mpfr_init(r49565);
        mpfr_init(r49566);
}

double f_dm(double x, double y, double z, double t, double a) {
        mpfr_set_d(r49536, t, MPFR_RNDN);
        ;
        mpfr_set_si(r49538, mpfr_cmp(r49536, r49537) <= 0, MPFR_RNDN);
        mpfr_set_d(r49539, x, MPFR_RNDN);
        mpfr_set_d(r49540, y, MPFR_RNDN);
        mpfr_set_d(r49541, z, MPFR_RNDN);
        mpfr_sub(r49542, r49540, r49541, MPFR_RNDN);
        ;
        mpfr_div(r49544, r49542, r49543, MPFR_RNDN);
        mpfr_set_d(r49545, a, MPFR_RNDN);
        mpfr_sub(r49546, r49545, r49541, MPFR_RNDN);
        mpfr_div(r49547, r49536, r49546, MPFR_RNDN);
        mpfr_mul(r49548, r49544, r49547, MPFR_RNDN);
        mpfr_add(r49549, r49539, r49548, MPFR_RNDN);
        ;
        mpfr_set_si(r49551, mpfr_cmp(r49536, r49550) <= 0, MPFR_RNDN);
        mpfr_mul(r49552, r49542, r49536, MPFR_RNDN);
        mpfr_div(r49553, r49543, r49546, MPFR_RNDN);
        mpfr_mul(r49554, r49552, r49553, MPFR_RNDN);
        mpfr_add(r49555, r49539, r49554, MPFR_RNDN);
        mpfr_cbrt(r49556, r49546, MPFR_RNDN);
        mpfr_mul(r49557, r49556, r49556, MPFR_RNDN);
        mpfr_div(r49558, r49542, r49557, MPFR_RNDN);
        mpfr_div(r49559, r49536, r49556, MPFR_RNDN);
        mpfr_mul(r49560, r49558, r49559, MPFR_RNDN);
        mpfr_cbrt(r49561, r49560, MPFR_RNDN);
        mpfr_mul(r49562, r49561, r49561, MPFR_RNDN);
        mpfr_mul(r49563, r49562, r49561, MPFR_RNDN);
        mpfr_add(r49564, r49539, r49563, MPFR_RNDN);
        if (mpfr_get_si(r49551, MPFR_RNDN)) { mpfr_set(r49565, r49555, MPFR_RNDN); } else { mpfr_set(r49565, r49564, MPFR_RNDN); };
        if (mpfr_get_si(r49538, MPFR_RNDN)) { mpfr_set(r49566, r49549, MPFR_RNDN); } else { mpfr_set(r49566, r49565, MPFR_RNDN); };
        return mpfr_get_d(r49566, MPFR_RNDN);
}

