#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 r26666 = a;
        float r26667 = acos(r26666);
        float r26668 = -r26667;
        float r26669 = r26666 / r26668;
        return r26669;
}

double f_id(double a) {
        double r26670 = a;
        double r26671 = acos(r26670);
        double r26672 = -r26671;
        double r26673 = r26670 / r26672;
        return r26673;
}


double f_of(float a) {
        float r26674 = a;
        float r26675 = acos(r26674);
        float r26676 = -r26675;
        float r26677 = r26674 / r26676;
        return r26677;
}

double f_od(double a) {
        double r26678 = a;
        double r26679 = acos(r26678);
        double r26680 = -r26679;
        double r26681 = r26678 / r26680;
        return r26681;
}

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 r26682, r26683, r26684, r26685;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(592);
        mpfr_init(r26682);
        mpfr_init(r26683);
        mpfr_init(r26684);
        mpfr_init(r26685);
}

double f_im(double a) {
        mpfr_set_d(r26682, a, MPFR_RNDN);
        mpfr_acos(r26683, r26682, MPFR_RNDN);
        mpfr_neg(r26684, r26683, MPFR_RNDN);
        mpfr_div(r26685, r26682, r26684, MPFR_RNDN);
        return mpfr_get_d(r26685, MPFR_RNDN);
}

static mpfr_t r26686, r26687, r26688, r26689;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(592);
        mpfr_init(r26686);
        mpfr_init(r26687);
        mpfr_init(r26688);
        mpfr_init(r26689);
}

double f_fm(double a) {
        mpfr_set_d(r26686, a, MPFR_RNDN);
        mpfr_acos(r26687, r26686, MPFR_RNDN);
        mpfr_neg(r26688, r26687, MPFR_RNDN);
        mpfr_div(r26689, r26686, r26688, MPFR_RNDN);
        return mpfr_get_d(r26689, MPFR_RNDN);
}

static mpfr_t r26690, r26691, r26692, r26693;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(592);
        mpfr_init(r26690);
        mpfr_init(r26691);
        mpfr_init(r26692);
        mpfr_init(r26693);
}

double f_dm(double a) {
        mpfr_set_d(r26690, a, MPFR_RNDN);
        mpfr_acos(r26691, r26690, MPFR_RNDN);
        mpfr_neg(r26692, r26691, MPFR_RNDN);
        mpfr_div(r26693, r26690, r26692, MPFR_RNDN);
        return mpfr_get_d(r26693, MPFR_RNDN);
}

