#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 r26663 = beta;
        float r26664 = alpha;
        float r26665 = r26663 - r26664;
        float r26666 = r26664 + r26663;
        float r26667 = 2.0;
        float r26668 = r26666 + r26667;
        float r26669 = r26665 / r26668;
        float r26670 = 1.0;
        float r26671 = r26669 + r26670;
        float r26672 = r26671 / r26667;
        return r26672;
}

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


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

double f_od(double alpha, double beta) {
        double r26728 = beta;
        double r26729 = alpha;
        double r26730 = r26729 + r26728;
        double r26731 = 2.0;
        double r26732 = r26730 + r26731;
        double r26733 = r26728 / r26732;
        double r26734 = 4.0;
        double r26735 = 1;
        double r26736 = 2;
        double r26737 = pow(r26729, r26736);
        double r26738 = r26735 / r26737;
        double r26739 = r26734 * r26738;
        double r26740 = 8.0;
        double r26741 = 3;
        double r26742 = pow(r26729, r26741);
        double r26743 = r26735 / r26742;
        double r26744 = r26740 * r26743;
        double r26745 = r26735 / r26729;
        double r26746 = r26731 * r26745;
        double r26747 = r26744 + r26746;
        double r26748 = r26739 - r26747;
        double r26749 = r26733 - r26748;
        double r26750 = r26749 / r26731;
        double r26751 = 1.360984718392274e-305;
        bool r26752 = r26750 <= r26751;
        double r26753 = 1.0;
        double r26754 = r26731 + r26729;
        double r26755 = r26728 + r26754;
        double r26756 = r26728 / r26755;
        double r26757 = r26729 / r26755;
        double r26758 = r26756 - r26757;
        double r26759 = r26753 + r26758;
        double r26760 = pow(r26759, r26741);
        double r26761 = cbrt(r26760);
        double r26762 = r26761 / r26731;
        double r26763 = 3.2412261942033065e-10;
        bool r26764 = r26750 <= r26763;
        double r26765 = r26729 / r26732;
        double r26766 = r26765 - r26753;
        double r26767 = r26733 - r26766;
        double r26768 = log(r26767);
        double r26769 = exp(r26768);
        double r26770 = r26769 / r26731;
        double r26771 = r26764 ? r26750 : r26770;
        double r26772 = r26752 ? r26762 : r26771;
        return r26772;
}

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 r26773, r26774, r26775, r26776, r26777, r26778, r26779, r26780, r26781, r26782;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(1360);
        mpfr_init(r26773);
        mpfr_init(r26774);
        mpfr_init(r26775);
        mpfr_init(r26776);
        mpfr_init_set_str(r26777, "2.0", 10, MPFR_RNDN);
        mpfr_init(r26778);
        mpfr_init(r26779);
        mpfr_init_set_str(r26780, "1.0", 10, MPFR_RNDN);
        mpfr_init(r26781);
        mpfr_init(r26782);
}

double f_im(double alpha, double beta) {
        mpfr_set_d(r26773, beta, MPFR_RNDN);
        mpfr_set_d(r26774, alpha, MPFR_RNDN);
        mpfr_sub(r26775, r26773, r26774, MPFR_RNDN);
        mpfr_add(r26776, r26774, r26773, MPFR_RNDN);
        ;
        mpfr_add(r26778, r26776, r26777, MPFR_RNDN);
        mpfr_div(r26779, r26775, r26778, MPFR_RNDN);
        ;
        mpfr_add(r26781, r26779, r26780, MPFR_RNDN);
        mpfr_div(r26782, r26781, r26777, MPFR_RNDN);
        return mpfr_get_d(r26782, MPFR_RNDN);
}

static mpfr_t r26783, r26784, r26785, r26786, r26787, r26788, r26789, r26790, r26791, r26792, r26793, r26794, r26795, r26796, r26797, r26798, r26799, r26800, r26801, r26802, 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;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(1360);
        mpfr_init(r26783);
        mpfr_init(r26784);
        mpfr_init(r26785);
        mpfr_init_set_str(r26786, "2.0", 10, MPFR_RNDN);
        mpfr_init(r26787);
        mpfr_init(r26788);
        mpfr_init_set_str(r26789, "4.0", 10, MPFR_RNDN);
        mpfr_init_set_str(r26790, "1", 10, MPFR_RNDN);
        mpfr_init_set_str(r26791, "2", 10, MPFR_RNDN);
        mpfr_init(r26792);
        mpfr_init(r26793);
        mpfr_init(r26794);
        mpfr_init_set_str(r26795, "8.0", 10, MPFR_RNDN);
        mpfr_init_set_str(r26796, "3", 10, MPFR_RNDN);
        mpfr_init(r26797);
        mpfr_init(r26798);
        mpfr_init(r26799);
        mpfr_init(r26800);
        mpfr_init(r26801);
        mpfr_init(r26802);
        mpfr_init(r26803);
        mpfr_init(r26804);
        mpfr_init(r26805);
        mpfr_init_set_str(r26806, "1.360984718392274e-305", 10, MPFR_RNDN);
        mpfr_init(r26807);
        mpfr_init_set_str(r26808, "1.0", 10, MPFR_RNDN);
        mpfr_init(r26809);
        mpfr_init(r26810);
        mpfr_init(r26811);
        mpfr_init(r26812);
        mpfr_init(r26813);
        mpfr_init(r26814);
        mpfr_init(r26815);
        mpfr_init(r26816);
        mpfr_init(r26817);
        mpfr_init_set_str(r26818, "3.2412261942033065e-10", 10, MPFR_RNDN);
        mpfr_init(r26819);
        mpfr_init(r26820);
        mpfr_init(r26821);
        mpfr_init(r26822);
        mpfr_init(r26823);
        mpfr_init(r26824);
        mpfr_init(r26825);
        mpfr_init(r26826);
        mpfr_init(r26827);
}

