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

char *name = "powComplex, real part";

double f_if(float x_re, float x_im, float y_re, float y_im) {
        float r7786 = x_re;
        float r7787 = r7786 * r7786;
        float r7788 = x_im;
        float r7789 = r7788 * r7788;
        float r7790 = r7787 + r7789;
        float r7791 = sqrt(r7790);
        float r7792 = log(r7791);
        float r7793 = y_re;
        float r7794 = r7792 * r7793;
        float r7795 = atan2(r7788, r7786);
        float r7796 = y_im;
        float r7797 = r7795 * r7796;
        float r7798 = r7794 - r7797;
        float r7799 = exp(r7798);
        float r7800 = r7792 * r7796;
        float r7801 = r7795 * r7793;
        float r7802 = r7800 + r7801;
        float r7803 = cos(r7802);
        float r7804 = r7799 * r7803;
        return r7804;
}

double f_id(double x_re, double x_im, double y_re, double y_im) {
        double r7805 = x_re;
        double r7806 = r7805 * r7805;
        double r7807 = x_im;
        double r7808 = r7807 * r7807;
        double r7809 = r7806 + r7808;
        double r7810 = sqrt(r7809);
        double r7811 = log(r7810);
        double r7812 = y_re;
        double r7813 = r7811 * r7812;
        double r7814 = atan2(r7807, r7805);
        double r7815 = y_im;
        double r7816 = r7814 * r7815;
        double r7817 = r7813 - r7816;
        double r7818 = exp(r7817);
        double r7819 = r7811 * r7815;
        double r7820 = r7814 * r7812;
        double r7821 = r7819 + r7820;
        double r7822 = cos(r7821);
        double r7823 = r7818 * r7822;
        return r7823;
}


double f_of(float x_re, float x_im, float y_re, float y_im) {
        float r7824 = x_re;
        float r7825 = -9.587737600049712e+131;
        bool r7826 = r7824 <= r7825;
        float r7827 = -r7824;
        float r7828 = y_re;
        float r7829 = pow(r7827, r7828);
        float r7830 = y_im;
        float r7831 = exp(r7830);
        float r7832 = x_im;
        float r7833 = atan2(r7832, r7824);
        float r7834 = pow(r7831, r7833);
        float r7835 = r7829 / r7834;
        float r7836 = cbrt(r7835);
        float r7837 = r7836 * r7836;
        float r7838 = r7833 * r7830;
        float r7839 = 1/2;
        float r7840 = 2;
        float r7841 = pow(r7833, r7840);
        float r7842 = pow(r7830, r7840);
        float r7843 = r7841 * r7842;
        float r7844 = r7839 * r7843;
        float r7845 = 1;
        float r7846 = r7844 + r7845;
        float r7847 = r7838 + r7846;
        float r7848 = r7829 / r7847;
        float r7849 = cbrt(r7848);
        float r7850 = r7837 * r7849;
        float r7851 = -9.528397543937879e-79;
        bool r7852 = r7824 <= r7851;
        float r7853 = r7824 * r7824;
        float r7854 = r7832 * r7832;
        float r7855 = r7853 + r7854;
        float r7856 = sqrt(r7855);
        float r7857 = log(r7856);
        float r7858 = r7857 * r7828;
        float r7859 = r7858 - r7838;
        float r7860 = exp(r7859);
        float r7861 = r7828 * r7833;
        float r7862 = -1;
        float r7863 = r7862 / r7824;
        float r7864 = log(r7863);
        float r7865 = r7864 * r7830;
        float r7866 = r7861 - r7865;
        float r7867 = cos(r7866);
        float r7868 = r7860 * r7867;
        float r7869 = 2.20165564976506e-310;
        bool r7870 = r7824 <= r7869;
        float r7871 = 1.4828000225841304e-136;
        bool r7872 = r7824 <= r7871;
        float r7873 = 1.7242911125239578e+17;
        bool r7874 = r7824 <= r7873;
        float r7875 = !r7874;
        bool r7876 = r7872 || r7875;
        float r7877 = pow(r7824, r7828);
        float r7878 = r7877 / r7834;
        float r7879 = log(r7824);
        float r7880 = r7830 * r7879;
        float r7881 = r7861 + r7880;
        float r7882 = cos(r7881);
        float r7883 = r7860 * r7882;
        float r7884 = r7876 ? r7878 : r7883;
        float r7885 = r7870 ? r7850 : r7884;
        float r7886 = r7852 ? r7868 : r7885;
        float r7887 = r7826 ? r7850 : r7886;
        return r7887;
}

