#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 r26740 = alpha;
        float r26741 = beta;
        float r26742 = r26740 + r26741;
        float r26743 = r26741 * r26740;
        float r26744 = r26742 + r26743;
        float r26745 = 1.0;
        float r26746 = r26744 + r26745;
        float r26747 = 2;
        float r26748 = 1;
        float r26749 = r26747 * r26748;
        float r26750 = r26742 + r26749;
        float r26751 = r26746 / r26750;
        float r26752 = r26751 / r26750;
        float r26753 = r26750 + r26745;
        float r26754 = r26752 / r26753;
        return r26754;
}

double f_id(double alpha, double beta) {
        double r26755 = alpha;
        double r26756 = beta;
        double r26757 = r26755 + r26756;
        double r26758 = r26756 * r26755;
        double r26759 = r26757 + r26758;
        double r26760 = 1.0;
        double r26761 = r26759 + r26760;
        double r26762 = 2;
        double r26763 = 1;
        double r26764 = r26762 * r26763;
        double r26765 = r26757 + r26764;
        double r26766 = r26761 / r26765;
        double r26767 = r26766 / r26765;
        double r26768 = r26765 + r26760;
        double r26769 = r26767 / r26768;
        return r26769;
}


double f_of(float alpha, float beta) {
        float r26770 = beta;
        float r26771 = 8.387795172529325e+198;
        bool r26772 = r26770 <= r26771;
        float r26773 = 1;
        float r26774 = sqrt(r26773);
        float r26775 = alpha;
        float r26776 = r26770 + r26775;
        float r26777 = 1.0;
        float r26778 = 2;
        float r26779 = r26777 + r26778;
        float r26780 = r26776 + r26779;
        float r26781 = r26774 / r26780;
        float r26782 = r26770 * r26775;
        float r26783 = r26782 + r26770;
        float r26784 = r26775 + r26777;
        float r26785 = r26783 + r26784;
        float r26786 = sqrt(r26785);
        float r26787 = r26778 + r26775;
        float r26788 = r26787 + r26770;
        float r26789 = r26786 / r26788;
        float r26790 = r26781 * r26789;
        float r26791 = r26790 * r26789;
        float r26792 = 0;
        float r26793 = r26772 ? r26791 : r26792;
        return r26793;
}

double f_od(double alpha, double beta) {
        double r26794 = beta;
        double r26795 = 8.387795172529325e+198;
        bool r26796 = r26794 <= r26795;
        double r26797 = 1;
        double r26798 = sqrt(r26797);
        double r26799 = alpha;
        double r26800 = r26794 + r26799;
        double r26801 = 1.0;
        double r26802 = 2;
        double r26803 = r26801 + r26802;
        double r26804 = r26800 + r26803;
        double r26805 = r26798 / r26804;
        double r26806 = r26794 * r26799;
        double r26807 = r26806 + r26794;
        double r26808 = r26799 + r26801;
        double r26809 = r26807 + r26808;
        double r26810 = sqrt(r26809);
        double r26811 = r26802 + r26799;
        double r26812 = r26811 + r26794;
        double r26813 = r26810 / r26812;
        double r26814 = r26805 * r26813;
        double r26815 = r26814 * r26813;
        double r26816 = 0;
        double r26817 = r26796 ? r26815 : r26816;
        return r26817;
}

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 r26818, r26819, r26820, r26821, r26822, r26823, r26824, r26825, r26826, r26827, r26828, r26829, r26830, r26831, r26832;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(400);
        mpfr_init(r26818);
        mpfr_init(r26819);
        mpfr_init(r26820);
        mpfr_init(r26821);
        mpfr_init(r26822);
        mpfr_init_set_str(r26823, "1.0", 10, MPFR_RNDN);
        mpfr_init(r26824);
        mpfr_init_set_str(r26825, "2", 10, MPFR_RNDN);
        mpfr_init_set_str(r26826, "1", 10, MPFR_RNDN);
        mpfr_init(r26827);
        mpfr_init(r26828);
        mpfr_init(r26829);
        mpfr_init(r26830);
        mpfr_init(r26831);
        mpfr_init(r26832);
}

double f_im(double alpha, double beta) {
        mpfr_set_d(r26818, alpha, MPFR_RNDN);
        mpfr_set_d(r26819, beta, MPFR_RNDN);
        mpfr_add(r26820, r26818, r26819, MPFR_RNDN);
        mpfr_mul(r26821, r26819, r26818, MPFR_RNDN);
        mpfr_add(r26822, r26820, r26821, MPFR_RNDN);
        ;
        mpfr_add(r26824, r26822, r26823, MPFR_RNDN);
        ;
        ;
        mpfr_mul(r26827, r26825, r26826, MPFR_RNDN);
        mpfr_add(r26828, r26820, r26827, MPFR_RNDN);
        mpfr_div(r26829, r26824, r26828, MPFR_RNDN);
        mpfr_div(r26830, r26829, r26828, MPFR_RNDN);
        mpfr_add(r26831, r26828, r26823, MPFR_RNDN);
        mpfr_div(r26832, r26830, r26831, MPFR_RNDN);
        return mpfr_get_d(r26832, MPFR_RNDN);
}

