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

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

double f_if(float alpha, float beta) {
        float r26662 = beta;
        float r26663 = alpha;
        float r26664 = r26662 - r26663;
        float r26665 = r26663 + r26662;
        float r26666 = 2.0;
        float r26667 = r26665 + r26666;
        float r26668 = r26664 / r26667;
        float r26669 = 1.0;
        float r26670 = r26668 + r26669;
        float r26671 = r26670 / r26666;
        return r26671;
}

double f_id(double alpha, double beta) {
        double r26672 = beta;
        double r26673 = alpha;
        double r26674 = r26672 - r26673;
        double r26675 = r26673 + r26672;
        double r26676 = 2.0;
        double r26677 = r26675 + r26676;
        double r26678 = r26674 / r26677;
        double r26679 = 1.0;
        double r26680 = r26678 + r26679;
        double r26681 = r26680 / r26676;
        return r26681;
}


double f_of(float alpha, float beta) {
        float r26682 = beta;
        float r26683 = alpha;
        float r26684 = r26682 - r26683;
        float r26685 = r26683 + r26682;
        float r26686 = 2.0;
        float r26687 = r26685 + r26686;
        float r26688 = r26684 / r26687;
        float r26689 = 1.0;
        float r26690 = r26688 + r26689;
        float r26691 = r26690 / r26686;
        float r26692 = 2.232965029360474e-06;
        bool r26693 = r26691 <= r26692;
        float r26694 = r26682 / r26687;
        float r26695 = 4.0;
        float r26696 = 1;
        float r26697 = 2;
        float r26698 = pow(r26683, r26697);
        float r26699 = r26696 / r26698;
        float r26700 = r26695 * r26699;
        float r26701 = 8.0;
        float r26702 = 3;
        float r26703 = pow(r26683, r26702);
        float r26704 = r26696 / r26703;
        float r26705 = r26701 * r26704;
        float r26706 = r26696 / r26683;
        float r26707 = r26686 * r26706;
        float r26708 = r26705 + r26707;
        float r26709 = r26700 - r26708;
        float r26710 = r26694 - r26709;
        float r26711 = r26710 / r26686;
        float r26712 = exp(r26694);
        float r26713 = log(r26712);
        float r26714 = r26683 / r26687;
        float r26715 = r26714 - r26689;
        float r26716 = r26713 - r26715;
        float r26717 = r26716 / r26686;
        float r26718 = r26693 ? r26711 : r26717;
        return r26718;
}

double f_od(double alpha, double beta) {
        double r26719 = beta;
        double r26720 = alpha;
        double r26721 = r26719 - r26720;
        double r26722 = r26720 + r26719;
        double r26723 = 2.0;
        double r26724 = r26722 + r26723;
        double r26725 = r26721 / r26724;
        double r26726 = 1.0;
        double r26727 = r26725 + r26726;
        double r26728 = r26727 / r26723;
        double r26729 = 2.232965029360474e-06;
        bool r26730 = r26728 <= r26729;
        double r26731 = r26719 / r26724;
        double r26732 = 4.0;
        double r26733 = 1;
        double r26734 = 2;
        double r26735 = pow(r26720, r26734);
        double r26736 = r26733 / r26735;
        double r26737 = r26732 * r26736;
        double r26738 = 8.0;
        double r26739 = 3;
        double r26740 = pow(r26720, r26739);
        double r26741 = r26733 / r26740;
        double r26742 = r26738 * r26741;
        double r26743 = r26733 / r26720;
        double r26744 = r26723 * r26743;
        double r26745 = r26742 + r26744;
        double r26746 = r26737 - r26745;
        double r26747 = r26731 - r26746;
        double r26748 = r26747 / r26723;
        double r26749 = exp(r26731);
        double r26750 = log(r26749);
        double r26751 = r26720 / r26724;
        double r26752 = r26751 - r26726;
        double r26753 = r26750 - r26752;
        double r26754 = r26753 / r26723;
        double r26755 = r26730 ? r26748 : r26754;
        return r26755;
}

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 r26756, r26757, r26758, r26759, r26760, r26761, r26762, r26763, r26764, r26765;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(1360);
        mpfr_init(r26756);
        mpfr_init(r26757);
        mpfr_init(r26758);
        mpfr_init(r26759);
        mpfr_init_set_str(r26760, "2.0", 10, MPFR_RNDN);
        mpfr_init(r26761);
        mpfr_init(r26762);
        mpfr_init_set_str(r26763, "1.0", 10, MPFR_RNDN);
        mpfr_init(r26764);
        mpfr_init(r26765);
}

