#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 r10583 = a;
        float r10584 = asin(r10583);
        float r10585 = fmod(r10583, r10584);
        float r10586 = atan(r10585);
        float r10587 = r10583 * r10583;
        float r10588 = pow(r10586, r10587);
        return r10588;
}

double f_id(double a) {
        double r10589 = a;
        double r10590 = asin(r10589);
        double r10591 = fmod(r10589, r10590);
        double r10592 = atan(r10591);
        double r10593 = r10589 * r10589;
        double r10594 = pow(r10592, r10593);
        return r10594;
}


double f_of(float a) {
        float r10595 = a;
        float r10596 = asin(r10595);
        float r10597 = fmod(r10595, r10596);
        float r10598 = atan(r10597);
        float r10599 = r10595 * r10595;
        float r10600 = pow(r10598, r10599);
        return r10600;
}

double f_od(double a) {
        double r10601 = a;
        double r10602 = asin(r10601);
        double r10603 = fmod(r10601, r10602);
        double r10604 = atan(r10603);
        double r10605 = r10601 * r10601;
        double r10606 = pow(r10604, r10605);
        return r10606;
}

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 r10607, r10608, r10609, r10610, r10611, r10612;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(2384);
        mpfr_init(r10607);
        mpfr_init(r10608);
        mpfr_init(r10609);
        mpfr_init(r10610);
        mpfr_init(r10611);
        mpfr_init(r10612);
}

double f_im(double a) {
        mpfr_set_d(r10607, a, MPFR_RNDN);
        mpfr_asin(r10608, r10607, MPFR_RNDN);
        mpfr_fmod(r10609, r10607, r10608, MPFR_RNDN);
        mpfr_atan(r10610, r10609, MPFR_RNDN);
        mpfr_mul(r10611, r10607, r10607, MPFR_RNDN);
        mpfr_pow(r10612, r10610, r10611, MPFR_RNDN);
        return mpfr_get_d(r10612, MPFR_RNDN);
}

static mpfr_t r10613, r10614, r10615, r10616, r10617, r10618;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(2384);
        mpfr_init(r10613);
        mpfr_init(r10614);
        mpfr_init(r10615);
        mpfr_init(r10616);
        mpfr_init(r10617);
        mpfr_init(r10618);
}

double f_fm(double a) {
        mpfr_set_d(r10613, a, MPFR_RNDN);
        mpfr_asin(r10614, r10613, MPFR_RNDN);
        mpfr_fmod(r10615, r10613, r10614, MPFR_RNDN);
        mpfr_atan(r10616, r10615, MPFR_RNDN);
        mpfr_mul(r10617, r10613, r10613, MPFR_RNDN);
        mpfr_pow(r10618, r10616, r10617, MPFR_RNDN);
        return mpfr_get_d(r10618, MPFR_RNDN);
}

static mpfr_t r10619, r10620, r10621, r10622, r10623, r10624;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(2384);
        mpfr_init(r10619);
        mpfr_init(r10620);
        mpfr_init(r10621);
        mpfr_init(r10622);
        mpfr_init(r10623);
        mpfr_init(r10624);
}

double f_dm(double a) {
        mpfr_set_d(r10619, a, MPFR_RNDN);
        mpfr_asin(r10620, r10619, MPFR_RNDN);
        mpfr_fmod(r10621, r10619, r10620, MPFR_RNDN);
        mpfr_atan(r10622, r10621, MPFR_RNDN);
        mpfr_mul(r10623, r10619, r10619, MPFR_RNDN);
        mpfr_pow(r10624, r10622, r10623, MPFR_RNDN);
        return mpfr_get_d(r10624, MPFR_RNDN);
}

