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

char *name = "Fuzzer 001";

double f_if(float a) {
        float r10476 = a;
        float r10477 = acos(r10476);
        float r10478 = -r10477;
        float r10479 = r10476 / r10478;
        return r10479;
}

double f_id(double a) {
        double r10480 = a;
        double r10481 = acos(r10480);
        double r10482 = -r10481;
        double r10483 = r10480 / r10482;
        return r10483;
}


double f_of(float a) {
        float r10484 = a;
        float r10485 = acos(r10484);
        float r10486 = -r10485;
        float r10487 = r10484 / r10486;
        return r10487;
}

double f_od(double a) {
        double r10488 = a;
        double r10489 = acos(r10488);
        double r10490 = -r10489;
        double r10491 = r10488 / r10490;
        return r10491;
}

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 r10492, r10493, r10494, r10495;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(592);
        mpfr_init(r10492);
        mpfr_init(r10493);
        mpfr_init(r10494);
        mpfr_init(r10495);
}

double f_im(double a) {
        mpfr_set_d(r10492, a, MPFR_RNDN);
        mpfr_acos(r10493, r10492, MPFR_RNDN);
        mpfr_neg(r10494, r10493, MPFR_RNDN);
        mpfr_div(r10495, r10492, r10494, MPFR_RNDN);
        return mpfr_get_d(r10495, MPFR_RNDN);
}

static mpfr_t r10496, r10497, r10498, r10499;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(592);
        mpfr_init(r10496);
        mpfr_init(r10497);
        mpfr_init(r10498);
        mpfr_init(r10499);
}

double f_fm(double a) {
        mpfr_set_d(r10496, a, MPFR_RNDN);
        mpfr_acos(r10497, r10496, MPFR_RNDN);
        mpfr_neg(r10498, r10497, MPFR_RNDN);
        mpfr_div(r10499, r10496, r10498, MPFR_RNDN);
        return mpfr_get_d(r10499, MPFR_RNDN);
}

static mpfr_t r10500, r10501, r10502, r10503;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(592);
        mpfr_init(r10500);
        mpfr_init(r10501);
        mpfr_init(r10502);
        mpfr_init(r10503);
}

double f_dm(double a) {
        mpfr_set_d(r10500, a, MPFR_RNDN);
        mpfr_acos(r10501, r10500, MPFR_RNDN);
        mpfr_neg(r10502, r10501, MPFR_RNDN);
        mpfr_div(r10503, r10500, r10502, MPFR_RNDN);
        return mpfr_get_d(r10503, MPFR_RNDN);
}

