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

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

double f_if(float alpha, float beta, float i) {
        float r26841 = alpha;
        float r26842 = beta;
        float r26843 = r26841 + r26842;
        float r26844 = r26842 - r26841;
        float r26845 = r26843 * r26844;
        float r26846 = 2;
        float r26847 = i;
        float r26848 = r26846 * r26847;
        float r26849 = r26843 + r26848;
        float r26850 = r26845 / r26849;
        float r26851 = 2.0;
        float r26852 = r26849 + r26851;
        float r26853 = r26850 / r26852;
        float r26854 = 1.0;
        float r26855 = r26853 + r26854;
        float r26856 = r26855 / r26851;
        return r26856;
}

double f_id(double alpha, double beta, double i) {
        double r26857 = alpha;
        double r26858 = beta;
        double r26859 = r26857 + r26858;
        double r26860 = r26858 - r26857;
        double r26861 = r26859 * r26860;
        double r26862 = 2;
        double r26863 = i;
        double r26864 = r26862 * r26863;
        double r26865 = r26859 + r26864;
        double r26866 = r26861 / r26865;
        double r26867 = 2.0;
        double r26868 = r26865 + r26867;
        double r26869 = r26866 / r26868;
        double r26870 = 1.0;
        double r26871 = r26869 + r26870;
        double r26872 = r26871 / r26867;
        return r26872;
}


double f_of(float alpha, float beta, float i) {
        float r26873 = alpha;
        float r26874 = beta;
        float r26875 = r26873 + r26874;
        float r26876 = r26874 - r26873;
        float r26877 = r26875 * r26876;
        float r26878 = 2;
        float r26879 = i;
        float r26880 = r26878 * r26879;
        float r26881 = r26875 + r26880;
        float r26882 = r26877 / r26881;
        float r26883 = -1.0776457800358055e+20;
        bool r26884 = r26882 <= r26883;
        float r26885 = 8.0;
        float r26886 = r26885 / r26873;
        float r26887 = r26873 * r26873;
        float r26888 = r26886 / r26887;
        float r26889 = 2.0;
        float r26890 = 4.0;
        float r26891 = r26890 / r26873;
        float r26892 = r26889 - r26891;
        float r26893 = r26892 / r26873;
        float r26894 = r26888 + r26893;
        float r26895 = r26894 / r26889;
        float r26896 = r26879 + r26879;
        float r26897 = r26875 + r26896;
        float r26898 = r26876 / r26897;
        float r26899 = r26873 + r26889;
        float r26900 = r26874 + r26896;
        float r26901 = r26899 + r26900;
        float r26902 = sqrt(r26901);
        float r26903 = r26898 / r26902;
        float r26904 = r26879 + r26889;
        float r26905 = r26904 + r26879;
        float r26906 = r26875 + r26905;
        float r26907 = sqrt(r26906);
        float r26908 = r26875 / r26907;
        float r26909 = r26903 * r26908;
        float r26910 = 3;
        float r26911 = pow(r26909, r26910);
        float r26912 = cbrt(r26911);
        float r26913 = 1.0;
        float r26914 = r26912 + r26913;
        float r26915 = r26914 / r26889;
        float r26916 = r26884 ? r26895 : r26915;
        return r26916;
}

