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

char *name = "Octave 3.8, jcobi/3";

double f_if(float alpha, float beta) {
        float r26700 = alpha;
        float r26701 = beta;
        float r26702 = r26700 + r26701;
        float r26703 = r26701 * r26700;
        float r26704 = r26702 + r26703;
        float r26705 = 1.0;
        float r26706 = r26704 + r26705;
        float r26707 = 2;
        float r26708 = 1;
        float r26709 = r26707 * r26708;
        float r26710 = r26702 + r26709;
        float r26711 = r26706 / r26710;
        float r26712 = r26711 / r26710;
        float r26713 = r26710 + r26705;
        float r26714 = r26712 / r26713;
        return r26714;
}

double f_id(double alpha, double beta) {
        double r26715 = alpha;
        double r26716 = beta;
        double r26717 = r26715 + r26716;
        double r26718 = r26716 * r26715;
        double r26719 = r26717 + r26718;
        double r26720 = 1.0;
        double r26721 = r26719 + r26720;
        double r26722 = 2;
        double r26723 = 1;
        double r26724 = r26722 * r26723;
        double r26725 = r26717 + r26724;
        double r26726 = r26721 / r26725;
        double r26727 = r26726 / r26725;
        double r26728 = r26725 + r26720;
        double r26729 = r26727 / r26728;
        return r26729;
}


double f_of(float alpha, float beta) {
        float r26730 = beta;
        float r26731 = 4.193960641989379e+198;
        bool r26732 = r26730 <= r26731;
        float r26733 = 1;
        float r26734 = sqrt(r26733);
        float r26735 = alpha;
        float r26736 = r26730 + r26735;
        float r26737 = 1.0;
        float r26738 = 2;
        float r26739 = r26737 + r26738;
        float r26740 = r26736 + r26739;
        float r26741 = r26734 / r26740;
        float r26742 = r26730 * r26735;
        float r26743 = r26742 + r26730;
        float r26744 = r26735 + r26737;
        float r26745 = r26743 + r26744;
        float r26746 = sqrt(r26745);
        float r26747 = r26738 + r26735;
        float r26748 = r26747 + r26730;
        float r26749 = r26746 / r26748;
        float r26750 = r26741 * r26749;
        float r26751 = r26750 * r26749;
        float r26752 = 0;
        float r26753 = r26732 ? r26751 : r26752;
        return r26753;
}

double f_od(double alpha, double beta) {
        double r26754 = beta;
        double r26755 = 4.193960641989379e+198;
        bool r26756 = r26754 <= r26755;
        double r26757 = 1;
        double r26758 = sqrt(r26757);
        double r26759 = alpha;
        double r26760 = r26754 + r26759;
        double r26761 = 1.0;
        double r26762 = 2;
        double r26763 = r26761 + r26762;
        double r26764 = r26760 + r26763;
        double r26765 = r26758 / r26764;
        double r26766 = r26754 * r26759;
        double r26767 = r26766 + r26754;
        double r26768 = r26759 + r26761;
        double r26769 = r26767 + r26768;
        double r26770 = sqrt(r26769);
        double r26771 = r26762 + r26759;
        double r26772 = r26771 + r26754;
        double r26773 = r26770 / r26772;
        double r26774 = r26765 * r26773;
        double r26775 = r26774 * r26773;
        double r26776 = 0;
        double r26777 = r26756 ? r26775 : r26776;
        return r26777;
}

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 r26778, r26779, r26780, r26781, r26782, r26783, r26784, r26785, r26786, r26787, r26788, r26789, r26790, r26791, r26792;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(400);
        mpfr_init(r26778);
        mpfr_init(r26779);
        mpfr_init(r26780);
        mpfr_init(r26781);
        mpfr_init(r26782);
        mpfr_init_set_str(r26783, "1.0", 10, MPFR_RNDN);
        mpfr_init(r26784);
        mpfr_init_set_str(r26785, "2", 10, MPFR_RNDN);
        mpfr_init_set_str(r26786, "1", 10, MPFR_RNDN);
        mpfr_init(r26787);
        mpfr_init(r26788);
        mpfr_init(r26789);
        mpfr_init(r26790);
        mpfr_init(r26791);
        mpfr_init(r26792);
}

double f_im(double alpha, double beta) {
        mpfr_set_d(r26778, alpha, MPFR_RNDN);
        mpfr_set_d(r26779, beta, MPFR_RNDN);
        mpfr_add(r26780, r26778, r26779, MPFR_RNDN);
        mpfr_mul(r26781, r26779, r26778, MPFR_RNDN);
        mpfr_add(r26782, r26780, r26781, MPFR_RNDN);
        ;
        mpfr_add(r26784, r26782, r26783, MPFR_RNDN);
        ;
        ;
        mpfr_mul(r26787, r26785, r26786, MPFR_RNDN);
        mpfr_add(r26788, r26780, r26787, MPFR_RNDN);
        mpfr_div(r26789, r26784, r26788, MPFR_RNDN);
        mpfr_div(r26790, r26789, r26788, MPFR_RNDN);
        mpfr_add(r26791, r26788, r26783, MPFR_RNDN);
        mpfr_div(r26792, r26790, r26791, MPFR_RNDN);
        return mpfr_get_d(r26792, MPFR_RNDN);
}