double f_od(double x_re, double x_im, double y_re, double y_im) {
        double r7888 = x_re;
        double r7889 = -9.587737600049712e+131;
        bool r7890 = r7888 <= r7889;
        double r7891 = -r7888;
        double r7892 = y_re;
        double r7893 = pow(r7891, r7892);
        double r7894 = y_im;
        double r7895 = exp(r7894);
        double r7896 = x_im;
        double r7897 = atan2(r7896, r7888);
        double r7898 = pow(r7895, r7897);
        double r7899 = r7893 / r7898;
        double r7900 = cbrt(r7899);
        double r7901 = r7900 * r7900;
        double r7902 = r7897 * r7894;
        double r7903 = 1/2;
        double r7904 = 2;
        double r7905 = pow(r7897, r7904);
        double r7906 = pow(r7894, r7904);
        double r7907 = r7905 * r7906;
        double r7908 = r7903 * r7907;
        double r7909 = 1;
        double r7910 = r7908 + r7909;
        double r7911 = r7902 + r7910;
        double r7912 = r7893 / r7911;
        double r7913 = cbrt(r7912);
        double r7914 = r7901 * r7913;
        double r7915 = -9.528397543937879e-79;
        bool r7916 = r7888 <= r7915;
        double r7917 = r7888 * r7888;
        double r7918 = r7896 * r7896;
        double r7919 = r7917 + r7918;
        double r7920 = sqrt(r7919);
        double r7921 = log(r7920);
        double r7922 = r7921 * r7892;
        double r7923 = r7922 - r7902;
        double r7924 = exp(r7923);
        double r7925 = r7892 * r7897;
        double r7926 = -1;
        double r7927 = r7926 / r7888;
        double r7928 = log(r7927);
        double r7929 = r7928 * r7894;
        double r7930 = r7925 - r7929;
        double r7931 = cos(r7930);
        double r7932 = r7924 * r7931;
        double r7933 = 2.20165564976506e-310;
        bool r7934 = r7888 <= r7933;
        double r7935 = 1.4828000225841304e-136;
        bool r7936 = r7888 <= r7935;
        double r7937 = 1.7242911125239578e+17;
        bool r7938 = r7888 <= r7937;
        double r7939 = !r7938;
        bool r7940 = r7936 || r7939;
        double r7941 = pow(r7888, r7892);
        double r7942 = r7941 / r7898;
        double r7943 = log(r7888);
        double r7944 = r7894 * r7943;
        double r7945 = r7925 + r7944;
        double r7946 = cos(r7945);
        double r7947 = r7924 * r7946;
        double r7948 = r7940 ? r7942 : r7947;
        double r7949 = r7934 ? r7914 : r7948;
        double r7950 = r7916 ? r7932 : r7949;
        double r7951 = r7890 ? r7914 : r7950;
        return r7951;
}

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 r7952, r7953, r7954, r7955, r7956, r7957, r7958, r7959, r7960, r7961, r7962, r7963, r7964, r7965, r7966, r7967, r7968, r7969, r7970;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(1616);
        mpfr_init(r7952);
        mpfr_init(r7953);
        mpfr_init(r7954);
        mpfr_init(r7955);
        mpfr_init(r7956);
        mpfr_init(r7957);
        mpfr_init(r7958);
        mpfr_init(r7959);
        mpfr_init(r7960);
        mpfr_init(r7961);
        mpfr_init(r7962);
        mpfr_init(r7963);
        mpfr_init(r7964);
        mpfr_init(r7965);
        mpfr_init(r7966);
        mpfr_init(r7967);
        mpfr_init(r7968);
        mpfr_init(r7969);
        mpfr_init(r7970);
}

