#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 r25859 = alpha;
        float r25860 = beta;
        float r25861 = r25859 + r25860;
        float r25862 = r25860 * r25859;
        float r25863 = r25861 + r25862;
        float r25864 = 1.0;
        float r25865 = r25863 + r25864;
        float r25866 = 2;
        float r25867 = 1;
        float r25868 = r25866 * r25867;
        float r25869 = r25861 + r25868;
        float r25870 = r25865 / r25869;
        float r25871 = r25870 / r25869;
        float r25872 = r25869 + r25864;
        float r25873 = r25871 / r25872;
        return r25873;
}

double f_id(double alpha, double beta) {
        double r25874 = alpha;
        double r25875 = beta;
        double r25876 = r25874 + r25875;
        double r25877 = r25875 * r25874;
        double r25878 = r25876 + r25877;
        double r25879 = 1.0;
        double r25880 = r25878 + r25879;
        double r25881 = 2;
        double r25882 = 1;
        double r25883 = r25881 * r25882;
        double r25884 = r25876 + r25883;
        double r25885 = r25880 / r25884;
        double r25886 = r25885 / r25884;
        double r25887 = r25884 + r25879;
        double r25888 = r25886 / r25887;
        return r25888;
}


double f_of(float alpha, float beta) {
        float r25889 = beta;
        float r25890 = alpha;
        float r25891 = r25889 * r25890;
        float r25892 = r25889 + r25890;
        float r25893 = r25891 + r25892;
        float r25894 = 1.0;
        float r25895 = r25893 + r25894;
        float r25896 = 2;
        float r25897 = r25892 + r25896;
        float r25898 = r25895 / r25897;
        float r25899 = r25898 / r25897;
        float r25900 = r25894 + r25897;
        float r25901 = r25899 / r25900;
        float r25902 = 8.450694179047634e+248;
        bool r25903 = r25901 <= r25902;
        float r25904 = r25889 + r25894;
        float r25905 = fma(r25890, r25889, r25890);
        float r25906 = r25904 + r25905;
        float r25907 = sqrt(r25906);
        float r25908 = fma(r25889, r25890, r25890);
        float r25909 = r25908 + r25904;
        float r25910 = sqrt(r25909);
        float r25911 = r25896 + r25892;
        float r25912 = r25910 / r25911;
        float r25913 = r25907 * r25912;
        float r25914 = r25913 / r25897;
        float r25915 = r25914 / r25900;
        float r25916 = 1;
        float r25917 = r25916 / r25890;
        float r25918 = 2.0;
        float r25919 = r25918 / r25890;
        float r25920 = r25919 - r25894;
        float r25921 = fma(r25917, r25920, r25916);
        float r25922 = r25890 + r25896;
        float r25923 = r25889 + r25922;
        float r25924 = r25894 + r25896;
        float r25925 = r25892 + r25924;
        float r25926 = r25923 * r25925;
        float r25927 = r25921 / r25926;
        float r25928 = r25903 ? r25915 : r25927;
        return r25928;
}

