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

double f_if(float x, float y, float z, float t, float a) {
        float r48758 = x;
        float r48759 = y;
        float r48760 = r48758 + r48759;
        float r48761 = z;
        float r48762 = t;
        float r48763 = r48761 - r48762;
        float r48764 = r48763 * r48759;
        float r48765 = a;
        float r48766 = r48765 - r48762;
        float r48767 = r48764 / r48766;
        float r48768 = r48760 - r48767;
        return r48768;
}

double f_id(double x, double y, double z, double t, double a) {
        double r48769 = x;
        double r48770 = y;
        double r48771 = r48769 + r48770;
        double r48772 = z;
        double r48773 = t;
        double r48774 = r48772 - r48773;
        double r48775 = r48774 * r48770;
        double r48776 = a;
        double r48777 = r48776 - r48773;
        double r48778 = r48775 / r48777;
        double r48779 = r48771 - r48778;
        return r48779;
}


double f_of(float x, float y, float z, float t, float a) {
        float r48780 = a;
        float r48781 = -3.3197420561768994e-165;
        bool r48782 = r48780 <= r48781;
        float r48783 = x;
        float r48784 = y;
        float r48785 = r48783 + r48784;
        float r48786 = z;
        float r48787 = t;
        float r48788 = r48786 - r48787;
        float r48789 = cbrt(r48788);
        float r48790 = r48789 * r48789;
        float r48791 = 1;
        float r48792 = r48790 / r48791;
        float r48793 = r48780 - r48787;
        float r48794 = r48793 / r48784;
        float r48795 = r48789 / r48794;
        float r48796 = r48792 * r48795;
        float r48797 = r48785 - r48796;
        float r48798 = 2.1459458012784685e-239;
        bool r48799 = r48780 <= r48798;
        float r48800 = r48786 * r48784;
        float r48801 = r48800 / r48787;
        float r48802 = r48801 + r48783;
        float r48803 = r48784 + r48783;
        float r48804 = r48784 / r48793;
        float r48805 = r48788 * r48804;
        float r48806 = r48803 - r48805;
        float r48807 = r48799 ? r48802 : r48806;
        float r48808 = r48782 ? r48797 : r48807;
        return r48808;
}

double f_od(double x, double y, double z, double t, double a) {
        double r48809 = a;
        double r48810 = -3.3197420561768994e-165;
        bool r48811 = r48809 <= r48810;
        double r48812 = x;
        double r48813 = y;
        double r48814 = r48812 + r48813;
        double r48815 = z;
        double r48816 = t;
        double r48817 = r48815 - r48816;
        double r48818 = cbrt(r48817);
        double r48819 = r48818 * r48818;
        double r48820 = 1;
        double r48821 = r48819 / r48820;
        double r48822 = r48809 - r48816;
        double r48823 = r48822 / r48813;
        double r48824 = r48818 / r48823;
        double r48825 = r48821 * r48824;
        double r48826 = r48814 - r48825;
        double r48827 = 2.1459458012784685e-239;
        bool r48828 = r48809 <= r48827;
        double r48829 = r48815 * r48813;
        double r48830 = r48829 / r48816;
        double r48831 = r48830 + r48812;
        double r48832 = r48813 + r48812;
        double r48833 = r48813 / r48822;
        double r48834 = r48817 * r48833;
        double r48835 = r48832 - r48834;
        double r48836 = r48828 ? r48831 : r48835;
        double r48837 = r48811 ? r48826 : r48836;
        return r48837;
}

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 r48838, r48839, r48840, r48841, r48842, r48843, r48844, r48845, r48846, r48847, r48848;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(1936);
        mpfr_init(r48838);
        mpfr_init(r48839);
        mpfr_init(r48840);
        mpfr_init(r48841);
        mpfr_init(r48842);
        mpfr_init(r48843);
        mpfr_init(r48844);
        mpfr_init(r48845);
        mpfr_init(r48846);
        mpfr_init(r48847);
        mpfr_init(r48848);
}