double f_im(double x_re, double x_im, double y_re, double y_im) {
        mpfr_set_d(r7952, x_re, MPFR_RNDN);
        mpfr_mul(r7953, r7952, r7952, MPFR_RNDN);
        mpfr_set_d(r7954, x_im, MPFR_RNDN);
        mpfr_mul(r7955, r7954, r7954, MPFR_RNDN);
        mpfr_add(r7956, r7953, r7955, MPFR_RNDN);
        mpfr_sqrt(r7957, r7956, MPFR_RNDN);
        mpfr_log(r7958, r7957, MPFR_RNDN);
        mpfr_set_d(r7959, y_re, MPFR_RNDN);
        mpfr_mul(r7960, r7958, r7959, MPFR_RNDN);
        mpfr_atan2(r7961, r7954, r7952, MPFR_RNDN);
        mpfr_set_d(r7962, y_im, MPFR_RNDN);
        mpfr_mul(r7963, r7961, r7962, MPFR_RNDN);
        mpfr_sub(r7964, r7960, r7963, MPFR_RNDN);
        mpfr_exp(r7965, r7964, MPFR_RNDN);
        mpfr_mul(r7966, r7958, r7962, MPFR_RNDN);
        mpfr_mul(r7967, r7961, r7959, MPFR_RNDN);
        mpfr_add(r7968, r7966, r7967, MPFR_RNDN);
        mpfr_cos(r7969, r7968, MPFR_RNDN);
        mpfr_mul(r7970, r7965, r7969, MPFR_RNDN);
        return mpfr_get_d(r7970, MPFR_RNDN);
}

static mpfr_t r7971, r7972, r7973, r7974, r7975, r7976, r7977, r7978, r7979, r7980, r7981, r7982, r7983, r7984, r7985, r7986, r7987, r7988, r7989, r7990, r7991, r7992, r7993, r7994, r7995, r7996, r7997, r7998, r7999, r8000, r8001, r8002, r8003, r8004, r8005, r8006, r8007, r8008, r8009, r8010, r8011, r8012, r8013, r8014, r8015, r8016, r8017, r8018, r8019, r8020, r8021, r8022, r8023, r8024, r8025, r8026, r8027, r8028, r8029, r8030, r8031, r8032, r8033, r8034;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(1616);
        mpfr_init(r7971);
        mpfr_init_set_str(r7972, "-9.587737600049712e+131", 10, MPFR_RNDN);
        mpfr_init(r7973);
        mpfr_init(r7974);
        mpfr_init(r7975);
        mpfr_init(r7976);
        mpfr_init(r7977);
        mpfr_init(r7978);
        mpfr_init(r7979);
        mpfr_init(r7980);
        mpfr_init(r7981);
        mpfr_init(r7982);
        mpfr_init(r7983);
        mpfr_init(r7984);
        mpfr_init(r7985);
        mpfr_init_set_str(r7986, "1/2", 10, MPFR_RNDN);
        mpfr_init_set_str(r7987, "2", 10, MPFR_RNDN);
        mpfr_init(r7988);
        mpfr_init(r7989);
        mpfr_init(r7990);
        mpfr_init(r7991);
        mpfr_init_set_str(r7992, "1", 10, MPFR_RNDN);
        mpfr_init(r7993);
        mpfr_init(r7994);
        mpfr_init(r7995);
        mpfr_init(r7996);
        mpfr_init(r7997);
        mpfr_init_set_str(r7998, "-9.528397543937879e-79", 10, MPFR_RNDN);
        mpfr_init(r7999);
        mpfr_init(r8000);
        mpfr_init(r8001);
        mpfr_init(r8002);
        mpfr_init(r8003);
        mpfr_init(r8004);
        mpfr_init(r8005);
        mpfr_init(r8006);
        mpfr_init(r8007);
        mpfr_init(r8008);
        mpfr_init_set_str(r8009, "-1", 10, MPFR_RNDN);
        mpfr_init(r8010);
        mpfr_init(r8011);
        mpfr_init(r8012);
        mpfr_init(r8013);
        mpfr_init(r8014);
        mpfr_init(r8015);
        mpfr_init_set_str(r8016, "2.20165564976506e-310", 10, MPFR_RNDN);
        mpfr_init(r8017);
        mpfr_init_set_str(r8018, "1.4828000225841304e-136", 10, MPFR_RNDN);
        mpfr_init(r8019);
        mpfr_init_set_str(r8020, "1.7242911125239578e+17", 10, MPFR_RNDN);
        mpfr_init(r8021);
        mpfr_init(r8022);
        mpfr_init(r8023);
        mpfr_init(r8024);
        mpfr_init(r8025);
        mpfr_init(r8026);
        mpfr_init(r8027);
        mpfr_init(r8028);
        mpfr_init(r8029);
        mpfr_init(r8030);
        mpfr_init(r8031);
        mpfr_init(r8032);
        mpfr_init(r8033);
        mpfr_init(r8034);
}

