#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 r26881 = beta;
        float r26882 = alpha;
        float r26883 = r26881 - r26882;
        float r26884 = r26882 + r26881;
        float r26885 = 2.0;
        float r26886 = r26884 + r26885;
        float r26887 = r26883 / r26886;
        float r26888 = 1.0;
        float r26889 = r26887 + r26888;
        float r26890 = r26889 / r26885;
        return r26890;
}

double f_id(double alpha, double beta) {
        double r26891 = beta;
        double r26892 = alpha;
        double r26893 = r26891 - r26892;
        double r26894 = r26892 + r26891;
        double r26895 = 2.0;
        double r26896 = r26894 + r26895;
        double r26897 = r26893 / r26896;
        double r26898 = 1.0;
        double r26899 = r26897 + r26898;
        double r26900 = r26899 / r26895;
        return r26900;
}


double f_of(float alpha, float beta) {
        float r26901 = beta;
        float r26902 = alpha;
        float r26903 = r26901 - r26902;
        float r26904 = r26902 + r26901;
        float r26905 = 2.0;
        float r26906 = r26904 + r26905;
        float r26907 = r26903 / r26906;
        float r26908 = -0.0045640281637545355;
        bool r26909 = r26907 <= r26908;
        float r26910 = r26901 / r26905;
        float r26911 = r26905 + r26902;
        float r26912 = r26901 + r26911;
        float r26913 = r26910 / r26912;
        float r26914 = 4.0;
        float r26915 = 8.0;
        float r26916 = r26915 / r26902;
        float r26917 = r26914 - r26916;
        float r26918 = r26902 * r26905;
        float r26919 = r26918 * r26902;
        float r26920 = r26917 / r26919;
        float r26921 = 1;
        float r26922 = r26921 / r26902;
        float r26923 = r26920 - r26922;
        float r26924 = r26913 - r26923;
        float r26925 = r26901 / r26906;
        float r26926 = cbrt(r26925);
        float r26927 = r26926 * r26926;
        float r26928 = exp(r26926);
        float r26929 = log(r26928);
        float r26930 = r26927 * r26929;
        float r26931 = r26902 / r26906;
        float r26932 = 1.0;
        float r26933 = r26931 - r26932;
        float r26934 = r26930 - r26933;
        float r26935 = r26934 / r26905;
        float r26936 = r26909 ? r26924 : r26935;
        return r26936;
}

double f_od(double alpha, double beta) {
        double r26937 = beta;
        double r26938 = alpha;
        double r26939 = r26937 - r26938;
        double r26940 = r26938 + r26937;
        double r26941 = 2.0;
        double r26942 = r26940 + r26941;
        double r26943 = r26939 / r26942;
        double r26944 = -0.0045640281637545355;
        bool r26945 = r26943 <= r26944;
        double r26946 = r26937 / r26941;
        double r26947 = r26941 + r26938;
        double r26948 = r26937 + r26947;
        double r26949 = r26946 / r26948;
        double r26950 = 4.0;
        double r26951 = 8.0;
        double r26952 = r26951 / r26938;
        double r26953 = r26950 - r26952;
        double r26954 = r26938 * r26941;
        double r26955 = r26954 * r26938;
        double r26956 = r26953 / r26955;
        double r26957 = 1;
        double r26958 = r26957 / r26938;
        double r26959 = r26956 - r26958;
        double r26960 = r26949 - r26959;
        double r26961 = r26937 / r26942;
        double r26962 = cbrt(r26961);
        double r26963 = r26962 * r26962;
        double r26964 = exp(r26962);
        double r26965 = log(r26964);
        double r26966 = r26963 * r26965;
        double r26967 = r26938 / r26942;
        double r26968 = 1.0;
        double r26969 = r26967 - r26968;
        double r26970 = r26966 - r26969;
        double r26971 = r26970 / r26941;
        double r26972 = r26945 ? r26960 : r26971;
        return r26972;
}

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 r26973, r26974, r26975, r26976, r26977, r26978, r26979, r26980, r26981, r26982;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(1424);
        mpfr_init(r26973);
        mpfr_init(r26974);
        mpfr_init(r26975);
        mpfr_init(r26976);
        mpfr_init_set_str(r26977, "2.0", 10, MPFR_RNDN);
        mpfr_init(r26978);
        mpfr_init(r26979);
        mpfr_init_set_str(r26980, "1.0", 10, MPFR_RNDN);
        mpfr_init(r26981);
        mpfr_init(r26982);
}

