#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 r48907 = x;
        float r48908 = y;
        float r48909 = z;
        float r48910 = r48908 - r48909;
        float r48911 = t;
        float r48912 = r48910 * r48911;
        float r48913 = a;
        float r48914 = r48913 - r48909;
        float r48915 = r48912 / r48914;
        float r48916 = r48907 + r48915;
        return r48916;
}

double f_id(double x, double y, double z, double t, double a) {
        double r48917 = x;
        double r48918 = y;
        double r48919 = z;
        double r48920 = r48918 - r48919;
        double r48921 = t;
        double r48922 = r48920 * r48921;
        double r48923 = a;
        double r48924 = r48923 - r48919;
        double r48925 = r48922 / r48924;
        double r48926 = r48917 + r48925;
        return r48926;
}


double f_of(float x, float y, float z, float t, float a) {
        float r48927 = t;
        float r48928 = -124511.71005566457;
        bool r48929 = r48927 <= r48928;
        float r48930 = x;
        float r48931 = y;
        float r48932 = z;
        float r48933 = r48931 - r48932;
        float r48934 = 1;
        float r48935 = r48933 / r48934;
        float r48936 = a;
        float r48937 = r48936 - r48932;
        float r48938 = r48927 / r48937;
        float r48939 = r48935 * r48938;
        float r48940 = r48930 + r48939;
        float r48941 = 1.385403597157382e+79;
        bool r48942 = r48927 <= r48941;
        float r48943 = r48933 * r48927;
        float r48944 = r48934 / r48937;
        float r48945 = r48943 * r48944;
        float r48946 = r48930 + r48945;
        float r48947 = r48937 / r48927;
        float r48948 = r48933 / r48947;
        float r48949 = r48948 + r48930;
        float r48950 = r48942 ? r48946 : r48949;
        float r48951 = r48929 ? r48940 : r48950;
        return r48951;
}

double f_od(double x, double y, double z, double t, double a) {
        double r48952 = t;
        double r48953 = -124511.71005566457;
        bool r48954 = r48952 <= r48953;
        double r48955 = x;
        double r48956 = y;
        double r48957 = z;
        double r48958 = r48956 - r48957;
        double r48959 = 1;
        double r48960 = r48958 / r48959;
        double r48961 = a;
        double r48962 = r48961 - r48957;
        double r48963 = r48952 / r48962;
        double r48964 = r48960 * r48963;
        double r48965 = r48955 + r48964;
        double r48966 = 1.385403597157382e+79;
        bool r48967 = r48952 <= r48966;
        double r48968 = r48958 * r48952;
        double r48969 = r48959 / r48962;
        double r48970 = r48968 * r48969;
        double r48971 = r48955 + r48970;
        double r48972 = r48962 / r48952;
        double r48973 = r48958 / r48972;
        double r48974 = r48973 + r48955;
        double r48975 = r48967 ? r48971 : r48974;
        double r48976 = r48954 ? r48965 : r48975;
        return r48976;
}

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 r48977, r48978, r48979, r48980, r48981, r48982, r48983, r48984, r48985, r48986;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(656);
        mpfr_init(r48977);
        mpfr_init(r48978);
        mpfr_init(r48979);
        mpfr_init(r48980);
        mpfr_init(r48981);
        mpfr_init(r48982);
        mpfr_init(r48983);
        mpfr_init(r48984);
        mpfr_init(r48985);
        mpfr_init(r48986);
}

double f_im(double x, double y, double z, double t, double a) {
        mpfr_set_d(r48977, x, MPFR_RNDN);
        mpfr_set_d(r48978, y, MPFR_RNDN);
        mpfr_set_d(r48979, z, MPFR_RNDN);
        mpfr_sub(r48980, r48978, r48979, MPFR_RNDN);
        mpfr_set_d(r48981, t, MPFR_RNDN);
        mpfr_mul(r48982, r48980, r48981, MPFR_RNDN);
        mpfr_set_d(r48983, a, MPFR_RNDN);
        mpfr_sub(r48984, r48983, r48979, MPFR_RNDN);
        mpfr_div(r48985, r48982, r48984, MPFR_RNDN);
        mpfr_add(r48986, r48977, r48985, MPFR_RNDN);
        return mpfr_get_d(r48986, MPFR_RNDN);
}

static mpfr_t r48987, r48988, r48989, r48990, r48991, r48992, r48993, r48994, r48995, r48996, r48997, r48998, r48999, r49000, r49001, r49002, r49003, r49004, r49005, r49006, r49007, r49008, r49009, r49010, r49011;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(656);
        mpfr_init(r48987);
        mpfr_init_set_str(r48988, "-124511.71005566457", 10, MPFR_RNDN);
        mpfr_init(r48989);
        mpfr_init(r48990);
        mpfr_init(r48991);
        mpfr_init(r48992);
        mpfr_init(r48993);
        mpfr_init_set_str(r48994, "1", 10, MPFR_RNDN);
        mpfr_init(r48995);
        mpfr_init(r48996);
        mpfr_init(r48997);
        mpfr_init(r48998);
        mpfr_init(r48999);
        mpfr_init(r49000);
        mpfr_init_set_str(r49001, "1.385403597157382e+79", 10, MPFR_RNDN);
        mpfr_init(r49002);
        mpfr_init(r49003);
        mpfr_init(r49004);
        mpfr_init(r49005);
        mpfr_init(r49006);
        mpfr_init(r49007);
        mpfr_init(r49008);
        mpfr_init(r49009);
        mpfr_init(r49010);
        mpfr_init(r49011);
}