double f_fm(double x_re, double x_im, double y_re, double y_im) {
        mpfr_set_d(r7971, x_re, MPFR_RNDN);
        ;
        mpfr_set_si(r7973, mpfr_cmp(r7971, r7972) <= 0, MPFR_RNDN);
        mpfr_neg(r7974, r7971, MPFR_RNDN);
        mpfr_set_d(r7975, y_re, MPFR_RNDN);
        mpfr_pow(r7976, r7974, r7975, MPFR_RNDN);
        mpfr_set_d(r7977, y_im, MPFR_RNDN);
        mpfr_exp(r7978, r7977, MPFR_RNDN);
        mpfr_set_d(r7979, x_im, MPFR_RNDN);
        mpfr_atan2(r7980, r7979, r7971, MPFR_RNDN);
        mpfr_pow(r7981, r7978, r7980, MPFR_RNDN);
        mpfr_div(r7982, r7976, r7981, MPFR_RNDN);
        mpfr_cbrt(r7983, r7982, MPFR_RNDN);
        mpfr_mul(r7984, r7983, r7983, MPFR_RNDN);
        mpfr_mul(r7985, r7980, r7977, MPFR_RNDN);
        ;
        ;
        mpfr_pow(r7988, r7980, r7987, MPFR_RNDN);
        mpfr_pow(r7989, r7977, r7987, MPFR_RNDN);
        mpfr_mul(r7990, r7988, r7989, MPFR_RNDN);
        mpfr_mul(r7991, r7986, r7990, MPFR_RNDN);
        ;
        mpfr_add(r7993, r7991, r7992, MPFR_RNDN);
        mpfr_add(r7994, r7985, r7993, MPFR_RNDN);
        mpfr_div(r7995, r7976, r7994, MPFR_RNDN);
        mpfr_cbrt(r7996, r7995, MPFR_RNDN);
        mpfr_mul(r7997, r7984, r7996, MPFR_RNDN);
        ;
        mpfr_set_si(r7999, mpfr_cmp(r7971, r7998) <= 0, MPFR_RNDN);
        mpfr_mul(r8000, r7971, r7971, MPFR_RNDN);
        mpfr_mul(r8001, r7979, r7979, MPFR_RNDN);
        mpfr_add(r8002, r8000, r8001, MPFR_RNDN);
        mpfr_sqrt(r8003, r8002, MPFR_RNDN);
        mpfr_log(r8004, r8003, MPFR_RNDN);
        mpfr_mul(r8005, r8004, r7975, MPFR_RNDN);
        mpfr_sub(r8006, r8005, r7985, MPFR_RNDN);
        mpfr_exp(r8007, r8006, MPFR_RNDN);
        mpfr_mul(r8008, r7975, r7980, MPFR_RNDN);
        ;
        mpfr_div(r8010, r8009, r7971, MPFR_RNDN);
        mpfr_log(r8011, r8010, MPFR_RNDN);
        mpfr_mul(r8012, r8011, r7977, MPFR_RNDN);
        mpfr_sub(r8013, r8008, r8012, MPFR_RNDN);
        mpfr_cos(r8014, r8013, MPFR_RNDN);
        mpfr_mul(r8015, r8007, r8014, MPFR_RNDN);
        ;
        mpfr_set_si(r8017, mpfr_cmp(r7971, r8016) <= 0, MPFR_RNDN);
        ;
        mpfr_set_si(r8019, mpfr_cmp(r7971, r8018) <= 0, MPFR_RNDN);
        ;
        mpfr_set_si(r8021, mpfr_cmp(r7971, r8020) <= 0, MPFR_RNDN);
        mpfr_set_si(r8022, !mpfr_get_si(r8021, MPFR_RNDN), MPFR_RNDN);
        mpfr_set_si(r8023, mpfr_get_si(r8019, MPFR_RNDN) || mpfr_get_si(r8022, MPFR_RNDN), MPFR_RNDN);
        mpfr_pow(r8024, r7971, r7975, MPFR_RNDN);
        mpfr_div(r8025, r8024, r7981, MPFR_RNDN);
        mpfr_log(r8026, r7971, MPFR_RNDN);
        mpfr_mul(r8027, r7977, r8026, MPFR_RNDN);
        mpfr_add(r8028, r8008, r8027, MPFR_RNDN);
        mpfr_cos(r8029, r8028, MPFR_RNDN);
        mpfr_mul(r8030, r8007, r8029, MPFR_RNDN);
        if (mpfr_get_si(r8023, MPFR_RNDN)) { mpfr_set(r8031, r8025, MPFR_RNDN); } else { mpfr_set(r8031, r8030, MPFR_RNDN); };
        if (mpfr_get_si(r8017, MPFR_RNDN)) { mpfr_set(r8032, r7997, MPFR_RNDN); } else { mpfr_set(r8032, r8031, MPFR_RNDN); };
        if (mpfr_get_si(r7999, MPFR_RNDN)) { mpfr_set(r8033, r8015, MPFR_RNDN); } else { mpfr_set(r8033, r8032, MPFR_RNDN); };
        if (mpfr_get_si(r7973, MPFR_RNDN)) { mpfr_set(r8034, r7997, MPFR_RNDN); } else { mpfr_set(r8034, r8033, MPFR_RNDN); };
        return mpfr_get_d(r8034, MPFR_RNDN);
}