double f_im(double alpha, double beta) {
        mpfr_set_d(r26973, beta, MPFR_RNDN);
        mpfr_set_d(r26974, alpha, MPFR_RNDN);
        mpfr_sub(r26975, r26973, r26974, MPFR_RNDN);
        mpfr_add(r26976, r26974, r26973, MPFR_RNDN);
        ;
        mpfr_add(r26978, r26976, r26977, MPFR_RNDN);
        mpfr_div(r26979, r26975, r26978, MPFR_RNDN);
        ;
        mpfr_add(r26981, r26979, r26980, MPFR_RNDN);
        mpfr_div(r26982, r26981, r26977, MPFR_RNDN);
        return mpfr_get_d(r26982, MPFR_RNDN);
}

static mpfr_t r26983, r26984, r26985, r26986, r26987, r26988, r26989, r26990, r26991, r26992, r26993, r26994, r26995, r26996, r26997, r26998, r26999, r27000, r27001, r27002, r27003, r27004, r27005, r27006, r27007, r27008, r27009, r27010, r27011, r27012, r27013, r27014, r27015, r27016, r27017, r27018;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(1424);
        mpfr_init(r26983);
        mpfr_init(r26984);
        mpfr_init(r26985);
        mpfr_init(r26986);
        mpfr_init_set_str(r26987, "2.0", 10, MPFR_RNDN);
        mpfr_init(r26988);
        mpfr_init(r26989);
        mpfr_init_set_str(r26990, "-0.0045640281637545355", 10, MPFR_RNDN);
        mpfr_init(r26991);
        mpfr_init(r26992);
        mpfr_init(r26993);
        mpfr_init(r26994);
        mpfr_init(r26995);
        mpfr_init_set_str(r26996, "4.0", 10, MPFR_RNDN);
        mpfr_init_set_str(r26997, "8.0", 10, MPFR_RNDN);
        mpfr_init(r26998);
        mpfr_init(r26999);
        mpfr_init(r27000);
        mpfr_init(r27001);
        mpfr_init(r27002);
        mpfr_init_set_str(r27003, "1", 10, MPFR_RNDN);
        mpfr_init(r27004);
        mpfr_init(r27005);
        mpfr_init(r27006);
        mpfr_init(r27007);
        mpfr_init(r27008);
        mpfr_init(r27009);
        mpfr_init(r27010);
        mpfr_init(r27011);
        mpfr_init(r27012);
        mpfr_init(r27013);
        mpfr_init_set_str(r27014, "1.0", 10, MPFR_RNDN);
        mpfr_init(r27015);
        mpfr_init(r27016);
        mpfr_init(r27017);
        mpfr_init(r27018);
}

double f_fm(double alpha, double beta) {
        mpfr_set_d(r26983, beta, MPFR_RNDN);
        mpfr_set_d(r26984, alpha, MPFR_RNDN);
        mpfr_sub(r26985, r26983, r26984, MPFR_RNDN);
        mpfr_add(r26986, r26984, r26983, MPFR_RNDN);
        ;
        mpfr_add(r26988, r26986, r26987, MPFR_RNDN);
        mpfr_div(r26989, r26985, r26988, MPFR_RNDN);
        ;
        mpfr_set_si(r26991, mpfr_cmp(r26989, r26990) <= 0, MPFR_RNDN);
        mpfr_div(r26992, r26983, r26987, MPFR_RNDN);
        mpfr_add(r26993, r26987, r26984, MPFR_RNDN);
        mpfr_add(r26994, r26983, r26993, MPFR_RNDN);
        mpfr_div(r26995, r26992, r26994, MPFR_RNDN);
        ;
        ;
        mpfr_div(r26998, r26997, r26984, MPFR_RNDN);
        mpfr_sub(r26999, r26996, r26998, MPFR_RNDN);
        mpfr_mul(r27000, r26984, r26987, MPFR_RNDN);
        mpfr_mul(r27001, r27000, r26984, MPFR_RNDN);
        mpfr_div(r27002, r26999, r27001, MPFR_RNDN);
        ;
        mpfr_div(r27004, r27003, r26984, MPFR_RNDN);
        mpfr_sub(r27005, r27002, r27004, MPFR_RNDN);
        mpfr_sub(r27006, r26995, r27005, MPFR_RNDN);
        mpfr_div(r27007, r26983, r26988, MPFR_RNDN);
        mpfr_cbrt(r27008, r27007, MPFR_RNDN);
        mpfr_mul(r27009, r27008, r27008, MPFR_RNDN);
        mpfr_exp(r27010, r27008, MPFR_RNDN);
        mpfr_log(r27011, r27010, MPFR_RNDN);
        mpfr_mul(r27012, r27009, r27011, MPFR_RNDN);
        mpfr_div(r27013, r26984, r26988, MPFR_RNDN);
        ;
        mpfr_sub(r27015, r27013, r27014, MPFR_RNDN);
        mpfr_sub(r27016, r27012, r27015, MPFR_RNDN);
        mpfr_div(r27017, r27016, r26987, MPFR_RNDN);
        if (mpfr_get_si(r26991, MPFR_RNDN)) { mpfr_set(r27018, r27006, MPFR_RNDN); } else { mpfr_set(r27018, r27017, MPFR_RNDN); };
        return mpfr_get_d(r27018, MPFR_RNDN);
}

