#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 r26012 = beta;
        float r26013 = alpha;
        float r26014 = r26012 - r26013;
        float r26015 = r26013 + r26012;
        float r26016 = 2.0;
        float r26017 = r26015 + r26016;
        float r26018 = r26014 / r26017;
        float r26019 = 1.0;
        float r26020 = r26018 + r26019;
        float r26021 = r26020 / r26016;
        return r26021;
}

double f_id(double alpha, double beta) {
        double r26022 = beta;
        double r26023 = alpha;
        double r26024 = r26022 - r26023;
        double r26025 = r26023 + r26022;
        double r26026 = 2.0;
        double r26027 = r26025 + r26026;
        double r26028 = r26024 / r26027;
        double r26029 = 1.0;
        double r26030 = r26028 + r26029;
        double r26031 = r26030 / r26026;
        return r26031;
}


double f_of(float alpha, float beta) {
        float r26032 = beta;
        float r26033 = alpha;
        float r26034 = r26033 + r26032;
        float r26035 = 2.0;
        float r26036 = r26034 + r26035;
        float r26037 = r26032 / r26036;
        float r26038 = 4.0;
        float r26039 = 1;
        float r26040 = 2;
        float r26041 = pow(r26033, r26040);
        float r26042 = r26039 / r26041;
        float r26043 = r26038 * r26042;
        float r26044 = 8.0;
        float r26045 = 3;
        float r26046 = pow(r26033, r26045);
        float r26047 = r26039 / r26046;
        float r26048 = r26044 * r26047;
        float r26049 = r26039 / r26033;
        float r26050 = r26035 * r26049;
        float r26051 = r26048 + r26050;
        float r26052 = r26043 - r26051;
        float r26053 = r26037 - r26052;
        float r26054 = r26053 / r26035;
        float r26055 = 1.8798252035045302e-302;
        bool r26056 = r26054 <= r26055;
        float r26057 = pow(r26037, r26045);
        float r26058 = r26033 / r26036;
        float r26059 = 1.0;
        float r26060 = r26058 - r26059;
        float r26061 = pow(r26060, r26045);
        float r26062 = r26057 - r26061;
        float r26063 = r26035 + r26033;
        float r26064 = r26063 + r26032;
        float r26065 = r26032 / r26064;
        float r26066 = r26033 / r26064;
        float r26067 = r26066 - r26059;
        float r26068 = r26065 * r26065;
        float r26069 = fma(r26067, r26067, r26068);
        float r26070 = fma(r26065, r26067, r26069);
        float r26071 = r26062 / r26070;
        float r26072 = r26071 / r26035;
        float r26073 = 2.2568888471552036e-13;
        bool r26074 = r26054 <= r26073;
        float r26075 = r26032 - r26033;
        float r26076 = r26075 / r26036;
        float r26077 = pow(r26076, r26045);
        float r26078 = pow(r26059, r26045);
        float r26079 = r26077 + r26078;
        float r26080 = log(r26079);
        float r26081 = exp(r26080);
        float r26082 = r26059 - r26076;
        float r26083 = r26076 * r26076;
        float r26084 = fma(r26059, r26082, r26083);
        float r26085 = r26081 / r26084;
        float r26086 = r26085 / r26035;
        float r26087 = r26074 ? r26054 : r26086;
        float r26088 = r26056 ? r26072 : r26087;
        return r26088;
}