static mpfr_t r8035, r8036, r8037, r8038, r8039, r8040, r8041, r8042, r8043, r8044, r8045, r8046, r8047, r8048, r8049, r8050, r8051, r8052, r8053, r8054, r8055, r8056, r8057, r8058, r8059, r8060, r8061, r8062, r8063, r8064, r8065, r8066, r8067, r8068, r8069, r8070, r8071, r8072, r8073, r8074, r8075, r8076, r8077, r8078, r8079, r8080, r8081, r8082, r8083, r8084, r8085, r8086, r8087, r8088, r8089, r8090, r8091, r8092, r8093, r8094, r8095, r8096, r8097, r8098;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(1616);
        mpfr_init(r8035);
        mpfr_init_set_str(r8036, "-9.587737600049712e+131", 10, MPFR_RNDN);
        mpfr_init(r8037);
        mpfr_init(r8038);
        mpfr_init(r8039);
        mpfr_init(r8040);
        mpfr_init(r8041);
        mpfr_init(r8042);
        mpfr_init(r8043);
        mpfr_init(r8044);
        mpfr_init(r8045);
        mpfr_init(r8046);
        mpfr_init(r8047);
        mpfr_init(r8048);
        mpfr_init(r8049);
        mpfr_init_set_str(r8050, "1/2", 10, MPFR_RNDN);
        mpfr_init_set_str(r8051, "2", 10, MPFR_RNDN);
        mpfr_init(r8052);
        mpfr_init(r8053);
        mpfr_init(r8054);
        mpfr_init(r8055);
        mpfr_init_set_str(r8056, "1", 10, MPFR_RNDN);
        mpfr_init(r8057);
        mpfr_init(r8058);
        mpfr_init(r8059);
        mpfr_init(r8060);
        mpfr_init(r8061);
        mpfr_init_set_str(r8062, "-9.528397543937879e-79", 10, MPFR_RNDN);
        mpfr_init(r8063);
        mpfr_init(r8064);
        mpfr_init(r8065);
        mpfr_init(r8066);
        mpfr_init(r8067);
        mpfr_init(r8068);
        mpfr_init(r8069);
        mpfr_init(r8070);
        mpfr_init(r8071);
        mpfr_init(r8072);
        mpfr_init_set_str(r8073, "-1", 10, MPFR_RNDN);
        mpfr_init(r8074);
        mpfr_init(r8075);
        mpfr_init(r8076);
        mpfr_init(r8077);
        mpfr_init(r8078);
        mpfr_init(r8079);
        mpfr_init_set_str(r8080, "2.20165564976506e-310", 10, MPFR_RNDN);
        mpfr_init(r8081);
        mpfr_init_set_str(r8082, "1.4828000225841304e-136", 10, MPFR_RNDN);
        mpfr_init(r8083);
        mpfr_init_set_str(r8084, "1.7242911125239578e+17", 10, MPFR_RNDN);
        mpfr_init(r8085);
        mpfr_init(r8086);
        mpfr_init(r8087);
        mpfr_init(r8088);
        mpfr_init(r8089);
        mpfr_init(r8090);
        mpfr_init(r8091);
        mpfr_init(r8092);
        mpfr_init(r8093);
        mpfr_init(r8094);
        mpfr_init(r8095);
        mpfr_init(r8096);
        mpfr_init(r8097);
        mpfr_init(r8098);
}

