#include <tgmath.h>
#include <gmp.h>
#include <mpfr.h>
#include <stdio.h>
#include <stdbool.h>

char *name = "Random Jason Timeout Test 010";

double f_if(float a) {
        float r5780 = a;
        float r5781 = acos(r5780);
        float r5782 = -r5781;
        float r5783 = r5780 / r5782;
        return r5783;
}

double f_id(double a) {
        double r5784 = a;
        double r5785 = acos(r5784);
        double r5786 = -r5785;
        double r5787 = r5784 / r5786;
        return r5787;
}


double f_of(float a) {
        float r5788 = a;
        float r5789 = acos(r5788);
        float r5790 = -r5789;
        float r5791 = r5788 / r5790;
        return r5791;
}

double f_od(double a) {
        double r5792 = a;
        double r5793 = acos(r5792);
        double r5794 = -r5793;
        double r5795 = r5792 / r5794;
        return r5795;
}

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 r5796, r5797, r5798, r5799;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(592);
        mpfr_init(r5796);
        mpfr_init(r5797);
        mpfr_init(r5798);
        mpfr_init(r5799);
}

double f_im(double a) {
        mpfr_set_d(r5796, a, MPFR_RNDN);
        mpfr_acos(r5797, r5796, MPFR_RNDN);
        mpfr_neg(r5798, r5797, MPFR_RNDN);
        mpfr_div(r5799, r5796, r5798, MPFR_RNDN);
        return mpfr_get_d(r5799, MPFR_RNDN);
}

static mpfr_t r5800, r5801, r5802, r5803;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(592);
        mpfr_init(r5800);
        mpfr_init(r5801);
        mpfr_init(r5802);
        mpfr_init(r5803);
}

double f_fm(double a) {
        mpfr_set_d(r5800, a, MPFR_RNDN);
        mpfr_acos(r5801, r5800, MPFR_RNDN);
        mpfr_neg(r5802, r5801, MPFR_RNDN);
        mpfr_div(r5803, r5800, r5802, MPFR_RNDN);
        return mpfr_get_d(r5803, MPFR_RNDN);
}

static mpfr_t r5804, r5805, r5806, r5807;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(592);
        mpfr_init(r5804);
        mpfr_init(r5805);
        mpfr_init(r5806);
        mpfr_init(r5807);
}

double f_dm(double a) {
        mpfr_set_d(r5804, a, MPFR_RNDN);
        mpfr_acos(r5805, r5804, MPFR_RNDN);
        mpfr_neg(r5806, r5805, MPFR_RNDN);
        mpfr_div(r5807, r5804, r5806, MPFR_RNDN);
        return mpfr_get_d(r5807, MPFR_RNDN);
}