double f_od(double alpha, double beta) {
        double r26089 = beta;
        double r26090 = alpha;
        double r26091 = r26090 + r26089;
        double r26092 = 2.0;
        double r26093 = r26091 + r26092;
        double r26094 = r26089 / r26093;
        double r26095 = 4.0;
        double r26096 = 1;
        double r26097 = 2;
        double r26098 = pow(r26090, r26097);
        double r26099 = r26096 / r26098;
        double r26100 = r26095 * r26099;
        double r26101 = 8.0;
        double r26102 = 3;
        double r26103 = pow(r26090, r26102);
        double r26104 = r26096 / r26103;
        double r26105 = r26101 * r26104;
        double r26106 = r26096 / r26090;
        double r26107 = r26092 * r26106;
        double r26108 = r26105 + r26107;
        double r26109 = r26100 - r26108;
        double r26110 = r26094 - r26109;
        double r26111 = r26110 / r26092;
        double r26112 = 1.8798252035045302e-302;
        bool r26113 = r26111 <= r26112;
        double r26114 = pow(r26094, r26102);
        double r26115 = r26090 / r26093;
        double r26116 = 1.0;
        double r26117 = r26115 - r26116;
        double r26118 = pow(r26117, r26102);
        double r26119 = r26114 - r26118;
        double r26120 = r26092 + r26090;
        double r26121 = r26120 + r26089;
        double r26122 = r26089 / r26121;
        double r26123 = r26090 / r26121;
        double r26124 = r26123 - r26116;
        double r26125 = r26122 * r26122;
        double r26126 = fma(r26124, r26124, r26125);
        double r26127 = fma(r26122, r26124, r26126);
        double r26128 = r26119 / r26127;
        double r26129 = r26128 / r26092;
        double r26130 = 2.2568888471552036e-13;
        bool r26131 = r26111 <= r26130;
        double r26132 = r26089 - r26090;
        double r26133 = r26132 / r26093;
        double r26134 = pow(r26133, r26102);
        double r26135 = pow(r26116, r26102);
        double r26136 = r26134 + r26135;
        double r26137 = log(r26136);
        double r26138 = exp(r26137);
        double r26139 = r26116 - r26133;
        double r26140 = r26133 * r26133;
        double r26141 = fma(r26116, r26139, r26140);
        double r26142 = r26138 / r26141;
        double r26143 = r26142 / r26092;
        double r26144 = r26131 ? r26111 : r26143;
        double r26145 = r26113 ? r26129 : r26144;
        return r26145;
}

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 r26146, r26147, r26148, r26149, r26150, r26151, r26152, r26153, r26154, r26155;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(1360);
        mpfr_init(r26146);
        mpfr_init(r26147);
        mpfr_init(r26148);
        mpfr_init(r26149);
        mpfr_init_set_str(r26150, "2.0", 10, MPFR_RNDN);
        mpfr_init(r26151);
        mpfr_init(r26152);
        mpfr_init_set_str(r26153, "1.0", 10, MPFR_RNDN);
        mpfr_init(r26154);
        mpfr_init(r26155);
}

double f_im(double alpha, double beta) {
        mpfr_set_d(r26146, beta, MPFR_RNDN);
        mpfr_set_d(r26147, alpha, MPFR_RNDN);
        mpfr_sub(r26148, r26146, r26147, MPFR_RNDN);
        mpfr_add(r26149, r26147, r26146, MPFR_RNDN);
        ;
        mpfr_add(r26151, r26149, r26150, MPFR_RNDN);
        mpfr_div(r26152, r26148, r26151, MPFR_RNDN);
        ;
        mpfr_add(r26154, r26152, r26153, MPFR_RNDN);
        mpfr_div(r26155, r26154, r26150, MPFR_RNDN);
        return mpfr_get_d(r26155, MPFR_RNDN);
}

static mpfr_t r26156, r26157, r26158, r26159, r26160, r26161, r26162, r26163, r26164, r26165, r26166, r26167, r26168, r26169, r26170, r26171, r26172, r26173, r26174, r26175, r26176, r26177, r26178, r26179, r26180, r26181, r26182, r26183, r26184, r26185, r26186, r26187, r26188, r26189, r26190, r26191, r26192, r26193, r26194, r26195, r26196, r26197, r26198, r26199, r26200, r26201, r26202, r26203, r26204, r26205, r26206, r26207, r26208, r26209, r26210, r26211, r26212;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(1360);
        mpfr_init(r26156);
        mpfr_init(r26157);
        mpfr_init(r26158);
        mpfr_init_set_str(r26159, "2.0", 10, MPFR_RNDN);
        mpfr_init(r26160);
        mpfr_init(r26161);
        mpfr_init_set_str(r26162, "4.0", 10, MPFR_RNDN);
        mpfr_init_set_str(r26163, "1", 10, MPFR_RNDN);
        mpfr_init_set_str(r26164, "2", 10, MPFR_RNDN);
        mpfr_init(r26165);
        mpfr_init(r26166);
        mpfr_init(r26167);
        mpfr_init_set_str(r26168, "8.0", 10, MPFR_RNDN);
        mpfr_init_set_str(r26169, "3", 10, MPFR_RNDN);
        mpfr_init(r26170);
        mpfr_init(r26171);
        mpfr_init(r26172);
        mpfr_init(r26173);
        mpfr_init(r26174);
        mpfr_init(r26175);
        mpfr_init(r26176);
        mpfr_init(r26177);
        mpfr_init(r26178);
        mpfr_init_set_str(r26179, "1.8798252035045302e-302", 10, MPFR_RNDN);
        mpfr_init(r26180);
        mpfr_init(r26181);
        mpfr_init(r26182);
        mpfr_init_set_str(r26183, "1.0", 10, MPFR_RNDN);
        mpfr_init(r26184);
        mpfr_init(r26185);
        mpfr_init(r26186);
        mpfr_init(r26187);
        mpfr_init(r26188);
        mpfr_init(r26189);
        mpfr_init(r26190);
        mpfr_init(r26191);
        mpfr_init(r26192);
        mpfr_init(r26193);
        mpfr_init(r26194);
        mpfr_init(r26195);
        mpfr_init(r26196);
        mpfr_init_set_str(r26197, "2.2568888471552036e-13", 10, MPFR_RNDN);
        mpfr_init(r26198);
        mpfr_init(r26199);
        mpfr_init(r26200);
        mpfr_init(r26201);
        mpfr_init(r26202);
        mpfr_init(r26203);
        mpfr_init(r26204);
        mpfr_init(r26205);
        mpfr_init(r26206);
        mpfr_init(r26207);
        mpfr_init(r26208);
        mpfr_init(r26209);
        mpfr_init(r26210);
        mpfr_init(r26211);
        mpfr_init(r26212);
}