double f_od(double alpha, double beta, double i) {
        double r26917 = alpha;
        double r26918 = beta;
        double r26919 = r26917 + r26918;
        double r26920 = r26918 - r26917;
        double r26921 = r26919 * r26920;
        double r26922 = 2;
        double r26923 = i;
        double r26924 = r26922 * r26923;
        double r26925 = r26919 + r26924;
        double r26926 = r26921 / r26925;
        double r26927 = -1.0776457800358055e+20;
        bool r26928 = r26926 <= r26927;
        double r26929 = 8.0;
        double r26930 = r26929 / r26917;
        double r26931 = r26917 * r26917;
        double r26932 = r26930 / r26931;
        double r26933 = 2.0;
        double r26934 = 4.0;
        double r26935 = r26934 / r26917;
        double r26936 = r26933 - r26935;
        double r26937 = r26936 / r26917;
        double r26938 = r26932 + r26937;
        double r26939 = r26938 / r26933;
        double r26940 = r26923 + r26923;
        double r26941 = r26919 + r26940;
        double r26942 = r26920 / r26941;
        double r26943 = r26917 + r26933;
        double r26944 = r26918 + r26940;
        double r26945 = r26943 + r26944;
        double r26946 = sqrt(r26945);
        double r26947 = r26942 / r26946;
        double r26948 = r26923 + r26933;
        double r26949 = r26948 + r26923;
        double r26950 = r26919 + r26949;
        double r26951 = sqrt(r26950);
        double r26952 = r26919 / r26951;
        double r26953 = r26947 * r26952;
        double r26954 = 3;
        double r26955 = pow(r26953, r26954);
        double r26956 = cbrt(r26955);
        double r26957 = 1.0;
        double r26958 = r26956 + r26957;
        double r26959 = r26958 / r26933;
        double r26960 = r26928 ? r26939 : r26959;
        return r26960;
}

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 r26961, r26962, r26963, r26964, r26965, r26966, r26967, r26968, r26969, r26970, r26971, r26972, r26973, r26974, r26975, r26976;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(1424);
        mpfr_init(r26961);
        mpfr_init(r26962);
        mpfr_init(r26963);
        mpfr_init(r26964);
        mpfr_init(r26965);
        mpfr_init_set_str(r26966, "2", 10, MPFR_RNDN);
        mpfr_init(r26967);
        mpfr_init(r26968);
        mpfr_init(r26969);
        mpfr_init(r26970);
        mpfr_init_set_str(r26971, "2.0", 10, MPFR_RNDN);
        mpfr_init(r26972);
        mpfr_init(r26973);
        mpfr_init_set_str(r26974, "1.0", 10, MPFR_RNDN);
        mpfr_init(r26975);
        mpfr_init(r26976);
}

double f_im(double alpha, double beta, double i) {
        mpfr_set_d(r26961, alpha, MPFR_RNDN);
        mpfr_set_d(r26962, beta, MPFR_RNDN);
        mpfr_add(r26963, r26961, r26962, MPFR_RNDN);
        mpfr_sub(r26964, r26962, r26961, MPFR_RNDN);
        mpfr_mul(r26965, r26963, r26964, MPFR_RNDN);
        ;
        mpfr_set_d(r26967, i, MPFR_RNDN);
        mpfr_mul(r26968, r26966, r26967, MPFR_RNDN);
        mpfr_add(r26969, r26963, r26968, MPFR_RNDN);
        mpfr_div(r26970, r26965, r26969, MPFR_RNDN);
        ;
        mpfr_add(r26972, r26969, r26971, MPFR_RNDN);
        mpfr_div(r26973, r26970, r26972, MPFR_RNDN);
        ;
        mpfr_add(r26975, r26973, r26974, MPFR_RNDN);
        mpfr_div(r26976, r26975, r26971, MPFR_RNDN);
        return mpfr_get_d(r26976, MPFR_RNDN);
}

static mpfr_t r26977, r26978, r26979, r26980, r26981, r26982, 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, r27019, r27020;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(1424);
        mpfr_init(r26977);
        mpfr_init(r26978);
        mpfr_init(r26979);
        mpfr_init(r26980);
        mpfr_init(r26981);
        mpfr_init_set_str(r26982, "2", 10, MPFR_RNDN);
        mpfr_init(r26983);
        mpfr_init(r26984);
        mpfr_init(r26985);
        mpfr_init(r26986);
        mpfr_init_set_str(r26987, "-1.0776457800358055e+20", 10, MPFR_RNDN);
        mpfr_init(r26988);
        mpfr_init_set_str(r26989, "8.0", 10, MPFR_RNDN);
        mpfr_init(r26990);
        mpfr_init(r26991);
        mpfr_init(r26992);
        mpfr_init_set_str(r26993, "2.0", 10, MPFR_RNDN);
        mpfr_init_set_str(r26994, "4.0", 10, MPFR_RNDN);
        mpfr_init(r26995);
        mpfr_init(r26996);
        mpfr_init(r26997);
        mpfr_init(r26998);
        mpfr_init(r26999);
        mpfr_init(r27000);
        mpfr_init(r27001);
        mpfr_init(r27002);
        mpfr_init(r27003);
        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, "3", 10, MPFR_RNDN);
        mpfr_init(r27015);
        mpfr_init(r27016);
        mpfr_init_set_str(r27017, "1.0", 10, MPFR_RNDN);
        mpfr_init(r27018);
        mpfr_init(r27019);
        mpfr_init(r27020);
}

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