double f_im(double alpha, double beta) {
        mpfr_set_d(r26756, beta, MPFR_RNDN);
        mpfr_set_d(r26757, alpha, MPFR_RNDN);
        mpfr_sub(r26758, r26756, r26757, MPFR_RNDN);
        mpfr_add(r26759, r26757, r26756, MPFR_RNDN);
        ;
        mpfr_add(r26761, r26759, r26760, MPFR_RNDN);
        mpfr_div(r26762, r26758, r26761, MPFR_RNDN);
        ;
        mpfr_add(r26764, r26762, r26763, MPFR_RNDN);
        mpfr_div(r26765, r26764, r26760, MPFR_RNDN);
        return mpfr_get_d(r26765, MPFR_RNDN);
}

static mpfr_t r26766, r26767, r26768, r26769, r26770, r26771, r26772, r26773, r26774, r26775, r26776, r26777, r26778, r26779, r26780, r26781, r26782, r26783, r26784, r26785, r26786, r26787, r26788, r26789, r26790, r26791, r26792, r26793, r26794, r26795, r26796, r26797, r26798, r26799, r26800, r26801, r26802;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(1360);
        mpfr_init(r26766);
        mpfr_init(r26767);
        mpfr_init(r26768);
        mpfr_init(r26769);
        mpfr_init_set_str(r26770, "2.0", 10, MPFR_RNDN);
        mpfr_init(r26771);
        mpfr_init(r26772);
        mpfr_init_set_str(r26773, "1.0", 10, MPFR_RNDN);
        mpfr_init(r26774);
        mpfr_init(r26775);
        mpfr_init_set_str(r26776, "2.232965029360474e-06", 10, MPFR_RNDN);
        mpfr_init(r26777);
        mpfr_init(r26778);
        mpfr_init_set_str(r26779, "4.0", 10, MPFR_RNDN);
        mpfr_init_set_str(r26780, "1", 10, MPFR_RNDN);
        mpfr_init_set_str(r26781, "2", 10, MPFR_RNDN);
        mpfr_init(r26782);
        mpfr_init(r26783);
        mpfr_init(r26784);
        mpfr_init_set_str(r26785, "8.0", 10, MPFR_RNDN);
        mpfr_init_set_str(r26786, "3", 10, MPFR_RNDN);
        mpfr_init(r26787);
        mpfr_init(r26788);
        mpfr_init(r26789);
        mpfr_init(r26790);
        mpfr_init(r26791);
        mpfr_init(r26792);
        mpfr_init(r26793);
        mpfr_init(r26794);
        mpfr_init(r26795);
        mpfr_init(r26796);
        mpfr_init(r26797);
        mpfr_init(r26798);
        mpfr_init(r26799);
        mpfr_init(r26800);
        mpfr_init(r26801);
        mpfr_init(r26802);
}

double f_fm(double alpha, double beta) {
        mpfr_set_d(r26766, beta, MPFR_RNDN);
        mpfr_set_d(r26767, alpha, MPFR_RNDN);
        mpfr_sub(r26768, r26766, r26767, MPFR_RNDN);
        mpfr_add(r26769, r26767, r26766, MPFR_RNDN);
        ;
        mpfr_add(r26771, r26769, r26770, MPFR_RNDN);
        mpfr_div(r26772, r26768, r26771, MPFR_RNDN);
        ;
        mpfr_add(r26774, r26772, r26773, MPFR_RNDN);
        mpfr_div(r26775, r26774, r26770, MPFR_RNDN);
        ;
        mpfr_set_si(r26777, mpfr_cmp(r26775, r26776) <= 0, MPFR_RNDN);
        mpfr_div(r26778, r26766, r26771, MPFR_RNDN);
        ;
        ;
        ;
        mpfr_pow(r26782, r26767, r26781, MPFR_RNDN);
        mpfr_div(r26783, r26780, r26782, MPFR_RNDN);
        mpfr_mul(r26784, r26779, r26783, MPFR_RNDN);
        ;
        ;
        mpfr_pow(r26787, r26767, r26786, MPFR_RNDN);
        mpfr_div(r26788, r26780, r26787, MPFR_RNDN);
        mpfr_mul(r26789, r26785, r26788, MPFR_RNDN);
        mpfr_div(r26790, r26780, r26767, MPFR_RNDN);
        mpfr_mul(r26791, r26770, r26790, MPFR_RNDN);
        mpfr_add(r26792, r26789, r26791, MPFR_RNDN);
        mpfr_sub(r26793, r26784, r26792, MPFR_RNDN);
        mpfr_sub(r26794, r26778, r26793, MPFR_RNDN);
        mpfr_div(r26795, r26794, r26770, MPFR_RNDN);
        mpfr_exp(r26796, r26778, MPFR_RNDN);
        mpfr_log(r26797, r26796, MPFR_RNDN);
        mpfr_div(r26798, r26767, r26771, MPFR_RNDN);
        mpfr_sub(r26799, r26798, r26773, MPFR_RNDN);
        mpfr_sub(r26800, r26797, r26799, MPFR_RNDN);
        mpfr_div(r26801, r26800, r26770, MPFR_RNDN);
        if (mpfr_get_si(r26777, MPFR_RNDN)) { mpfr_set(r26802, r26795, MPFR_RNDN); } else { mpfr_set(r26802, r26801, MPFR_RNDN); };
        return mpfr_get_d(r26802, MPFR_RNDN);
}

