#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 r26624 = a;
        float r26625 = asin(r26624);
        float r26626 = fmod(r26624, r26625);
        float r26627 = atan(r26626);
        float r26628 = r26624 * r26624;
        float r26629 = pow(r26627, r26628);
        return r26629;
}

double f_id(double a) {
        double r26630 = a;
        double r26631 = asin(r26630);
        double r26632 = fmod(r26630, r26631);
        double r26633 = atan(r26632);
        double r26634 = r26630 * r26630;
        double r26635 = pow(r26633, r26634);
        return r26635;
}


double f_of(float a) {
        float r26636 = a;
        float r26637 = asin(r26636);
        float r26638 = fmod(r26636, r26637);
        float r26639 = atan(r26638);
        float r26640 = r26636 * r26636;
        float r26641 = pow(r26639, r26640);
        return r26641;
}

double f_od(double a) {
        double r26642 = a;
        double r26643 = asin(r26642);
        double r26644 = fmod(r26642, r26643);
        double r26645 = atan(r26644);
        double r26646 = r26642 * r26642;
        double r26647 = pow(r26645, r26646);
        return r26647;
}

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 r26648, r26649, r26650, r26651, r26652, r26653;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(2384);
        mpfr_init(r26648);
        mpfr_init(r26649);
        mpfr_init(r26650);
        mpfr_init(r26651);
        mpfr_init(r26652);
        mpfr_init(r26653);
}

double f_im(double a) {
        mpfr_set_d(r26648, a, MPFR_RNDN);
        mpfr_asin(r26649, r26648, MPFR_RNDN);
        mpfr_fmod(r26650, r26648, r26649, MPFR_RNDN);
        mpfr_atan(r26651, r26650, MPFR_RNDN);
        mpfr_mul(r26652, r26648, r26648, MPFR_RNDN);
        mpfr_pow(r26653, r26651, r26652, MPFR_RNDN);
        return mpfr_get_d(r26653, MPFR_RNDN);
}

static mpfr_t r26654, r26655, r26656, r26657, r26658, r26659;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(2384);
        mpfr_init(r26654);
        mpfr_init(r26655);
        mpfr_init(r26656);
        mpfr_init(r26657);
        mpfr_init(r26658);
        mpfr_init(r26659);
}

double f_fm(double a) {
        mpfr_set_d(r26654, a, MPFR_RNDN);
        mpfr_asin(r26655, r26654, MPFR_RNDN);
        mpfr_fmod(r26656, r26654, r26655, MPFR_RNDN);
        mpfr_atan(r26657, r26656, MPFR_RNDN);
        mpfr_mul(r26658, r26654, r26654, MPFR_RNDN);
        mpfr_pow(r26659, r26657, r26658, MPFR_RNDN);
        return mpfr_get_d(r26659, MPFR_RNDN);
}

static mpfr_t r26660, r26661, r26662, r26663, r26664, r26665;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(2384);
        mpfr_init(r26660);
        mpfr_init(r26661);
        mpfr_init(r26662);
        mpfr_init(r26663);
        mpfr_init(r26664);
        mpfr_init(r26665);
}

double f_dm(double a) {
        mpfr_set_d(r26660, a, MPFR_RNDN);
        mpfr_asin(r26661, r26660, MPFR_RNDN);
        mpfr_fmod(r26662, r26660, r26661, MPFR_RNDN);
        mpfr_atan(r26663, r26662, MPFR_RNDN);
        mpfr_mul(r26664, r26660, r26660, MPFR_RNDN);
        mpfr_pow(r26665, r26663, r26664, MPFR_RNDN);
        return mpfr_get_d(r26665, MPFR_RNDN);
}