double f_fm(double alpha, double beta) {
        mpfr_set_d(r26156, beta, MPFR_RNDN);
        mpfr_set_d(r26157, alpha, MPFR_RNDN);
        mpfr_add(r26158, r26157, r26156, MPFR_RNDN);
        ;
        mpfr_add(r26160, r26158, r26159, MPFR_RNDN);
        mpfr_div(r26161, r26156, r26160, MPFR_RNDN);
        ;
        ;
        ;
        mpfr_pow(r26165, r26157, r26164, MPFR_RNDN);
        mpfr_div(r26166, r26163, r26165, MPFR_RNDN);
        mpfr_mul(r26167, r26162, r26166, MPFR_RNDN);
        ;
        ;
        mpfr_pow(r26170, r26157, r26169, MPFR_RNDN);
        mpfr_div(r26171, r26163, r26170, MPFR_RNDN);
        mpfr_mul(r26172, r26168, r26171, MPFR_RNDN);
        mpfr_div(r26173, r26163, r26157, MPFR_RNDN);
        mpfr_mul(r26174, r26159, r26173, MPFR_RNDN);
        mpfr_add(r26175, r26172, r26174, MPFR_RNDN);
        mpfr_sub(r26176, r26167, r26175, MPFR_RNDN);
        mpfr_sub(r26177, r26161, r26176, MPFR_RNDN);
        mpfr_div(r26178, r26177, r26159, MPFR_RNDN);
        ;
        mpfr_set_si(r26180, mpfr_cmp(r26178, r26179) <= 0, MPFR_RNDN);
        mpfr_pow(r26181, r26161, r26169, MPFR_RNDN);
        mpfr_div(r26182, r26157, r26160, MPFR_RNDN);
        ;
        mpfr_sub(r26184, r26182, r26183, MPFR_RNDN);
        mpfr_pow(r26185, r26184, r26169, MPFR_RNDN);
        mpfr_sub(r26186, r26181, r26185, MPFR_RNDN);
        mpfr_add(r26187, r26159, r26157, MPFR_RNDN);
        mpfr_add(r26188, r26187, r26156, MPFR_RNDN);
        mpfr_div(r26189, r26156, r26188, MPFR_RNDN);
        mpfr_div(r26190, r26157, r26188, MPFR_RNDN);
        mpfr_sub(r26191, r26190, r26183, MPFR_RNDN);
        mpfr_mul(r26192, r26189, r26189, MPFR_RNDN);
        mpfr_fma(r26193, r26191, r26191, r26192, MPFR_RNDN);
        mpfr_fma(r26194, r26189, r26191, r26193, MPFR_RNDN);
        mpfr_div(r26195, r26186, r26194, MPFR_RNDN);
        mpfr_div(r26196, r26195, r26159, MPFR_RNDN);
        ;
        mpfr_set_si(r26198, mpfr_cmp(r26178, r26197) <= 0, MPFR_RNDN);
        mpfr_sub(r26199, r26156, r26157, MPFR_RNDN);
        mpfr_div(r26200, r26199, r26160, MPFR_RNDN);
        mpfr_pow(r26201, r26200, r26169, MPFR_RNDN);
        mpfr_pow(r26202, r26183, r26169, MPFR_RNDN);
        mpfr_add(r26203, r26201, r26202, MPFR_RNDN);
        mpfr_log(r26204, r26203, MPFR_RNDN);
        mpfr_exp(r26205, r26204, MPFR_RNDN);
        mpfr_sub(r26206, r26183, r26200, MPFR_RNDN);
        mpfr_mul(r26207, r26200, r26200, MPFR_RNDN);
        mpfr_fma(r26208, r26183, r26206, r26207, MPFR_RNDN);
        mpfr_div(r26209, r26205, r26208, MPFR_RNDN);
        mpfr_div(r26210, r26209, r26159, MPFR_RNDN);
        if (mpfr_get_si(r26198, MPFR_RNDN)) { mpfr_set(r26211, r26178, MPFR_RNDN); } else { mpfr_set(r26211, r26210, MPFR_RNDN); };
        if (mpfr_get_si(r26180, MPFR_RNDN)) { mpfr_set(r26212, r26196, MPFR_RNDN); } else { mpfr_set(r26212, r26211, MPFR_RNDN); };
        return mpfr_get_d(r26212, MPFR_RNDN);
}

