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

char *name = "Falkner and Boettcher, Equation (22+)";

double f_if(float v) {
        float r9717 = 4.0f;
        float r9718 = 3.0f;
        float r9719 = atan2(1.0, 0.0);
        float r9720 = r9718 * r9719;
        float r9721 = 1.0f;
        float r9722 = v;
        float r9723 = r9722 * r9722;
        float r9724 = r9721 - r9723;
        float r9725 = r9720 * r9724;
        float r9726 = 2.0f;
        float r9727 = 6.0f;
        float r9728 = r9727 * r9723;
        float r9729 = r9726 - r9728;
        float r9730 = sqrt(r9729);
        float r9731 = r9725 * r9730;
        float r9732 = r9717 / r9731;
        return r9732;
}

double f_id(double v) {
        double r9733 = 4.0;
        double r9734 = 3.0;
        double r9735 = atan2(1.0, 0.0);
        double r9736 = r9734 * r9735;
        double r9737 = 1.0;
        double r9738 = v;
        double r9739 = r9738 * r9738;
        double r9740 = r9737 - r9739;
        double r9741 = r9736 * r9740;
        double r9742 = 2.0;
        double r9743 = 6.0;
        double r9744 = r9743 * r9739;
        double r9745 = r9742 - r9744;
        double r9746 = sqrt(r9745);
        double r9747 = r9741 * r9746;
        double r9748 = r9733 / r9747;
        return r9748;
}


double f_of(float v) {
        float r9749 = 4.0f;
        float r9750 = 3.0f;
        float r9751 = r9749 / r9750;
        float r9752 = atan2(1.0, 0.0);
        float r9753 = r9751 / r9752;
        float r9754 = 1.0f;
        float r9755 = v;
        float r9756 = r9755 * r9755;
        float r9757 = r9754 - r9756;
        float r9758 = r9753 / r9757;
        float r9759 = 2.0f;
        float r9760 = 6.0f;
        float r9761 = r9760 * r9755;
        float r9762 = r9761 * r9755;
        float r9763 = r9759 - r9762;
        float r9764 = sqrt(r9763);
        float r9765 = r9758 / r9764;
        return r9765;
}

double f_od(double v) {
        double r9766 = 4.0;
        double r9767 = 3.0;
        double r9768 = r9766 / r9767;
        double r9769 = atan2(1.0, 0.0);
        double r9770 = r9768 / r9769;
        double r9771 = 1.0;
        double r9772 = v;
        double r9773 = r9772 * r9772;
        double r9774 = r9771 - r9773;
        double r9775 = r9770 / r9774;
        double r9776 = 2.0;
        double r9777 = 6.0;
        double r9778 = r9777 * r9772;
        double r9779 = r9778 * r9772;
        double r9780 = r9776 - r9779;
        double r9781 = sqrt(r9780);
        double r9782 = r9775 / r9781;
        return r9782;
}

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 r9783, r9784, r9785, r9786, r9787, r9788, r9789, r9790, r9791, r9792, r9793, r9794, r9795, r9796, r9797, r9798;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(336);
        mpfr_init_set_str(r9783, "4", 10, MPFR_RNDN);
        mpfr_init_set_str(r9784, "3", 10, MPFR_RNDN);
        mpfr_init(r9785);
        mpfr_init(r9786);
        mpfr_init_set_str(r9787, "1", 10, MPFR_RNDN);
        mpfr_init(r9788);
        mpfr_init(r9789);
        mpfr_init(r9790);
        mpfr_init(r9791);
        mpfr_init_set_str(r9792, "2", 10, MPFR_RNDN);
        mpfr_init_set_str(r9793, "6", 10, MPFR_RNDN);
        mpfr_init(r9794);
        mpfr_init(r9795);
        mpfr_init(r9796);
        mpfr_init(r9797);
        mpfr_init(r9798);
}

double f_im(double v) {
        ;
        ;
        mpfr_const_pi(r9785, MPFR_RNDN);
        mpfr_mul(r9786, r9784, r9785, MPFR_RNDN);
        ;
        mpfr_set_d(r9788, v, MPFR_RNDN);
        mpfr_mul(r9789, r9788, r9788, MPFR_RNDN);
        mpfr_sub(r9790, r9787, r9789, MPFR_RNDN);
        mpfr_mul(r9791, r9786, r9790, MPFR_RNDN);
        ;
        ;
        mpfr_mul(r9794, r9793, r9789, MPFR_RNDN);
        mpfr_sub(r9795, r9792, r9794, MPFR_RNDN);
        mpfr_sqrt(r9796, r9795, MPFR_RNDN);
        mpfr_mul(r9797, r9791, r9796, MPFR_RNDN);
        mpfr_div(r9798, r9783, r9797, MPFR_RNDN);
        return mpfr_get_d(r9798, MPFR_RNDN);
}