double f_im(double x, double y, double z, double t, double a) {
        mpfr_set_d(r48838, x, MPFR_RNDN);
        mpfr_set_d(r48839, y, MPFR_RNDN);
        mpfr_add(r48840, r48838, r48839, MPFR_RNDN);
        mpfr_set_d(r48841, z, MPFR_RNDN);
        mpfr_set_d(r48842, t, MPFR_RNDN);
        mpfr_sub(r48843, r48841, r48842, MPFR_RNDN);
        mpfr_mul(r48844, r48843, r48839, MPFR_RNDN);
        mpfr_set_d(r48845, a, MPFR_RNDN);
        mpfr_sub(r48846, r48845, r48842, MPFR_RNDN);
        mpfr_div(r48847, r48844, r48846, MPFR_RNDN);
        mpfr_sub(r48848, r48840, r48847, MPFR_RNDN);
        return mpfr_get_d(r48848, MPFR_RNDN);
}

static mpfr_t r48849, r48850, r48851, r48852, r48853, r48854, r48855, r48856, r48857, r48858, r48859, r48860, r48861, r48862, r48863, r48864, r48865, r48866, r48867, r48868, r48869, r48870, r48871, r48872, r48873, r48874, r48875, r48876, r48877;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(1936);
        mpfr_init(r48849);
        mpfr_init_set_str(r48850, "-3.3197420561768994e-165", 10, MPFR_RNDN);
        mpfr_init(r48851);
        mpfr_init(r48852);
        mpfr_init(r48853);
        mpfr_init(r48854);
        mpfr_init(r48855);
        mpfr_init(r48856);
        mpfr_init(r48857);
        mpfr_init(r48858);
        mpfr_init(r48859);
        mpfr_init_set_str(r48860, "1", 10, MPFR_RNDN);
        mpfr_init(r48861);
        mpfr_init(r48862);
        mpfr_init(r48863);
        mpfr_init(r48864);
        mpfr_init(r48865);
        mpfr_init(r48866);
        mpfr_init_set_str(r48867, "2.1459458012784685e-239", 10, MPFR_RNDN);
        mpfr_init(r48868);
        mpfr_init(r48869);
        mpfr_init(r48870);
        mpfr_init(r48871);
        mpfr_init(r48872);
        mpfr_init(r48873);
        mpfr_init(r48874);
        mpfr_init(r48875);
        mpfr_init(r48876);
        mpfr_init(r48877);
}

double f_fm(double x, double y, double z, double t, double a) {
        mpfr_set_d(r48849, a, MPFR_RNDN);
        ;
        mpfr_set_si(r48851, mpfr_cmp(r48849, r48850) <= 0, MPFR_RNDN);
        mpfr_set_d(r48852, x, MPFR_RNDN);
        mpfr_set_d(r48853, y, MPFR_RNDN);
        mpfr_add(r48854, r48852, r48853, MPFR_RNDN);
        mpfr_set_d(r48855, z, MPFR_RNDN);
        mpfr_set_d(r48856, t, MPFR_RNDN);
        mpfr_sub(r48857, r48855, r48856, MPFR_RNDN);
        mpfr_cbrt(r48858, r48857, MPFR_RNDN);
        mpfr_mul(r48859, r48858, r48858, MPFR_RNDN);
        ;
        mpfr_div(r48861, r48859, r48860, MPFR_RNDN);
        mpfr_sub(r48862, r48849, r48856, MPFR_RNDN);
        mpfr_div(r48863, r48862, r48853, MPFR_RNDN);
        mpfr_div(r48864, r48858, r48863, MPFR_RNDN);
        mpfr_mul(r48865, r48861, r48864, MPFR_RNDN);
        mpfr_sub(r48866, r48854, r48865, MPFR_RNDN);
        ;
        mpfr_set_si(r48868, mpfr_cmp(r48849, r48867) <= 0, MPFR_RNDN);
        mpfr_mul(r48869, r48855, r48853, MPFR_RNDN);
        mpfr_div(r48870, r48869, r48856, MPFR_RNDN);
        mpfr_add(r48871, r48870, r48852, MPFR_RNDN);
        mpfr_add(r48872, r48853, r48852, MPFR_RNDN);
        mpfr_div(r48873, r48853, r48862, MPFR_RNDN);
        mpfr_mul(r48874, r48857, r48873, MPFR_RNDN);
        mpfr_sub(r48875, r48872, r48874, MPFR_RNDN);
        if (mpfr_get_si(r48868, MPFR_RNDN)) { mpfr_set(r48876, r48871, MPFR_RNDN); } else { mpfr_set(r48876, r48875, MPFR_RNDN); };
        if (mpfr_get_si(r48851, MPFR_RNDN)) { mpfr_set(r48877, r48866, MPFR_RNDN); } else { mpfr_set(r48877, r48876, MPFR_RNDN); };
        return mpfr_get_d(r48877, MPFR_RNDN);
}

