#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 r26570 = a;
        float r26571 = asin(r26570);
        float r26572 = fmod(r26570, r26571);
        float r26573 = atan(r26572);
        float r26574 = r26570 * r26570;
        float r26575 = pow(r26573, r26574);
        return r26575;
}

double f_id(double a) {
        double r26576 = a;
        double r26577 = asin(r26576);
        double r26578 = fmod(r26576, r26577);
        double r26579 = atan(r26578);
        double r26580 = r26576 * r26576;
        double r26581 = pow(r26579, r26580);
        return r26581;
}


double f_of(float a) {
        float r26582 = a;
        float r26583 = asin(r26582);
        float r26584 = fmod(r26582, r26583);
        float r26585 = atan(r26584);
        float r26586 = r26582 * r26582;
        float r26587 = pow(r26585, r26586);
        return r26587;
}

double f_od(double a) {
        double r26588 = a;
        double r26589 = asin(r26588);
        double r26590 = fmod(r26588, r26589);
        double r26591 = atan(r26590);
        double r26592 = r26588 * r26588;
        double r26593 = pow(r26591, r26592);
        return r26593;
}

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 r26594, r26595, r26596, r26597, r26598, r26599;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(2384);
        mpfr_init(r26594);
        mpfr_init(r26595);
        mpfr_init(r26596);
        mpfr_init(r26597);
        mpfr_init(r26598);
        mpfr_init(r26599);
}

double f_im(double a) {
        mpfr_set_d(r26594, a, MPFR_RNDN);
        mpfr_asin(r26595, r26594, MPFR_RNDN);
        mpfr_fmod(r26596, r26594, r26595, MPFR_RNDN);
        mpfr_atan(r26597, r26596, MPFR_RNDN);
        mpfr_mul(r26598, r26594, r26594, MPFR_RNDN);
        mpfr_pow(r26599, r26597, r26598, MPFR_RNDN);
        return mpfr_get_d(r26599, MPFR_RNDN);
}

static mpfr_t r26600, r26601, r26602, r26603, r26604, r26605;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(2384);
        mpfr_init(r26600);
        mpfr_init(r26601);
        mpfr_init(r26602);
        mpfr_init(r26603);
        mpfr_init(r26604);
        mpfr_init(r26605);
}

double f_fm(double a) {
        mpfr_set_d(r26600, a, MPFR_RNDN);
        mpfr_asin(r26601, r26600, MPFR_RNDN);
        mpfr_fmod(r26602, r26600, r26601, MPFR_RNDN);
        mpfr_atan(r26603, r26602, MPFR_RNDN);
        mpfr_mul(r26604, r26600, r26600, MPFR_RNDN);
        mpfr_pow(r26605, r26603, r26604, MPFR_RNDN);
        return mpfr_get_d(r26605, MPFR_RNDN);
}

static mpfr_t r26606, r26607, r26608, r26609, r26610, r26611;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(2384);
        mpfr_init(r26606);
        mpfr_init(r26607);
        mpfr_init(r26608);
        mpfr_init(r26609);
        mpfr_init(r26610);
        mpfr_init(r26611);
}

double f_dm(double a) {
        mpfr_set_d(r26606, a, MPFR_RNDN);
        mpfr_asin(r26607, r26606, MPFR_RNDN);
        mpfr_fmod(r26608, r26606, r26607, MPFR_RNDN);
        mpfr_atan(r26609, r26608, MPFR_RNDN);
        mpfr_mul(r26610, r26606, r26606, MPFR_RNDN);
        mpfr_pow(r26611, r26609, r26610, MPFR_RNDN);
        return mpfr_get_d(r26611, MPFR_RNDN);
}