static mpfr_t r9799, r9800, r9801, r9802, r9803, r9804, r9805, r9806, r9807, r9808, r9809, r9810, r9811, r9812, r9813, r9814, r9815;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(336);
        mpfr_init_set_str(r9799, "4", 10, MPFR_RNDN);
        mpfr_init_set_str(r9800, "3", 10, MPFR_RNDN);
        mpfr_init(r9801);
        mpfr_init(r9802);
        mpfr_init(r9803);
        mpfr_init_set_str(r9804, "1", 10, MPFR_RNDN);
        mpfr_init(r9805);
        mpfr_init(r9806);
        mpfr_init(r9807);
        mpfr_init(r9808);
        mpfr_init_set_str(r9809, "2", 10, MPFR_RNDN);
        mpfr_init_set_str(r9810, "6", 10, MPFR_RNDN);
        mpfr_init(r9811);
        mpfr_init(r9812);
        mpfr_init(r9813);
        mpfr_init(r9814);
        mpfr_init(r9815);
}

double f_fm(double v) {
        ;
        ;
        mpfr_div(r9801, r9799, r9800, MPFR_RNDN);
        mpfr_const_pi(r9802, MPFR_RNDN);
        mpfr_div(r9803, r9801, r9802, MPFR_RNDN);
        ;
        mpfr_set_d(r9805, v, MPFR_RNDN);
        mpfr_mul(r9806, r9805, r9805, MPFR_RNDN);
        mpfr_sub(r9807, r9804, r9806, MPFR_RNDN);
        mpfr_div(r9808, r9803, r9807, MPFR_RNDN);
        ;
        ;
        mpfr_mul(r9811, r9810, r9805, MPFR_RNDN);
        mpfr_mul(r9812, r9811, r9805, MPFR_RNDN);
        mpfr_sub(r9813, r9809, r9812, MPFR_RNDN);
        mpfr_sqrt(r9814, r9813, MPFR_RNDN);
        mpfr_div(r9815, r9808, r9814, MPFR_RNDN);
        return mpfr_get_d(r9815, MPFR_RNDN);
}

static mpfr_t r9816, r9817, r9818, r9819, r9820, r9821, r9822, r9823, r9824, r9825, r9826, r9827, r9828, r9829, r9830, r9831, r9832;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(336);
        mpfr_init_set_str(r9816, "4", 10, MPFR_RNDN);
        mpfr_init_set_str(r9817, "3", 10, MPFR_RNDN);
        mpfr_init(r9818);
        mpfr_init(r9819);
        mpfr_init(r9820);
        mpfr_init_set_str(r9821, "1", 10, MPFR_RNDN);
        mpfr_init(r9822);
        mpfr_init(r9823);
        mpfr_init(r9824);
        mpfr_init(r9825);
        mpfr_init_set_str(r9826, "2", 10, MPFR_RNDN);
        mpfr_init_set_str(r9827, "6", 10, MPFR_RNDN);
        mpfr_init(r9828);
        mpfr_init(r9829);
        mpfr_init(r9830);
        mpfr_init(r9831);
        mpfr_init(r9832);
}

double f_dm(double v) {
        ;
        ;
        mpfr_div(r9818, r9816, r9817, MPFR_RNDN);
        mpfr_const_pi(r9819, MPFR_RNDN);
        mpfr_div(r9820, r9818, r9819, MPFR_RNDN);
        ;
        mpfr_set_d(r9822, v, MPFR_RNDN);
        mpfr_mul(r9823, r9822, r9822, MPFR_RNDN);
        mpfr_sub(r9824, r9821, r9823, MPFR_RNDN);
        mpfr_div(r9825, r9820, r9824, MPFR_RNDN);
        ;
        ;
        mpfr_mul(r9828, r9827, r9822, MPFR_RNDN);
        mpfr_mul(r9829, r9828, r9822, MPFR_RNDN);
        mpfr_sub(r9830, r9826, r9829, MPFR_RNDN);
        mpfr_sqrt(r9831, r9830, MPFR_RNDN);
        mpfr_div(r9832, r9825, r9831, MPFR_RNDN);
        return mpfr_get_d(r9832, MPFR_RNDN);
}