static mpfr_t r48878, r48879, r48880, r48881, r48882, r48883, r48884, r48885, r48886, r48887, r48888, r48889, r48890, r48891, r48892, r48893, r48894, r48895, r48896, r48897, r48898, r48899, r48900, r48901, r48902, r48903, r48904, r48905, r48906;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(1936);
        mpfr_init(r48878);
        mpfr_init_set_str(r48879, "-3.3197420561768994e-165", 10, MPFR_RNDN);
        mpfr_init(r48880);
        mpfr_init(r48881);
        mpfr_init(r48882);
        mpfr_init(r48883);
        mpfr_init(r48884);
        mpfr_init(r48885);
        mpfr_init(r48886);
        mpfr_init(r48887);
        mpfr_init(r48888);
        mpfr_init_set_str(r48889, "1", 10, MPFR_RNDN);
        mpfr_init(r48890);
        mpfr_init(r48891);
        mpfr_init(r48892);
        mpfr_init(r48893);
        mpfr_init(r48894);
        mpfr_init(r48895);
        mpfr_init_set_str(r48896, "2.1459458012784685e-239", 10, MPFR_RNDN);
        mpfr_init(r48897);
        mpfr_init(r48898);
        mpfr_init(r48899);
        mpfr_init(r48900);
        mpfr_init(r48901);
        mpfr_init(r48902);
        mpfr_init(r48903);
        mpfr_init(r48904);
        mpfr_init(r48905);
        mpfr_init(r48906);
}

double f_dm(double x, double y, double z, double t, double a) {
        mpfr_set_d(r48878, a, MPFR_RNDN);
        ;
        mpfr_set_si(r48880, mpfr_cmp(r48878, r48879) <= 0, MPFR_RNDN);
        mpfr_set_d(r48881, x, MPFR_RNDN);
        mpfr_set_d(r48882, y, MPFR_RNDN);
        mpfr_add(r48883, r48881, r48882, MPFR_RNDN);
        mpfr_set_d(r48884, z, MPFR_RNDN);
        mpfr_set_d(r48885, t, MPFR_RNDN);
        mpfr_sub(r48886, r48884, r48885, MPFR_RNDN);
        mpfr_cbrt(r48887, r48886, MPFR_RNDN);
        mpfr_mul(r48888, r48887, r48887, MPFR_RNDN);
        ;
        mpfr_div(r48890, r48888, r48889, MPFR_RNDN);
        mpfr_sub(r48891, r48878, r48885, MPFR_RNDN);
        mpfr_div(r48892, r48891, r48882, MPFR_RNDN);
        mpfr_div(r48893, r48887, r48892, MPFR_RNDN);
        mpfr_mul(r48894, r48890, r48893, MPFR_RNDN);
        mpfr_sub(r48895, r48883, r48894, MPFR_RNDN);
        ;
        mpfr_set_si(r48897, mpfr_cmp(r48878, r48896) <= 0, MPFR_RNDN);
        mpfr_mul(r48898, r48884, r48882, MPFR_RNDN);
        mpfr_div(r48899, r48898, r48885, MPFR_RNDN);
        mpfr_add(r48900, r48899, r48881, MPFR_RNDN);
        mpfr_add(r48901, r48882, r48881, MPFR_RNDN);
        mpfr_div(r48902, r48882, r48891, MPFR_RNDN);
        mpfr_mul(r48903, r48886, r48902, MPFR_RNDN);
        mpfr_sub(r48904, r48901, r48903, MPFR_RNDN);
        if (mpfr_get_si(r48897, MPFR_RNDN)) { mpfr_set(r48905, r48900, MPFR_RNDN); } else { mpfr_set(r48905, r48904, MPFR_RNDN); };
        if (mpfr_get_si(r48880, MPFR_RNDN)) { mpfr_set(r48906, r48895, MPFR_RNDN); } else { mpfr_set(r48906, r48905, MPFR_RNDN); };
        return mpfr_get_d(r48906, MPFR_RNDN);
}