static mpfr_t r26793, r26794, r26795, r26796, r26797, r26798, r26799, r26800, r26801, r26802, r26803, r26804, r26805, r26806, r26807, r26808, r26809, r26810, r26811, r26812, r26813, r26814, r26815, r26816;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(400);
        mpfr_init(r26793);
        mpfr_init_set_str(r26794, "4.193960641989379e+198", 10, MPFR_RNDN);
        mpfr_init(r26795);
        mpfr_init_set_str(r26796, "1", 10, MPFR_RNDN);
        mpfr_init(r26797);
        mpfr_init(r26798);
        mpfr_init(r26799);
        mpfr_init_set_str(r26800, "1.0", 10, MPFR_RNDN);
        mpfr_init_set_str(r26801, "2", 10, MPFR_RNDN);
        mpfr_init(r26802);
        mpfr_init(r26803);
        mpfr_init(r26804);
        mpfr_init(r26805);
        mpfr_init(r26806);
        mpfr_init(r26807);
        mpfr_init(r26808);
        mpfr_init(r26809);
        mpfr_init(r26810);
        mpfr_init(r26811);
        mpfr_init(r26812);
        mpfr_init(r26813);
        mpfr_init(r26814);
        mpfr_init_set_str(r26815, "0", 10, MPFR_RNDN);
        mpfr_init(r26816);
}

double f_fm(double alpha, double beta) {
        mpfr_set_d(r26793, beta, MPFR_RNDN);
        ;
        mpfr_set_si(r26795, mpfr_cmp(r26793, r26794) <= 0, MPFR_RNDN);
        ;
        mpfr_sqrt(r26797, r26796, MPFR_RNDN);
        mpfr_set_d(r26798, alpha, MPFR_RNDN);
        mpfr_add(r26799, r26793, r26798, MPFR_RNDN);
        ;
        ;
        mpfr_add(r26802, r26800, r26801, MPFR_RNDN);
        mpfr_add(r26803, r26799, r26802, MPFR_RNDN);
        mpfr_div(r26804, r26797, r26803, MPFR_RNDN);
        mpfr_mul(r26805, r26793, r26798, MPFR_RNDN);
        mpfr_add(r26806, r26805, r26793, MPFR_RNDN);
        mpfr_add(r26807, r26798, r26800, MPFR_RNDN);
        mpfr_add(r26808, r26806, r26807, MPFR_RNDN);
        mpfr_sqrt(r26809, r26808, MPFR_RNDN);
        mpfr_add(r26810, r26801, r26798, MPFR_RNDN);
        mpfr_add(r26811, r26810, r26793, MPFR_RNDN);
        mpfr_div(r26812, r26809, r26811, MPFR_RNDN);
        mpfr_mul(r26813, r26804, r26812, MPFR_RNDN);
        mpfr_mul(r26814, r26813, r26812, MPFR_RNDN);
        ;
        if (mpfr_get_si(r26795, MPFR_RNDN)) { mpfr_set(r26816, r26814, MPFR_RNDN); } else { mpfr_set(r26816, r26815, MPFR_RNDN); };
        return mpfr_get_d(r26816, MPFR_RNDN);
}

static mpfr_t r26817, r26818, r26819, r26820, r26821, r26822, r26823, r26824, r26825, r26826, r26827, r26828, r26829, r26830, r26831, r26832, r26833, r26834, r26835, r26836, r26837, r26838, r26839, r26840;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(400);
        mpfr_init(r26817);
        mpfr_init_set_str(r26818, "4.193960641989379e+198", 10, MPFR_RNDN);
        mpfr_init(r26819);
        mpfr_init_set_str(r26820, "1", 10, MPFR_RNDN);
        mpfr_init(r26821);
        mpfr_init(r26822);
        mpfr_init(r26823);
        mpfr_init_set_str(r26824, "1.0", 10, MPFR_RNDN);
        mpfr_init_set_str(r26825, "2", 10, MPFR_RNDN);
        mpfr_init(r26826);
        mpfr_init(r26827);
        mpfr_init(r26828);
        mpfr_init(r26829);
        mpfr_init(r26830);
        mpfr_init(r26831);
        mpfr_init(r26832);
        mpfr_init(r26833);
        mpfr_init(r26834);
        mpfr_init(r26835);
        mpfr_init(r26836);
        mpfr_init(r26837);
        mpfr_init(r26838);
        mpfr_init_set_str(r26839, "0", 10, MPFR_RNDN);
        mpfr_init(r26840);
}

double f_dm(double alpha, double beta) {
        mpfr_set_d(r26817, beta, MPFR_RNDN);
        ;
        mpfr_set_si(r26819, mpfr_cmp(r26817, r26818) <= 0, MPFR_RNDN);
        ;
        mpfr_sqrt(r26821, r26820, MPFR_RNDN);
        mpfr_set_d(r26822, alpha, MPFR_RNDN);
        mpfr_add(r26823, r26817, r26822, MPFR_RNDN);
        ;
        ;
        mpfr_add(r26826, r26824, r26825, MPFR_RNDN);
        mpfr_add(r26827, r26823, r26826, MPFR_RNDN);
        mpfr_div(r26828, r26821, r26827, MPFR_RNDN);
        mpfr_mul(r26829, r26817, r26822, MPFR_RNDN);
        mpfr_add(r26830, r26829, r26817, MPFR_RNDN);
        mpfr_add(r26831, r26822, r26824, MPFR_RNDN);
        mpfr_add(r26832, r26830, r26831, MPFR_RNDN);
        mpfr_sqrt(r26833, r26832, MPFR_RNDN);
        mpfr_add(r26834, r26825, r26822, MPFR_RNDN);
        mpfr_add(r26835, r26834, r26817, MPFR_RNDN);
        mpfr_div(r26836, r26833, r26835, MPFR_RNDN);
        mpfr_mul(r26837, r26828, r26836, MPFR_RNDN);
        mpfr_mul(r26838, r26837, r26836, MPFR_RNDN);
        ;
        if (mpfr_get_si(r26819, MPFR_RNDN)) { mpfr_set(r26840, r26838, MPFR_RNDN); } else { mpfr_set(r26840, r26839, MPFR_RNDN); };
        return mpfr_get_d(r26840, MPFR_RNDN);
}