static mpfr_t r26803, r26804, r26805, r26806, r26807, r26808, r26809, r26810, r26811, r26812, r26813, r26814, r26815, r26816, r26817, r26818, r26819, r26820, r26821, r26822, r26823, r26824, r26825, r26826, r26827, r26828, r26829, r26830, r26831, r26832, r26833, r26834, r26835, r26836, r26837, r26838, r26839;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(1360);
        mpfr_init(r26803);
        mpfr_init(r26804);
        mpfr_init(r26805);
        mpfr_init(r26806);
        mpfr_init_set_str(r26807, "2.0", 10, MPFR_RNDN);
        mpfr_init(r26808);
        mpfr_init(r26809);
        mpfr_init_set_str(r26810, "1.0", 10, MPFR_RNDN);
        mpfr_init(r26811);
        mpfr_init(r26812);
        mpfr_init_set_str(r26813, "2.232965029360474e-06", 10, MPFR_RNDN);
        mpfr_init(r26814);
        mpfr_init(r26815);
        mpfr_init_set_str(r26816, "4.0", 10, MPFR_RNDN);
        mpfr_init_set_str(r26817, "1", 10, MPFR_RNDN);
        mpfr_init_set_str(r26818, "2", 10, MPFR_RNDN);
        mpfr_init(r26819);
        mpfr_init(r26820);
        mpfr_init(r26821);
        mpfr_init_set_str(r26822, "8.0", 10, MPFR_RNDN);
        mpfr_init_set_str(r26823, "3", 10, MPFR_RNDN);
        mpfr_init(r26824);
        mpfr_init(r26825);
        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(r26839);
}

double f_dm(double alpha, double beta) {
        mpfr_set_d(r26803, beta, MPFR_RNDN);
        mpfr_set_d(r26804, alpha, MPFR_RNDN);
        mpfr_sub(r26805, r26803, r26804, MPFR_RNDN);
        mpfr_add(r26806, r26804, r26803, MPFR_RNDN);
        ;
        mpfr_add(r26808, r26806, r26807, MPFR_RNDN);
        mpfr_div(r26809, r26805, r26808, MPFR_RNDN);
        ;
        mpfr_add(r26811, r26809, r26810, MPFR_RNDN);
        mpfr_div(r26812, r26811, r26807, MPFR_RNDN);
        ;
        mpfr_set_si(r26814, mpfr_cmp(r26812, r26813) <= 0, MPFR_RNDN);
        mpfr_div(r26815, r26803, r26808, MPFR_RNDN);
        ;
        ;
        ;
        mpfr_pow(r26819, r26804, r26818, MPFR_RNDN);
        mpfr_div(r26820, r26817, r26819, MPFR_RNDN);
        mpfr_mul(r26821, r26816, r26820, MPFR_RNDN);
        ;
        ;
        mpfr_pow(r26824, r26804, r26823, MPFR_RNDN);
        mpfr_div(r26825, r26817, r26824, MPFR_RNDN);
        mpfr_mul(r26826, r26822, r26825, MPFR_RNDN);
        mpfr_div(r26827, r26817, r26804, MPFR_RNDN);
        mpfr_mul(r26828, r26807, r26827, MPFR_RNDN);
        mpfr_add(r26829, r26826, r26828, MPFR_RNDN);
        mpfr_sub(r26830, r26821, r26829, MPFR_RNDN);
        mpfr_sub(r26831, r26815, r26830, MPFR_RNDN);
        mpfr_div(r26832, r26831, r26807, MPFR_RNDN);
        mpfr_exp(r26833, r26815, MPFR_RNDN);
        mpfr_log(r26834, r26833, MPFR_RNDN);
        mpfr_div(r26835, r26804, r26808, MPFR_RNDN);
        mpfr_sub(r26836, r26835, r26810, MPFR_RNDN);
        mpfr_sub(r26837, r26834, r26836, MPFR_RNDN);
        mpfr_div(r26838, r26837, r26807, MPFR_RNDN);
        if (mpfr_get_si(r26814, MPFR_RNDN)) { mpfr_set(r26839, r26832, MPFR_RNDN); } else { mpfr_set(r26839, r26838, MPFR_RNDN); };
        return mpfr_get_d(r26839, MPFR_RNDN);
}

