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

char *name = "Fuzzer 002";

double f_if(float a) {
        float r10434 = a;
        float r10435 = asin(r10434);
        float r10436 = fmod(r10434, r10435);
        float r10437 = atan(r10436);
        float r10438 = r10434 * r10434;
        float r10439 = pow(r10437, r10438);
        return r10439;
}

double f_id(double a) {
        double r10440 = a;
        double r10441 = asin(r10440);
        double r10442 = fmod(r10440, r10441);
        double r10443 = atan(r10442);
        double r10444 = r10440 * r10440;
        double r10445 = pow(r10443, r10444);
        return r10445;
}


double f_of(float a) {
        float r10446 = a;
        float r10447 = asin(r10446);
        float r10448 = fmod(r10446, r10447);
        float r10449 = atan(r10448);
        float r10450 = r10446 * r10446;
        float r10451 = pow(r10449, r10450);
        return r10451;
}

double f_od(double a) {
        double r10452 = a;
        double r10453 = asin(r10452);
        double r10454 = fmod(r10452, r10453);
        double r10455 = atan(r10454);
        double r10456 = r10452 * r10452;
        double r10457 = pow(r10455, r10456);
        return r10457;
}

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 r10458, r10459, r10460, r10461, r10462, r10463;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(2384);
        mpfr_init(r10458);
        mpfr_init(r10459);
        mpfr_init(r10460);
        mpfr_init(r10461);
        mpfr_init(r10462);
        mpfr_init(r10463);
}

double f_im(double a) {
        mpfr_set_d(r10458, a, MPFR_RNDN);
        mpfr_asin(r10459, r10458, MPFR_RNDN);
        mpfr_fmod(r10460, r10458, r10459, MPFR_RNDN);
        mpfr_atan(r10461, r10460, MPFR_RNDN);
        mpfr_mul(r10462, r10458, r10458, MPFR_RNDN);
        mpfr_pow(r10463, r10461, r10462, MPFR_RNDN);
        return mpfr_get_d(r10463, MPFR_RNDN);
}

static mpfr_t r10464, r10465, r10466, r10467, r10468, r10469;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(2384);
        mpfr_init(r10464);
        mpfr_init(r10465);
        mpfr_init(r10466);
        mpfr_init(r10467);
        mpfr_init(r10468);
        mpfr_init(r10469);
}

double f_fm(double a) {
        mpfr_set_d(r10464, a, MPFR_RNDN);
        mpfr_asin(r10465, r10464, MPFR_RNDN);
        mpfr_fmod(r10466, r10464, r10465, MPFR_RNDN);
        mpfr_atan(r10467, r10466, MPFR_RNDN);
        mpfr_mul(r10468, r10464, r10464, MPFR_RNDN);
        mpfr_pow(r10469, r10467, r10468, MPFR_RNDN);
        return mpfr_get_d(r10469, MPFR_RNDN);
}

static mpfr_t r10470, r10471, r10472, r10473, r10474, r10475;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(2384);
        mpfr_init(r10470);
        mpfr_init(r10471);
        mpfr_init(r10472);
        mpfr_init(r10473);
        mpfr_init(r10474);
        mpfr_init(r10475);
}

double f_dm(double a) {
        mpfr_set_d(r10470, a, MPFR_RNDN);
        mpfr_asin(r10471, r10470, MPFR_RNDN);
        mpfr_fmod(r10472, r10470, r10471, MPFR_RNDN);
        mpfr_atan(r10473, r10472, MPFR_RNDN);
        mpfr_mul(r10474, r10470, r10470, MPFR_RNDN);
        mpfr_pow(r10475, r10473, r10474, MPFR_RNDN);
        return mpfr_get_d(r10475, MPFR_RNDN);
}