static mpfr_t 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, r27055, r27056, r27057, r27058, r27059, r27060, r27061, r27062, r27063, r27064;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(1424);
        mpfr_init(r27021);
        mpfr_init(r27022);
        mpfr_init(r27023);
        mpfr_init(r27024);
        mpfr_init(r27025);
        mpfr_init_set_str(r27026, "2", 10, MPFR_RNDN);
        mpfr_init(r27027);
        mpfr_init(r27028);
        mpfr_init(r27029);
        mpfr_init(r27030);
        mpfr_init_set_str(r27031, "-1.0776457800358055e+20", 10, MPFR_RNDN);
        mpfr_init(r27032);
        mpfr_init_set_str(r27033, "8.0", 10, MPFR_RNDN);
        mpfr_init(r27034);
        mpfr_init(r27035);
        mpfr_init(r27036);
        mpfr_init_set_str(r27037, "2.0", 10, MPFR_RNDN);
        mpfr_init_set_str(r27038, "4.0", 10, MPFR_RNDN);
        mpfr_init(r27039);
        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(r27050);
        mpfr_init(r27051);
        mpfr_init(r27052);
        mpfr_init(r27053);
        mpfr_init(r27054);
        mpfr_init(r27055);
        mpfr_init(r27056);
        mpfr_init(r27057);
        mpfr_init_set_str(r27058, "3", 10, MPFR_RNDN);
        mpfr_init(r27059);
        mpfr_init(r27060);
        mpfr_init_set_str(r27061, "1.0", 10, MPFR_RNDN);
        mpfr_init(r27062);
        mpfr_init(r27063);
        mpfr_init(r27064);
}

double f_dm(double alpha, double beta, double i) {
        mpfr_set_d(r27021, alpha, MPFR_RNDN);
        mpfr_set_d(r27022, beta, MPFR_RNDN);
        mpfr_add(r27023, r27021, r27022, MPFR_RNDN);
        mpfr_sub(r27024, r27022, r27021, MPFR_RNDN);
        mpfr_mul(r27025, r27023, r27024, MPFR_RNDN);
        ;
        mpfr_set_d(r27027, i, MPFR_RNDN);
        mpfr_mul(r27028, r27026, r27027, MPFR_RNDN);
        mpfr_add(r27029, r27023, r27028, MPFR_RNDN);
        mpfr_div(r27030, r27025, r27029, MPFR_RNDN);
        ;
        mpfr_set_si(r27032, mpfr_cmp(r27030, r27031) <= 0, MPFR_RNDN);
        ;
        mpfr_div(r27034, r27033, r27021, MPFR_RNDN);
        mpfr_mul(r27035, r27021, r27021, MPFR_RNDN);
        mpfr_div(r27036, r27034, r27035, MPFR_RNDN);
        ;
        ;
        mpfr_div(r27039, r27038, r27021, MPFR_RNDN);
        mpfr_sub(r27040, r27037, r27039, MPFR_RNDN);
        mpfr_div(r27041, r27040, r27021, MPFR_RNDN);
        mpfr_add(r27042, r27036, r27041, MPFR_RNDN);
        mpfr_div(r27043, r27042, r27037, MPFR_RNDN);
        mpfr_add(r27044, r27027, r27027, MPFR_RNDN);
        mpfr_add(r27045, r27023, r27044, MPFR_RNDN);
        mpfr_div(r27046, r27024, r27045, MPFR_RNDN);
        mpfr_add(r27047, r27021, r27037, MPFR_RNDN);
        mpfr_add(r27048, r27022, r27044, MPFR_RNDN);
        mpfr_add(r27049, r27047, r27048, MPFR_RNDN);
        mpfr_sqrt(r27050, r27049, MPFR_RNDN);
        mpfr_div(r27051, r27046, r27050, MPFR_RNDN);
        mpfr_add(r27052, r27027, r27037, MPFR_RNDN);
        mpfr_add(r27053, r27052, r27027, MPFR_RNDN);
        mpfr_add(r27054, r27023, r27053, MPFR_RNDN);
        mpfr_sqrt(r27055, r27054, MPFR_RNDN);
        mpfr_div(r27056, r27023, r27055, MPFR_RNDN);
        mpfr_mul(r27057, r27051, r27056, MPFR_RNDN);
        ;
        mpfr_pow(r27059, r27057, r27058, MPFR_RNDN);
        mpfr_cbrt(r27060, r27059, MPFR_RNDN);
        ;
        mpfr_add(r27062, r27060, r27061, MPFR_RNDN);
        mpfr_div(r27063, r27062, r27037, MPFR_RNDN);
        if (mpfr_get_si(r27032, MPFR_RNDN)) { mpfr_set(r27064, r27043, MPFR_RNDN); } else { mpfr_set(r27064, r27063, MPFR_RNDN); };
        return mpfr_get_d(r27064, MPFR_RNDN);
}