double f_fm(double x, double y, double z, double t, double a) {
        mpfr_set_d(r48987, t, MPFR_RNDN);
        ;
        mpfr_set_si(r48989, mpfr_cmp(r48987, r48988) <= 0, MPFR_RNDN);
        mpfr_set_d(r48990, x, MPFR_RNDN);
        mpfr_set_d(r48991, y, MPFR_RNDN);
        mpfr_set_d(r48992, z, MPFR_RNDN);
        mpfr_sub(r48993, r48991, r48992, MPFR_RNDN);
        ;
        mpfr_div(r48995, r48993, r48994, MPFR_RNDN);
        mpfr_set_d(r48996, a, MPFR_RNDN);
        mpfr_sub(r48997, r48996, r48992, MPFR_RNDN);
        mpfr_div(r48998, r48987, r48997, MPFR_RNDN);
        mpfr_mul(r48999, r48995, r48998, MPFR_RNDN);
        mpfr_add(r49000, r48990, r48999, MPFR_RNDN);
        ;
        mpfr_set_si(r49002, mpfr_cmp(r48987, r49001) <= 0, MPFR_RNDN);
        mpfr_mul(r49003, r48993, r48987, MPFR_RNDN);
        mpfr_div(r49004, r48994, r48997, MPFR_RNDN);
        mpfr_mul(r49005, r49003, r49004, MPFR_RNDN);
        mpfr_add(r49006, r48990, r49005, MPFR_RNDN);
        mpfr_div(r49007, r48997, r48987, MPFR_RNDN);
        mpfr_div(r49008, r48993, r49007, MPFR_RNDN);
        mpfr_add(r49009, r49008, r48990, MPFR_RNDN);
        if (mpfr_get_si(r49002, MPFR_RNDN)) { mpfr_set(r49010, r49006, MPFR_RNDN); } else { mpfr_set(r49010, r49009, MPFR_RNDN); };
        if (mpfr_get_si(r48989, MPFR_RNDN)) { mpfr_set(r49011, r49000, MPFR_RNDN); } else { mpfr_set(r49011, r49010, MPFR_RNDN); };
        return mpfr_get_d(r49011, MPFR_RNDN);
}

static mpfr_t r49012, r49013, r49014, r49015, r49016, r49017, r49018, r49019, r49020, r49021, r49022, r49023, r49024, r49025, r49026, r49027, r49028, r49029, r49030, r49031, r49032, r49033, r49034, r49035, r49036;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(656);
        mpfr_init(r49012);
        mpfr_init_set_str(r49013, "-124511.71005566457", 10, MPFR_RNDN);
        mpfr_init(r49014);
        mpfr_init(r49015);
        mpfr_init(r49016);
        mpfr_init(r49017);
        mpfr_init(r49018);
        mpfr_init_set_str(r49019, "1", 10, MPFR_RNDN);
        mpfr_init(r49020);
        mpfr_init(r49021);
        mpfr_init(r49022);
        mpfr_init(r49023);
        mpfr_init(r49024);
        mpfr_init(r49025);
        mpfr_init_set_str(r49026, "1.385403597157382e+79", 10, MPFR_RNDN);
        mpfr_init(r49027);
        mpfr_init(r49028);
        mpfr_init(r49029);
        mpfr_init(r49030);
        mpfr_init(r49031);
        mpfr_init(r49032);
        mpfr_init(r49033);
        mpfr_init(r49034);
        mpfr_init(r49035);
        mpfr_init(r49036);
}

double f_dm(double x, double y, double z, double t, double a) {
        mpfr_set_d(r49012, t, MPFR_RNDN);
        ;
        mpfr_set_si(r49014, mpfr_cmp(r49012, r49013) <= 0, MPFR_RNDN);
        mpfr_set_d(r49015, x, MPFR_RNDN);
        mpfr_set_d(r49016, y, MPFR_RNDN);
        mpfr_set_d(r49017, z, MPFR_RNDN);
        mpfr_sub(r49018, r49016, r49017, MPFR_RNDN);
        ;
        mpfr_div(r49020, r49018, r49019, MPFR_RNDN);
        mpfr_set_d(r49021, a, MPFR_RNDN);
        mpfr_sub(r49022, r49021, r49017, MPFR_RNDN);
        mpfr_div(r49023, r49012, r49022, MPFR_RNDN);
        mpfr_mul(r49024, r49020, r49023, MPFR_RNDN);
        mpfr_add(r49025, r49015, r49024, MPFR_RNDN);
        ;
        mpfr_set_si(r49027, mpfr_cmp(r49012, r49026) <= 0, MPFR_RNDN);
        mpfr_mul(r49028, r49018, r49012, MPFR_RNDN);
        mpfr_div(r49029, r49019, r49022, MPFR_RNDN);
        mpfr_mul(r49030, r49028, r49029, MPFR_RNDN);
        mpfr_add(r49031, r49015, r49030, MPFR_RNDN);
        mpfr_div(r49032, r49022, r49012, MPFR_RNDN);
        mpfr_div(r49033, r49018, r49032, MPFR_RNDN);
        mpfr_add(r49034, r49033, r49015, MPFR_RNDN);
        if (mpfr_get_si(r49027, MPFR_RNDN)) { mpfr_set(r49035, r49031, MPFR_RNDN); } else { mpfr_set(r49035, r49034, MPFR_RNDN); };
        if (mpfr_get_si(r49014, MPFR_RNDN)) { mpfr_set(r49036, r49025, MPFR_RNDN); } else { mpfr_set(r49036, r49035, MPFR_RNDN); };
        return mpfr_get_d(r49036, MPFR_RNDN);
}

