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

char *name = "Random Jason Timeout Test 011";

double f_if(float a) {
        float r21804 = a;
        float r21805 = asin(r21804);
        float r21806 = fmod(r21804, r21805);
        float r21807 = atan(r21806);
        float r21808 = r21804 * r21804;
        float r21809 = pow(r21807, r21808);
        return r21809;
}

double f_id(double a) {
        double r21810 = a;
        double r21811 = asin(r21810);
        double r21812 = fmod(r21810, r21811);
        double r21813 = atan(r21812);
        double r21814 = r21810 * r21810;
        double r21815 = pow(r21813, r21814);
        return r21815;
}


double f_of(float a) {
        float r21816 = a;
        float r21817 = asin(r21816);
        float r21818 = fmod(r21816, r21817);
        float r21819 = atan(r21818);
        float r21820 = r21816 * r21816;
        float r21821 = pow(r21819, r21820);
        return r21821;
}

double f_od(double a) {
        double r21822 = a;
        double r21823 = asin(r21822);
        double r21824 = fmod(r21822, r21823);
        double r21825 = atan(r21824);
        double r21826 = r21822 * r21822;
        double r21827 = pow(r21825, r21826);
        return r21827;
}

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 r21828, r21829, r21830, r21831, r21832, r21833;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(2448);
        mpfr_init(r21828);
        mpfr_init(r21829);
        mpfr_init(r21830);
        mpfr_init(r21831);
        mpfr_init(r21832);
        mpfr_init(r21833);
}

double f_im(double a) {
        mpfr_set_d(r21828, a, MPFR_RNDN);
        mpfr_asin(r21829, r21828, MPFR_RNDN);
        mpfr_fmod(r21830, r21828, r21829, MPFR_RNDN);
        mpfr_atan(r21831, r21830, MPFR_RNDN);
        mpfr_mul(r21832, r21828, r21828, MPFR_RNDN);
        mpfr_pow(r21833, r21831, r21832, MPFR_RNDN);
        return mpfr_get_d(r21833, MPFR_RNDN);
}

static mpfr_t r21834, r21835, r21836, r21837, r21838, r21839;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(2448);
        mpfr_init(r21834);
        mpfr_init(r21835);
        mpfr_init(r21836);
        mpfr_init(r21837);
        mpfr_init(r21838);
        mpfr_init(r21839);
}

double f_fm(double a) {
        mpfr_set_d(r21834, a, MPFR_RNDN);
        mpfr_asin(r21835, r21834, MPFR_RNDN);
        mpfr_fmod(r21836, r21834, r21835, MPFR_RNDN);
        mpfr_atan(r21837, r21836, MPFR_RNDN);
        mpfr_mul(r21838, r21834, r21834, MPFR_RNDN);
        mpfr_pow(r21839, r21837, r21838, MPFR_RNDN);
        return mpfr_get_d(r21839, MPFR_RNDN);
}

static mpfr_t r21840, r21841, r21842, r21843, r21844, r21845;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(2448);
        mpfr_init(r21840);
        mpfr_init(r21841);
        mpfr_init(r21842);
        mpfr_init(r21843);
        mpfr_init(r21844);
        mpfr_init(r21845);
}

double f_dm(double a) {
        mpfr_set_d(r21840, a, MPFR_RNDN);
        mpfr_asin(r21841, r21840, MPFR_RNDN);
        mpfr_fmod(r21842, r21840, r21841, MPFR_RNDN);
        mpfr_atan(r21843, r21842, MPFR_RNDN);
        mpfr_mul(r21844, r21840, r21840, MPFR_RNDN);
        mpfr_pow(r21845, r21843, r21844, MPFR_RNDN);
        return mpfr_get_d(r21845, MPFR_RNDN);
}

