#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 r10870 = a;
        float r10871 = acos(r10870);
        float r10872 = -r10871;
        float r10873 = r10870 / r10872;
        return r10873;
}

double f_id(double a) {
        double r10874 = a;
        double r10875 = acos(r10874);
        double r10876 = -r10875;
        double r10877 = r10874 / r10876;
        return r10877;
}


double f_of(float a) {
        float r10878 = a;
        float r10879 = acos(r10878);
        float r10880 = -r10879;
        float r10881 = r10878 / r10880;
        return r10881;
}

double f_od(double a) {
        double r10882 = a;
        double r10883 = acos(r10882);
        double r10884 = -r10883;
        double r10885 = r10882 / r10884;
        return r10885;
}

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 r10886, r10887, r10888, r10889;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(592);
        mpfr_init(r10886);
        mpfr_init(r10887);
        mpfr_init(r10888);
        mpfr_init(r10889);
}

double f_im(double a) {
        mpfr_set_d(r10886, a, MPFR_RNDN);
        mpfr_acos(r10887, r10886, MPFR_RNDN);
        mpfr_neg(r10888, r10887, MPFR_RNDN);
        mpfr_div(r10889, r10886, r10888, MPFR_RNDN);
        return mpfr_get_d(r10889, MPFR_RNDN);
}

static mpfr_t r10890, r10891, r10892, r10893;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(592);
        mpfr_init(r10890);
        mpfr_init(r10891);
        mpfr_init(r10892);
        mpfr_init(r10893);
}

double f_fm(double a) {
        mpfr_set_d(r10890, a, MPFR_RNDN);
        mpfr_acos(r10891, r10890, MPFR_RNDN);
        mpfr_neg(r10892, r10891, MPFR_RNDN);
        mpfr_div(r10893, r10890, r10892, MPFR_RNDN);
        return mpfr_get_d(r10893, MPFR_RNDN);
}

static mpfr_t r10894, r10895, r10896, r10897;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(592);
        mpfr_init(r10894);
        mpfr_init(r10895);
        mpfr_init(r10896);
        mpfr_init(r10897);
}

double f_dm(double a) {
        mpfr_set_d(r10894, a, MPFR_RNDN);
        mpfr_acos(r10895, r10894, MPFR_RNDN);
        mpfr_neg(r10896, r10895, MPFR_RNDN);
        mpfr_div(r10897, r10894, r10896, MPFR_RNDN);
        return mpfr_get_d(r10897, MPFR_RNDN);
}