double f_dm(double x_re, double x_im, double y_re, double y_im) {
        mpfr_set_d(r8035, x_re, MPFR_RNDN);
        ;
        mpfr_set_si(r8037, mpfr_cmp(r8035, r8036) <= 0, MPFR_RNDN);
        mpfr_neg(r8038, r8035, MPFR_RNDN);
        mpfr_set_d(r8039, y_re, MPFR_RNDN);
        mpfr_pow(r8040, r8038, r8039, MPFR_RNDN);
        mpfr_set_d(r8041, y_im, MPFR_RNDN);
        mpfr_exp(r8042, r8041, MPFR_RNDN);
        mpfr_set_d(r8043, x_im, MPFR_RNDN);
        mpfr_atan2(r8044, r8043, r8035, MPFR_RNDN);
        mpfr_pow(r8045, r8042, r8044, MPFR_RNDN);
        mpfr_div(r8046, r8040, r8045, MPFR_RNDN);
        mpfr_cbrt(r8047, r8046, MPFR_RNDN);
        mpfr_mul(r8048, r8047, r8047, MPFR_RNDN);
        mpfr_mul(r8049, r8044, r8041, MPFR_RNDN);
        ;
        ;
        mpfr_pow(r8052, r8044, r8051, MPFR_RNDN);
        mpfr_pow(r8053, r8041, r8051, MPFR_RNDN);
        mpfr_mul(r8054, r8052, r8053, MPFR_RNDN);
        mpfr_mul(r8055, r8050, r8054, MPFR_RNDN);
        ;
        mpfr_add(r8057, r8055, r8056, MPFR_RNDN);
        mpfr_add(r8058, r8049, r8057, MPFR_RNDN);
        mpfr_div(r8059, r8040, r8058, MPFR_RNDN);
        mpfr_cbrt(r8060, r8059, MPFR_RNDN);
        mpfr_mul(r8061, r8048, r8060, MPFR_RNDN);
        ;
        mpfr_set_si(r8063, mpfr_cmp(r8035, r8062) <= 0, MPFR_RNDN);
        mpfr_mul(r8064, r8035, r8035, MPFR_RNDN);
        mpfr_mul(r8065, r8043, r8043, MPFR_RNDN);
        mpfr_add(r8066, r8064, r8065, MPFR_RNDN);
        mpfr_sqrt(r8067, r8066, MPFR_RNDN);
        mpfr_log(r8068, r8067, MPFR_RNDN);
        mpfr_mul(r8069, r8068, r8039, MPFR_RNDN);
        mpfr_sub(r8070, r8069, r8049, MPFR_RNDN);
        mpfr_exp(r8071, r8070, MPFR_RNDN);
        mpfr_mul(r8072, r8039, r8044, MPFR_RNDN);
        ;
        mpfr_div(r8074, r8073, r8035, MPFR_RNDN);
        mpfr_log(r8075, r8074, MPFR_RNDN);
        mpfr_mul(r8076, r8075, r8041, MPFR_RNDN);
        mpfr_sub(r8077, r8072, r8076, MPFR_RNDN);
        mpfr_cos(r8078, r8077, MPFR_RNDN);
        mpfr_mul(r8079, r8071, r8078, MPFR_RNDN);
        ;
        mpfr_set_si(r8081, mpfr_cmp(r8035, r8080) <= 0, MPFR_RNDN);
        ;
        mpfr_set_si(r8083, mpfr_cmp(r8035, r8082) <= 0, MPFR_RNDN);
        ;
        mpfr_set_si(r8085, mpfr_cmp(r8035, r8084) <= 0, MPFR_RNDN);
        mpfr_set_si(r8086, !mpfr_get_si(r8085, MPFR_RNDN), MPFR_RNDN);
        mpfr_set_si(r8087, mpfr_get_si(r8083, MPFR_RNDN) || mpfr_get_si(r8086, MPFR_RNDN), MPFR_RNDN);
        mpfr_pow(r8088, r8035, r8039, MPFR_RNDN);
        mpfr_div(r8089, r8088, r8045, MPFR_RNDN);
        mpfr_log(r8090, r8035, MPFR_RNDN);
        mpfr_mul(r8091, r8041, r8090, MPFR_RNDN);
        mpfr_add(r8092, r8072, r8091, MPFR_RNDN);
        mpfr_cos(r8093, r8092, MPFR_RNDN);
        mpfr_mul(r8094, r8071, r8093, MPFR_RNDN);
        if (mpfr_get_si(r8087, MPFR_RNDN)) { mpfr_set(r8095, r8089, MPFR_RNDN); } else { mpfr_set(r8095, r8094, MPFR_RNDN); };
        if (mpfr_get_si(r8081, MPFR_RNDN)) { mpfr_set(r8096, r8061, MPFR_RNDN); } else { mpfr_set(r8096, r8095, MPFR_RNDN); };
        if (mpfr_get_si(r8063, MPFR_RNDN)) { mpfr_set(r8097, r8079, MPFR_RNDN); } else { mpfr_set(r8097, r8096, MPFR_RNDN); };
        if (mpfr_get_si(r8037, MPFR_RNDN)) { mpfr_set(r8098, r8061, MPFR_RNDN); } else { mpfr_set(r8098, r8097, MPFR_RNDN); };
        return mpfr_get_d(r8098, MPFR_RNDN);
}