static mpfr_t r26213, r26214, r26215, r26216, r26217, r26218, r26219, r26220, r26221, r26222, r26223, r26224, r26225, r26226, r26227, r26228, r26229, r26230, r26231, r26232, r26233, r26234, r26235, r26236, r26237, r26238, r26239, r26240, r26241, r26242, r26243, r26244, r26245, r26246, r26247, r26248, r26249, r26250, r26251, r26252, r26253, r26254, r26255, r26256, r26257, r26258, r26259, r26260, r26261, r26262, r26263, r26264, r26265, r26266, r26267, r26268, r26269;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(1360);
        mpfr_init(r26213);
        mpfr_init(r26214);
        mpfr_init(r26215);
        mpfr_init_set_str(r26216, "2.0", 10, MPFR_RNDN);
        mpfr_init(r26217);
        mpfr_init(r26218);
        mpfr_init_set_str(r26219, "4.0", 10, MPFR_RNDN);
        mpfr_init_set_str(r26220, "1", 10, MPFR_RNDN);
        mpfr_init_set_str(r26221, "2", 10, MPFR_RNDN);
        mpfr_init(r26222);
        mpfr_init(r26223);
        mpfr_init(r26224);
        mpfr_init_set_str(r26225, "8.0", 10, MPFR_RNDN);
        mpfr_init_set_str(r26226, "3", 10, MPFR_RNDN);
        mpfr_init(r26227);
        mpfr_init(r26228);
        mpfr_init(r26229);
        mpfr_init(r26230);
        mpfr_init(r26231);
        mpfr_init(r26232);
        mpfr_init(r26233);
        mpfr_init(r26234);
        mpfr_init(r26235);
        mpfr_init_set_str(r26236, "1.8798252035045302e-302", 10, MPFR_RNDN);
        mpfr_init(r26237);
        mpfr_init(r26238);
        mpfr_init(r26239);
        mpfr_init_set_str(r26240, "1.0", 10, MPFR_RNDN);
        mpfr_init(r26241);
        mpfr_init(r26242);
        mpfr_init(r26243);
        mpfr_init(r26244);
        mpfr_init(r26245);
        mpfr_init(r26246);
        mpfr_init(r26247);
        mpfr_init(r26248);
        mpfr_init(r26249);
        mpfr_init(r26250);
        mpfr_init(r26251);
        mpfr_init(r26252);
        mpfr_init(r26253);
        mpfr_init_set_str(r26254, "2.2568888471552036e-13", 10, MPFR_RNDN);
        mpfr_init(r26255);
        mpfr_init(r26256);
        mpfr_init(r26257);
        mpfr_init(r26258);
        mpfr_init(r26259);
        mpfr_init(r26260);
        mpfr_init(r26261);
        mpfr_init(r26262);
        mpfr_init(r26263);
        mpfr_init(r26264);
        mpfr_init(r26265);
        mpfr_init(r26266);
        mpfr_init(r26267);
        mpfr_init(r26268);
        mpfr_init(r26269);
}