double f_fm(double alpha, double beta) {
        mpfr_set_d(r26783, beta, MPFR_RNDN);
        mpfr_set_d(r26784, alpha, MPFR_RNDN);
        mpfr_add(r26785, r26784, r26783, MPFR_RNDN);
        ;
        mpfr_add(r26787, r26785, r26786, MPFR_RNDN);
        mpfr_div(r26788, r26783, r26787, MPFR_RNDN);
        ;
        ;
        ;
        mpfr_pow(r26792, r26784, r26791, MPFR_RNDN);
        mpfr_div(r26793, r26790, r26792, MPFR_RNDN);
        mpfr_mul(r26794, r26789, r26793, MPFR_RNDN);
        ;
        ;
        mpfr_pow(r26797, r26784, r26796, MPFR_RNDN);
        mpfr_div(r26798, r26790, r26797, MPFR_RNDN);
        mpfr_mul(r26799, r26795, r26798, MPFR_RNDN);
        mpfr_div(r26800, r26790, r26784, MPFR_RNDN);
        mpfr_mul(r26801, r26786, r26800, MPFR_RNDN);
        mpfr_add(r26802, r26799, r26801, MPFR_RNDN);
        mpfr_sub(r26803, r26794, r26802, MPFR_RNDN);
        mpfr_sub(r26804, r26788, r26803, MPFR_RNDN);
        mpfr_div(r26805, r26804, r26786, MPFR_RNDN);
        ;
        mpfr_set_si(r26807, mpfr_cmp(r26805, r26806) <= 0, MPFR_RNDN);
        ;
        mpfr_add(r26809, r26786, r26784, MPFR_RNDN);
        mpfr_add(r26810, r26783, r26809, MPFR_RNDN);
        mpfr_div(r26811, r26783, r26810, MPFR_RNDN);
        mpfr_div(r26812, r26784, r26810, MPFR_RNDN);
        mpfr_sub(r26813, r26811, r26812, MPFR_RNDN);
        mpfr_add(r26814, r26808, r26813, MPFR_RNDN);
        mpfr_pow(r26815, r26814, r26796, MPFR_RNDN);
        mpfr_cbrt(r26816, r26815, MPFR_RNDN);
        mpfr_div(r26817, r26816, r26786, MPFR_RNDN);
        ;
        mpfr_set_si(r26819, mpfr_cmp(r26805, r26818) <= 0, MPFR_RNDN);
        mpfr_div(r26820, r26784, r26787, MPFR_RNDN);
        mpfr_sub(r26821, r26820, r26808, MPFR_RNDN);
        mpfr_sub(r26822, r26788, r26821, MPFR_RNDN);
        mpfr_log(r26823, r26822, MPFR_RNDN);
        mpfr_exp(r26824, r26823, MPFR_RNDN);
        mpfr_div(r26825, r26824, r26786, MPFR_RNDN);
        if (mpfr_get_si(r26819, MPFR_RNDN)) { mpfr_set(r26826, r26805, MPFR_RNDN); } else { mpfr_set(r26826, r26825, MPFR_RNDN); };
        if (mpfr_get_si(r26807, MPFR_RNDN)) { mpfr_set(r26827, r26817, MPFR_RNDN); } else { mpfr_set(r26827, r26826, MPFR_RNDN); };
        return mpfr_get_d(r26827, MPFR_RNDN);
}