static mpfr_t r27019, r27020, r27021, r27022, r27023, r27024, r27025, r27026, r27027, r27028, r27029, r27030, r27031, r27032, r27033, r27034, r27035, r27036, r27037, r27038, r27039, r27040, r27041, r27042, r27043, r27044, r27045, r27046, r27047, r27048, r27049, r27050, r27051, r27052, r27053, r27054;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(1424);
        mpfr_init(r27019);
        mpfr_init(r27020);
        mpfr_init(r27021);
        mpfr_init(r27022);
        mpfr_init_set_str(r27023, "2.0", 10, MPFR_RNDN);
        mpfr_init(r27024);
        mpfr_init(r27025);
        mpfr_init_set_str(r27026, "-0.0045640281637545355", 10, MPFR_RNDN);
        mpfr_init(r27027);
        mpfr_init(r27028);
        mpfr_init(r27029);
        mpfr_init(r27030);
        mpfr_init(r27031);
        mpfr_init_set_str(r27032, "4.0", 10, MPFR_RNDN);
        mpfr_init_set_str(r27033, "8.0", 10, MPFR_RNDN);
        mpfr_init(r27034);
        mpfr_init(r27035);
        mpfr_init(r27036);
        mpfr_init(r27037);
        mpfr_init(r27038);
        mpfr_init_set_str(r27039, "1", 10, MPFR_RNDN);
        mpfr_init(r27040);
        mpfr_init(r27041);
        mpfr_init(r27042);
        mpfr_init(r27043);
        mpfr_init(r27044);
        mpfr_init(r27045);
        mpfr_init(r27046);
        mpfr_init(r27047);
        mpfr_init(r27048);
        mpfr_init(r27049);
        mpfr_init_set_str(r27050, "1.0", 10, MPFR_RNDN);
        mpfr_init(r27051);
        mpfr_init(r27052);
        mpfr_init(r27053);
        mpfr_init(r27054);
}

double f_dm(double alpha, double beta) {
        mpfr_set_d(r27019, beta, MPFR_RNDN);
        mpfr_set_d(r27020, alpha, MPFR_RNDN);
        mpfr_sub(r27021, r27019, r27020, MPFR_RNDN);
        mpfr_add(r27022, r27020, r27019, MPFR_RNDN);
        ;
        mpfr_add(r27024, r27022, r27023, MPFR_RNDN);
        mpfr_div(r27025, r27021, r27024, MPFR_RNDN);
        ;
        mpfr_set_si(r27027, mpfr_cmp(r27025, r27026) <= 0, MPFR_RNDN);
        mpfr_div(r27028, r27019, r27023, MPFR_RNDN);
        mpfr_add(r27029, r27023, r27020, MPFR_RNDN);
        mpfr_add(r27030, r27019, r27029, MPFR_RNDN);
        mpfr_div(r27031, r27028, r27030, MPFR_RNDN);
        ;
        ;
        mpfr_div(r27034, r27033, r27020, MPFR_RNDN);
        mpfr_sub(r27035, r27032, r27034, MPFR_RNDN);
        mpfr_mul(r27036, r27020, r27023, MPFR_RNDN);
        mpfr_mul(r27037, r27036, r27020, MPFR_RNDN);
        mpfr_div(r27038, r27035, r27037, MPFR_RNDN);
        ;
        mpfr_div(r27040, r27039, r27020, MPFR_RNDN);
        mpfr_sub(r27041, r27038, r27040, MPFR_RNDN);
        mpfr_sub(r27042, r27031, r27041, MPFR_RNDN);
        mpfr_div(r27043, r27019, r27024, MPFR_RNDN);
        mpfr_cbrt(r27044, r27043, MPFR_RNDN);
        mpfr_mul(r27045, r27044, r27044, MPFR_RNDN);
        mpfr_exp(r27046, r27044, MPFR_RNDN);
        mpfr_log(r27047, r27046, MPFR_RNDN);
        mpfr_mul(r27048, r27045, r27047, MPFR_RNDN);
        mpfr_div(r27049, r27020, r27024, MPFR_RNDN);
        ;
        mpfr_sub(r27051, r27049, r27050, MPFR_RNDN);
        mpfr_sub(r27052, r27048, r27051, MPFR_RNDN);
        mpfr_div(r27053, r27052, r27023, MPFR_RNDN);
        if (mpfr_get_si(r27027, MPFR_RNDN)) { mpfr_set(r27054, r27042, MPFR_RNDN); } else { mpfr_set(r27054, r27053, MPFR_RNDN); };
        return mpfr_get_d(r27054, MPFR_RNDN);
}