double f_dm(double alpha, double beta) {
        mpfr_set_d(r26213, beta, MPFR_RNDN);
        mpfr_set_d(r26214, alpha, MPFR_RNDN);
        mpfr_add(r26215, r26214, r26213, MPFR_RNDN);
        ;
        mpfr_add(r26217, r26215, r26216, MPFR_RNDN);
        mpfr_div(r26218, r26213, r26217, MPFR_RNDN);
        ;
        ;
        ;
        mpfr_pow(r26222, r26214, r26221, MPFR_RNDN);
        mpfr_div(r26223, r26220, r26222, MPFR_RNDN);
        mpfr_mul(r26224, r26219, r26223, MPFR_RNDN);
        ;
        ;
        mpfr_pow(r26227, r26214, r26226, MPFR_RNDN);
        mpfr_div(r26228, r26220, r26227, MPFR_RNDN);
        mpfr_mul(r26229, r26225, r26228, MPFR_RNDN);
        mpfr_div(r26230, r26220, r26214, MPFR_RNDN);
        mpfr_mul(r26231, r26216, r26230, MPFR_RNDN);
        mpfr_add(r26232, r26229, r26231, MPFR_RNDN);
        mpfr_sub(r26233, r26224, r26232, MPFR_RNDN);
        mpfr_sub(r26234, r26218, r26233, MPFR_RNDN);
        mpfr_div(r26235, r26234, r26216, MPFR_RNDN);
        ;
        mpfr_set_si(r26237, mpfr_cmp(r26235, r26236) <= 0, MPFR_RNDN);
        mpfr_pow(r26238, r26218, r26226, MPFR_RNDN);
        mpfr_div(r26239, r26214, r26217, MPFR_RNDN);
        ;
        mpfr_sub(r26241, r26239, r26240, MPFR_RNDN);
        mpfr_pow(r26242, r26241, r26226, MPFR_RNDN);
        mpfr_sub(r26243, r26238, r26242, MPFR_RNDN);
        mpfr_add(r26244, r26216, r26214, MPFR_RNDN);
        mpfr_add(r26245, r26244, r26213, MPFR_RNDN);
        mpfr_div(r26246, r26213, r26245, MPFR_RNDN);
        mpfr_div(r26247, r26214, r26245, MPFR_RNDN);
        mpfr_sub(r26248, r26247, r26240, MPFR_RNDN);
        mpfr_mul(r26249, r26246, r26246, MPFR_RNDN);
        mpfr_fma(r26250, r26248, r26248, r26249, MPFR_RNDN);
        mpfr_fma(r26251, r26246, r26248, r26250, MPFR_RNDN);
        mpfr_div(r26252, r26243, r26251, MPFR_RNDN);
        mpfr_div(r26253, r26252, r26216, MPFR_RNDN);
        ;
        mpfr_set_si(r26255, mpfr_cmp(r26235, r26254) <= 0, MPFR_RNDN);
        mpfr_sub(r26256, r26213, r26214, MPFR_RNDN);
        mpfr_div(r26257, r26256, r26217, MPFR_RNDN);
        mpfr_pow(r26258, r26257, r26226, MPFR_RNDN);
        mpfr_pow(r26259, r26240, r26226, MPFR_RNDN);
        mpfr_add(r26260, r26258, r26259, MPFR_RNDN);
        mpfr_log(r26261, r26260, MPFR_RNDN);
        mpfr_exp(r26262, r26261, MPFR_RNDN);
        mpfr_sub(r26263, r26240, r26257, MPFR_RNDN);
        mpfr_mul(r26264, r26257, r26257, MPFR_RNDN);
        mpfr_fma(r26265, r26240, r26263, r26264, MPFR_RNDN);
        mpfr_div(r26266, r26262, r26265, MPFR_RNDN);
        mpfr_div(r26267, r26266, r26216, MPFR_RNDN);
        if (mpfr_get_si(r26255, MPFR_RNDN)) { mpfr_set(r26268, r26235, MPFR_RNDN); } else { mpfr_set(r26268, r26267, MPFR_RNDN); };
        if (mpfr_get_si(r26237, MPFR_RNDN)) { mpfr_set(r26269, r26253, MPFR_RNDN); } else { mpfr_set(r26269, r26268, MPFR_RNDN); };
        return mpfr_get_d(r26269, MPFR_RNDN);
}