static mpfr_t r26833, r26834, r26835, r26836, r26837, r26838, r26839, r26840, r26841, r26842, r26843, r26844, r26845, r26846, r26847, r26848, r26849, r26850, r26851, r26852, r26853, r26854, r26855, r26856;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(400);
        mpfr_init(r26833);
        mpfr_init_set_str(r26834, "8.387795172529325e+198", 10, MPFR_RNDN);
        mpfr_init(r26835);
        mpfr_init_set_str(r26836, "1", 10, MPFR_RNDN);
        mpfr_init(r26837);
        mpfr_init(r26838);
        mpfr_init(r26839);
        mpfr_init_set_str(r26840, "1.0", 10, MPFR_RNDN);
        mpfr_init_set_str(r26841, "2", 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(r26851);
        mpfr_init(r26852);
        mpfr_init(r26853);
        mpfr_init(r26854);
        mpfr_init_set_str(r26855, "0", 10, MPFR_RNDN);
        mpfr_init(r26856);
}

double f_fm(double alpha, double beta) {
        mpfr_set_d(r26833, beta, MPFR_RNDN);
        ;
        mpfr_set_si(r26835, mpfr_cmp(r26833, r26834) <= 0, MPFR_RNDN);
        ;
        mpfr_sqrt(r26837, r26836, MPFR_RNDN);
        mpfr_set_d(r26838, alpha, MPFR_RNDN);
        mpfr_add(r26839, r26833, r26838, MPFR_RNDN);
        ;
        ;
        mpfr_add(r26842, r26840, r26841, MPFR_RNDN);
        mpfr_add(r26843, r26839, r26842, MPFR_RNDN);
        mpfr_div(r26844, r26837, r26843, MPFR_RNDN);
        mpfr_mul(r26845, r26833, r26838, MPFR_RNDN);
        mpfr_add(r26846, r26845, r26833, MPFR_RNDN);
        mpfr_add(r26847, r26838, r26840, MPFR_RNDN);
        mpfr_add(r26848, r26846, r26847, MPFR_RNDN);
        mpfr_sqrt(r26849, r26848, MPFR_RNDN);
        mpfr_add(r26850, r26841, r26838, MPFR_RNDN);
        mpfr_add(r26851, r26850, r26833, MPFR_RNDN);
        mpfr_div(r26852, r26849, r26851, MPFR_RNDN);
        mpfr_mul(r26853, r26844, r26852, MPFR_RNDN);
        mpfr_mul(r26854, r26853, r26852, MPFR_RNDN);
        ;
        if (mpfr_get_si(r26835, MPFR_RNDN)) { mpfr_set(r26856, r26854, MPFR_RNDN); } else { mpfr_set(r26856, r26855, MPFR_RNDN); };
        return mpfr_get_d(r26856, MPFR_RNDN);
}

static mpfr_t r26857, r26858, r26859, r26860, r26861, r26862, r26863, r26864, r26865, r26866, r26867, r26868, r26869, r26870, r26871, r26872, r26873, r26874, r26875, r26876, r26877, r26878, r26879, r26880;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(400);
        mpfr_init(r26857);
        mpfr_init_set_str(r26858, "8.387795172529325e+198", 10, MPFR_RNDN);
        mpfr_init(r26859);
        mpfr_init_set_str(r26860, "1", 10, MPFR_RNDN);
        mpfr_init(r26861);
        mpfr_init(r26862);
        mpfr_init(r26863);
        mpfr_init_set_str(r26864, "1.0", 10, MPFR_RNDN);
        mpfr_init_set_str(r26865, "2", 10, MPFR_RNDN);
        mpfr_init(r26866);
        mpfr_init(r26867);
        mpfr_init(r26868);
        mpfr_init(r26869);
        mpfr_init(r26870);
        mpfr_init(r26871);
        mpfr_init(r26872);
        mpfr_init(r26873);
        mpfr_init(r26874);
        mpfr_init(r26875);
        mpfr_init(r26876);
        mpfr_init(r26877);
        mpfr_init(r26878);
        mpfr_init_set_str(r26879, "0", 10, MPFR_RNDN);
        mpfr_init(r26880);
}

double f_dm(double alpha, double beta) {
        mpfr_set_d(r26857, beta, MPFR_RNDN);
        ;
        mpfr_set_si(r26859, mpfr_cmp(r26857, r26858) <= 0, MPFR_RNDN);
        ;
        mpfr_sqrt(r26861, r26860, MPFR_RNDN);
        mpfr_set_d(r26862, alpha, MPFR_RNDN);
        mpfr_add(r26863, r26857, r26862, MPFR_RNDN);
        ;
        ;
        mpfr_add(r26866, r26864, r26865, MPFR_RNDN);
        mpfr_add(r26867, r26863, r26866, MPFR_RNDN);
        mpfr_div(r26868, r26861, r26867, MPFR_RNDN);
        mpfr_mul(r26869, r26857, r26862, MPFR_RNDN);
        mpfr_add(r26870, r26869, r26857, MPFR_RNDN);
        mpfr_add(r26871, r26862, r26864, MPFR_RNDN);
        mpfr_add(r26872, r26870, r26871, MPFR_RNDN);
        mpfr_sqrt(r26873, r26872, MPFR_RNDN);
        mpfr_add(r26874, r26865, r26862, MPFR_RNDN);
        mpfr_add(r26875, r26874, r26857, MPFR_RNDN);
        mpfr_div(r26876, r26873, r26875, MPFR_RNDN);
        mpfr_mul(r26877, r26868, r26876, MPFR_RNDN);
        mpfr_mul(r26878, r26877, r26876, MPFR_RNDN);
        ;
        if (mpfr_get_si(r26859, MPFR_RNDN)) { mpfr_set(r26880, r26878, MPFR_RNDN); } else { mpfr_set(r26880, r26879, MPFR_RNDN); };
        return mpfr_get_d(r26880, MPFR_RNDN);
}