static mpfr_t r26828, r26829, r26830, r26831, r26832, r26833, r26834, r26835, r26836, r26837, r26838, r26839, r26840, r26841, r26842, r26843, r26844, r26845, r26846, r26847, r26848, r26849, r26850, r26851, r26852, r26853, r26854, r26855, r26856, r26857, r26858, r26859, r26860, r26861, r26862, r26863, r26864, r26865, r26866, r26867, r26868, r26869, r26870, r26871, r26872;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(1360);
        mpfr_init(r26828);
        mpfr_init(r26829);
        mpfr_init(r26830);
        mpfr_init_set_str(r26831, "2.0", 10, MPFR_RNDN);
        mpfr_init(r26832);
        mpfr_init(r26833);
        mpfr_init_set_str(r26834, "4.0", 10, MPFR_RNDN);
        mpfr_init_set_str(r26835, "1", 10, MPFR_RNDN);
        mpfr_init_set_str(r26836, "2", 10, MPFR_RNDN);
        mpfr_init(r26837);
        mpfr_init(r26838);
        mpfr_init(r26839);
        mpfr_init_set_str(r26840, "8.0", 10, MPFR_RNDN);
        mpfr_init_set_str(r26841, "3", 10, MPFR_RNDN);
        mpfr_init(r26842);
        mpfr_init(r26843);
        mpfr_init(r26844);
        mpfr_init(r26845);
        mpfr_init(r26846);
        mpfr_init(r26847);
        mpfr_init(r26848);
        mpfr_init(r26849);
        mpfr_init(r26850);
        mpfr_init_set_str(r26851, "1.360984718392274e-305", 10, MPFR_RNDN);
        mpfr_init(r26852);
        mpfr_init_set_str(r26853, "1.0", 10, MPFR_RNDN);
        mpfr_init(r26854);
        mpfr_init(r26855);
        mpfr_init(r26856);
        mpfr_init(r26857);
        mpfr_init(r26858);
        mpfr_init(r26859);
        mpfr_init(r26860);
        mpfr_init(r26861);
        mpfr_init(r26862);
        mpfr_init_set_str(r26863, "3.2412261942033065e-10", 10, MPFR_RNDN);
        mpfr_init(r26864);
        mpfr_init(r26865);
        mpfr_init(r26866);
        mpfr_init(r26867);
        mpfr_init(r26868);
        mpfr_init(r26869);
        mpfr_init(r26870);
        mpfr_init(r26871);
        mpfr_init(r26872);
}

double f_dm(double alpha, double beta) {
        mpfr_set_d(r26828, beta, MPFR_RNDN);
        mpfr_set_d(r26829, alpha, MPFR_RNDN);
        mpfr_add(r26830, r26829, r26828, MPFR_RNDN);
        ;
        mpfr_add(r26832, r26830, r26831, MPFR_RNDN);
        mpfr_div(r26833, r26828, r26832, MPFR_RNDN);
        ;
        ;
        ;
        mpfr_pow(r26837, r26829, r26836, MPFR_RNDN);
        mpfr_div(r26838, r26835, r26837, MPFR_RNDN);
        mpfr_mul(r26839, r26834, r26838, MPFR_RNDN);
        ;
        ;
        mpfr_pow(r26842, r26829, r26841, MPFR_RNDN);
        mpfr_div(r26843, r26835, r26842, MPFR_RNDN);
        mpfr_mul(r26844, r26840, r26843, MPFR_RNDN);
        mpfr_div(r26845, r26835, r26829, MPFR_RNDN);
        mpfr_mul(r26846, r26831, r26845, MPFR_RNDN);
        mpfr_add(r26847, r26844, r26846, MPFR_RNDN);
        mpfr_sub(r26848, r26839, r26847, MPFR_RNDN);
        mpfr_sub(r26849, r26833, r26848, MPFR_RNDN);
        mpfr_div(r26850, r26849, r26831, MPFR_RNDN);
        ;
        mpfr_set_si(r26852, mpfr_cmp(r26850, r26851) <= 0, MPFR_RNDN);
        ;
        mpfr_add(r26854, r26831, r26829, MPFR_RNDN);
        mpfr_add(r26855, r26828, r26854, MPFR_RNDN);
        mpfr_div(r26856, r26828, r26855, MPFR_RNDN);
        mpfr_div(r26857, r26829, r26855, MPFR_RNDN);
        mpfr_sub(r26858, r26856, r26857, MPFR_RNDN);
        mpfr_add(r26859, r26853, r26858, MPFR_RNDN);
        mpfr_pow(r26860, r26859, r26841, MPFR_RNDN);
        mpfr_cbrt(r26861, r26860, MPFR_RNDN);
        mpfr_div(r26862, r26861, r26831, MPFR_RNDN);
        ;
        mpfr_set_si(r26864, mpfr_cmp(r26850, r26863) <= 0, MPFR_RNDN);
        mpfr_div(r26865, r26829, r26832, MPFR_RNDN);
        mpfr_sub(r26866, r26865, r26853, MPFR_RNDN);
        mpfr_sub(r26867, r26833, r26866, MPFR_RNDN);
        mpfr_log(r26868, r26867, MPFR_RNDN);
        mpfr_exp(r26869, r26868, MPFR_RNDN);
        mpfr_div(r26870, r26869, r26831, MPFR_RNDN);
        if (mpfr_get_si(r26864, MPFR_RNDN)) { mpfr_set(r26871, r26850, MPFR_RNDN); } else { mpfr_set(r26871, r26870, MPFR_RNDN); };
        if (mpfr_get_si(r26852, MPFR_RNDN)) { mpfr_set(r26872, r26862, MPFR_RNDN); } else { mpfr_set(r26872, r26871, MPFR_RNDN); };
        return mpfr_get_d(r26872, MPFR_RNDN);
}