double f_od(double alpha, double beta) {
        double r25929 = beta;
        double r25930 = alpha;
        double r25931 = r25929 * r25930;
        double r25932 = r25929 + r25930;
        double r25933 = r25931 + r25932;
        double r25934 = 1.0;
        double r25935 = r25933 + r25934;
        double r25936 = 2;
        double r25937 = r25932 + r25936;
        double r25938 = r25935 / r25937;
        double r25939 = r25938 / r25937;
        double r25940 = r25934 + r25937;
        double r25941 = r25939 / r25940;
        double r25942 = 8.450694179047634e+248;
        bool r25943 = r25941 <= r25942;
        double r25944 = r25929 + r25934;
        double r25945 = fma(r25930, r25929, r25930);
        double r25946 = r25944 + r25945;
        double r25947 = sqrt(r25946);
        double r25948 = fma(r25929, r25930, r25930);
        double r25949 = r25948 + r25944;
        double r25950 = sqrt(r25949);
        double r25951 = r25936 + r25932;
        double r25952 = r25950 / r25951;
        double r25953 = r25947 * r25952;
        double r25954 = r25953 / r25937;
        double r25955 = r25954 / r25940;
        double r25956 = 1;
        double r25957 = r25956 / r25930;
        double r25958 = 2.0;
        double r25959 = r25958 / r25930;
        double r25960 = r25959 - r25934;
        double r25961 = fma(r25957, r25960, r25956);
        double r25962 = r25930 + r25936;
        double r25963 = r25929 + r25962;
        double r25964 = r25934 + r25936;
        double r25965 = r25932 + r25964;
        double r25966 = r25963 * r25965;
        double r25967 = r25961 / r25966;
        double r25968 = r25943 ? r25955 : r25967;
        return r25968;
}

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 r25969, r25970, r25971, r25972, r25973, r25974, r25975, r25976, r25977, r25978, r25979, r25980, r25981, r25982, r25983;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(592);
        mpfr_init(r25969);
        mpfr_init(r25970);
        mpfr_init(r25971);
        mpfr_init(r25972);
        mpfr_init(r25973);
        mpfr_init_set_str(r25974, "1.0", 10, MPFR_RNDN);
        mpfr_init(r25975);
        mpfr_init_set_str(r25976, "2", 10, MPFR_RNDN);
        mpfr_init_set_str(r25977, "1", 10, MPFR_RNDN);
        mpfr_init(r25978);
        mpfr_init(r25979);
        mpfr_init(r25980);
        mpfr_init(r25981);
        mpfr_init(r25982);
        mpfr_init(r25983);
}

double f_im(double alpha, double beta) {
        mpfr_set_d(r25969, alpha, MPFR_RNDN);
        mpfr_set_d(r25970, beta, MPFR_RNDN);
        mpfr_add(r25971, r25969, r25970, MPFR_RNDN);
        mpfr_mul(r25972, r25970, r25969, MPFR_RNDN);
        mpfr_add(r25973, r25971, r25972, MPFR_RNDN);
        ;
        mpfr_add(r25975, r25973, r25974, MPFR_RNDN);
        ;
        ;
        mpfr_mul(r25978, r25976, r25977, MPFR_RNDN);
        mpfr_add(r25979, r25971, r25978, MPFR_RNDN);
        mpfr_div(r25980, r25975, r25979, MPFR_RNDN);
        mpfr_div(r25981, r25980, r25979, MPFR_RNDN);
        mpfr_add(r25982, r25979, r25974, MPFR_RNDN);
        mpfr_div(r25983, r25981, r25982, MPFR_RNDN);
        return mpfr_get_d(r25983, MPFR_RNDN);
}

static mpfr_t r25984, r25985, r25986, r25987, r25988, r25989, r25990, r25991, r25992, r25993, r25994, r25995, r25996, r25997, r25998, r25999, r26000, r26001, r26002, r26003, r26004, r26005, r26006, r26007, r26008, r26009, r26010, r26011, r26012, r26013, r26014, r26015, r26016, r26017, r26018, r26019, r26020, r26021, r26022, r26023;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(592);
        mpfr_init(r25984);
        mpfr_init(r25985);
        mpfr_init(r25986);
        mpfr_init(r25987);
        mpfr_init(r25988);
        mpfr_init_set_str(r25989, "1.0", 10, MPFR_RNDN);
        mpfr_init(r25990);
        mpfr_init_set_str(r25991, "2", 10, MPFR_RNDN);
        mpfr_init(r25992);
        mpfr_init(r25993);
        mpfr_init(r25994);
        mpfr_init(r25995);
        mpfr_init(r25996);
        mpfr_init_set_str(r25997, "8.450694179047634e+248", 10, MPFR_RNDN);
        mpfr_init(r25998);
        mpfr_init(r25999);
        mpfr_init(r26000);
        mpfr_init(r26001);
        mpfr_init(r26002);
        mpfr_init(r26003);
        mpfr_init(r26004);
        mpfr_init(r26005);
        mpfr_init(r26006);
        mpfr_init(r26007);
        mpfr_init(r26008);
        mpfr_init(r26009);
        mpfr_init(r26010);
        mpfr_init_set_str(r26011, "1", 10, MPFR_RNDN);
        mpfr_init(r26012);
        mpfr_init_set_str(r26013, "2.0", 10, MPFR_RNDN);
        mpfr_init(r26014);
        mpfr_init(r26015);
        mpfr_init(r26016);
        mpfr_init(r26017);
        mpfr_init(r26018);
        mpfr_init(r26019);
        mpfr_init(r26020);
        mpfr_init(r26021);
        mpfr_init(r26022);
        mpfr_init(r26023);
}

double f_fm(double alpha, double beta) {
        mpfr_set_d(r25984, beta, MPFR_RNDN);
        mpfr_set_d(r25985, alpha, MPFR_RNDN);
        mpfr_mul(r25986, r25984, r25985, MPFR_RNDN);
        mpfr_add(r25987, r25984, r25985, MPFR_RNDN);
        mpfr_add(r25988, r25986, r25987, MPFR_RNDN);
        ;
        mpfr_add(r25990, r25988, r25989, MPFR_RNDN);
        ;
        mpfr_add(r25992, r25987, r25991, MPFR_RNDN);
        mpfr_div(r25993, r25990, r25992, MPFR_RNDN);
        mpfr_div(r25994, r25993, r25992, MPFR_RNDN);
        mpfr_add(r25995, r25989, r25992, MPFR_RNDN);
        mpfr_div(r25996, r25994, r25995, MPFR_RNDN);
        ;
        mpfr_set_si(r25998, mpfr_cmp(r25996, r25997) <= 0, MPFR_RNDN);
        mpfr_add(r25999, r25984, r25989, MPFR_RNDN);
        mpfr_fma(r26000, r25985, r25984, r25985, MPFR_RNDN);
        mpfr_add(r26001, r25999, r26000, MPFR_RNDN);
        mpfr_sqrt(r26002, r26001, MPFR_RNDN);
        mpfr_fma(r26003, r25984, r25985, r25985, MPFR_RNDN);
        mpfr_add(r26004, r26003, r25999, MPFR_RNDN);
        mpfr_sqrt(r26005, r26004, MPFR_RNDN);
        mpfr_add(r26006, r25991, r25987, MPFR_RNDN);
        mpfr_div(r26007, r26005, r26006, MPFR_RNDN);
        mpfr_mul(r26008, r26002, r26007, MPFR_RNDN);
        mpfr_div(r26009, r26008, r25992, MPFR_RNDN);
        mpfr_div(r26010, r26009, r25995, MPFR_RNDN);
        ;
        mpfr_div(r26012, r26011, r25985, MPFR_RNDN);
        ;
        mpfr_div(r26014, r26013, r25985, MPFR_RNDN);
        mpfr_sub(r26015, r26014, r25989, MPFR_RNDN);
        mpfr_fma(r26016, r26012, r26015, r26011, MPFR_RNDN);
        mpfr_add(r26017, r25985, r25991, MPFR_RNDN);
        mpfr_add(r26018, r25984, r26017, MPFR_RNDN);
        mpfr_add(r26019, r25989, r25991, MPFR_RNDN);
        mpfr_add(r26020, r25987, r26019, MPFR_RNDN);
        mpfr_mul(r26021, r26018, r26020, MPFR_RNDN);
        mpfr_div(r26022, r26016, r26021, MPFR_RNDN);
        if (mpfr_get_si(r25998, MPFR_RNDN)) { mpfr_set(r26023, r26010, MPFR_RNDN); } else { mpfr_set(r26023, r26022, MPFR_RNDN); };
        return mpfr_get_d(r26023, MPFR_RNDN);
}

static mpfr_t r26024, r26025, r26026, r26027, r26028, r26029, r26030, r26031, r26032, r26033, r26034, r26035, r26036, r26037, r26038, r26039, r26040, r26041, r26042, r26043, r26044, r26045, r26046, r26047, r26048, r26049, r26050, r26051, r26052, r26053, r26054, r26055, r26056, r26057, r26058, r26059, r26060, r26061, r26062, r26063;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(592);
        mpfr_init(r26024);
        mpfr_init(r26025);
        mpfr_init(r26026);
        mpfr_init(r26027);
        mpfr_init(r26028);
        mpfr_init_set_str(r26029, "1.0", 10, MPFR_RNDN);
        mpfr_init(r26030);
        mpfr_init_set_str(r26031, "2", 10, MPFR_RNDN);
        mpfr_init(r26032);
        mpfr_init(r26033);
        mpfr_init(r26034);
        mpfr_init(r26035);
        mpfr_init(r26036);
        mpfr_init_set_str(r26037, "8.450694179047634e+248", 10, MPFR_RNDN);
        mpfr_init(r26038);
        mpfr_init(r26039);
        mpfr_init(r26040);
        mpfr_init(r26041);
        mpfr_init(r26042);
        mpfr_init(r26043);
        mpfr_init(r26044);
        mpfr_init(r26045);
        mpfr_init(r26046);
        mpfr_init(r26047);
        mpfr_init(r26048);
        mpfr_init(r26049);
        mpfr_init(r26050);
        mpfr_init_set_str(r26051, "1", 10, MPFR_RNDN);
        mpfr_init(r26052);
        mpfr_init_set_str(r26053, "2.0", 10, MPFR_RNDN);
        mpfr_init(r26054);
        mpfr_init(r26055);
        mpfr_init(r26056);
        mpfr_init(r26057);
        mpfr_init(r26058);
        mpfr_init(r26059);
        mpfr_init(r26060);
        mpfr_init(r26061);
        mpfr_init(r26062);
        mpfr_init(r26063);
}

double f_dm(double alpha, double beta) {
        mpfr_set_d(r26024, beta, MPFR_RNDN);
        mpfr_set_d(r26025, alpha, MPFR_RNDN);
        mpfr_mul(r26026, r26024, r26025, MPFR_RNDN);
        mpfr_add(r26027, r26024, r26025, MPFR_RNDN);
        mpfr_add(r26028, r26026, r26027, MPFR_RNDN);
        ;
        mpfr_add(r26030, r26028, r26029, MPFR_RNDN);
        ;
        mpfr_add(r26032, r26027, r26031, MPFR_RNDN);
        mpfr_div(r26033, r26030, r26032, MPFR_RNDN);
        mpfr_div(r26034, r26033, r26032, MPFR_RNDN);
        mpfr_add(r26035, r26029, r26032, MPFR_RNDN);
        mpfr_div(r26036, r26034, r26035, MPFR_RNDN);
        ;
        mpfr_set_si(r26038, mpfr_cmp(r26036, r26037) <= 0, MPFR_RNDN);
        mpfr_add(r26039, r26024, r26029, MPFR_RNDN);
        mpfr_fma(r26040, r26025, r26024, r26025, MPFR_RNDN);
        mpfr_add(r26041, r26039, r26040, MPFR_RNDN);
        mpfr_sqrt(r26042, r26041, MPFR_RNDN);
        mpfr_fma(r26043, r26024, r26025, r26025, MPFR_RNDN);
        mpfr_add(r26044, r26043, r26039, MPFR_RNDN);
        mpfr_sqrt(r26045, r26044, MPFR_RNDN);
        mpfr_add(r26046, r26031, r26027, MPFR_RNDN);
        mpfr_div(r26047, r26045, r26046, MPFR_RNDN);
        mpfr_mul(r26048, r26042, r26047, MPFR_RNDN);
        mpfr_div(r26049, r26048, r26032, MPFR_RNDN);
        mpfr_div(r26050, r26049, r26035, MPFR_RNDN);
        ;
        mpfr_div(r26052, r26051, r26025, MPFR_RNDN);
        ;
        mpfr_div(r26054, r26053, r26025, MPFR_RNDN);
        mpfr_sub(r26055, r26054, r26029, MPFR_RNDN);
        mpfr_fma(r26056, r26052, r26055, r26051, MPFR_RNDN);
        mpfr_add(r26057, r26025, r26031, MPFR_RNDN);
        mpfr_add(r26058, r26024, r26057, MPFR_RNDN);
        mpfr_add(r26059, r26029, r26031, MPFR_RNDN);
        mpfr_add(r26060, r26027, r26059, MPFR_RNDN);
        mpfr_mul(r26061, r26058, r26060, MPFR_RNDN);
        mpfr_div(r26062, r26056, r26061, MPFR_RNDN);
        if (mpfr_get_si(r26038, MPFR_RNDN)) { mpfr_set(r26063, r26050, MPFR_RNDN); } else { mpfr_set(r26063, r26062, MPFR_RNDN); };
        return mpfr_get_d(r26063, MPFR_RNDN);
}

