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

char *name = "Toniolo and Linder, Equation (7)";

double f_if(float x, float l, float t) {
        float r7923 = 2.0f;
        float r7924 = sqrt(r7923);
        float r7925 = t;
        float r7926 = r7924 * r7925;
        float r7927 = x;
        float r7928 = 1.0f;
        float r7929 = r7927 + r7928;
        float r7930 = r7927 - r7928;
        float r7931 = r7929 / r7930;
        float r7932 = l;
        float r7933 = r7932 * r7932;
        float r7934 = r7925 * r7925;
        float r7935 = r7923 * r7934;
        float r7936 = r7933 + r7935;
        float r7937 = r7931 * r7936;
        float r7938 = r7937 - r7933;
        float r7939 = sqrt(r7938);
        float r7940 = r7926 / r7939;
        return r7940;
}

double f_id(double x, double l, double t) {
        double r7941 = 2.0;
        double r7942 = sqrt(r7941);
        double r7943 = t;
        double r7944 = r7942 * r7943;
        double r7945 = x;
        double r7946 = 1.0;
        double r7947 = r7945 + r7946;
        double r7948 = r7945 - r7946;
        double r7949 = r7947 / r7948;
        double r7950 = l;
        double r7951 = r7950 * r7950;
        double r7952 = r7943 * r7943;
        double r7953 = r7941 * r7952;
        double r7954 = r7951 + r7953;
        double r7955 = r7949 * r7954;
        double r7956 = r7955 - r7951;
        double r7957 = sqrt(r7956);
        double r7958 = r7944 / r7957;
        return r7958;
}


double f_of(float x, float l, float t) {
        float r7959 = t;
        float r7960 = -2.2101802612850843e+48f;
        bool r7961 = r7959 <= r7960;
        float r7962 = 2.0f;
        float r7963 = sqrt(r7962);
        float r7964 = r7963 * r7959;
        float r7965 = 1.0f;
        float r7966 = r7965 - r7962;
        float r7967 = x;
        float r7968 = r7967 * r7967;
        float r7969 = r7968 * r7963;
        float r7970 = r7959 / r7969;
        float r7971 = r7966 * r7970;
        float r7972 = r7962 / r7967;
        float r7973 = r7972 / r7963;
        float r7974 = r7963 + r7973;
        float r7975 = r7974 * r7959;
        float r7976 = r7971 - r7975;
        float r7977 = r7964 / r7976;
        float r7978 = -7.784042218872189e-205f;
        bool r7979 = r7959 <= r7978;
        float r7980 = 4.0f;
        float r7981 = r7980 / r7967;
        float r7982 = r7962 + r7981;
        float r7983 = r7959 * r7959;
        float r7984 = r7982 * r7983;
        float r7985 = l;
        float r7986 = r7985 * r7962;
        float r7987 = r7985 / r7967;
        float r7988 = r7986 * r7987;
        float r7989 = r7984 + r7988;
        float r7990 = sqrt(r7989);
        float r7991 = r7964 / r7990;
        float r7992 = -3.4129710227704976e-251f;
        bool r7993 = r7959 <= r7992;
        float r7994 = 9.210517229252637e-280f;
        bool r7995 = r7959 <= r7994;
        float r7996 = 1.1694712269704098e-182f;
        bool r7997 = r7959 <= r7996;
        float r7998 = r7962 - r7981;
        float r7999 = r7986 * r7985;
        float r8000 = r7959 * r7967;
        float r8001 = r7959 * r8000;
        float r8002 = r8001 * r7982;
        float r8003 = r7999 + r8002;
        float r8004 = r7998 * r8003;
        float r8005 = sqrt(r8004);
        float r8006 = r7998 * r7967;
        float r8007 = sqrt(r8006);
        float r8008 = r8005 / r8007;
        float r8009 = r7964 / r8008;
        float r8010 = 1.2398920953191647e+123f;
        bool r8011 = r7959 <= r8010;
        float r8012 = r7959 / r7963;
        float r8013 = r8012 / r7968;
        float r8014 = r7962 - r7965;
        float r8015 = r8013 * r8014;
        float r8016 = r7975 + r8015;
        float r8017 = r7964 / r8016;
        float r8018 = r8011 ? r7991 : r8017;
        float r8019 = r7997 ? r8009 : r8018;
        float r8020 = r7995 ? r7991 : r8019;
        float r8021 = r7993 ? r7977 : r8020;
        float r8022 = r7979 ? r7991 : r8021;
        float r8023 = r7961 ? r7977 : r8022;
        return r8023;
}

double f_od(double x, double l, double t) {
        double r8024 = t;
        double r8025 = -2.2101802612850843e+48;
        bool r8026 = r8024 <= r8025;
        double r8027 = 2.0;
        double r8028 = sqrt(r8027);
        double r8029 = r8028 * r8024;
        double r8030 = 1.0;
        double r8031 = r8030 - r8027;
        double r8032 = x;
        double r8033 = r8032 * r8032;
        double r8034 = r8033 * r8028;
        double r8035 = r8024 / r8034;
        double r8036 = r8031 * r8035;
        double r8037 = r8027 / r8032;
        double r8038 = r8037 / r8028;
        double r8039 = r8028 + r8038;
        double r8040 = r8039 * r8024;
        double r8041 = r8036 - r8040;
        double r8042 = r8029 / r8041;
        double r8043 = -7.784042218872189e-205;
        bool r8044 = r8024 <= r8043;
        double r8045 = 4.0;
        double r8046 = r8045 / r8032;
        double r8047 = r8027 + r8046;
        double r8048 = r8024 * r8024;
        double r8049 = r8047 * r8048;
        double r8050 = l;
        double r8051 = r8050 * r8027;
        double r8052 = r8050 / r8032;
        double r8053 = r8051 * r8052;
        double r8054 = r8049 + r8053;
        double r8055 = sqrt(r8054);
        double r8056 = r8029 / r8055;
        double r8057 = -3.4129710227704976e-251;
        bool r8058 = r8024 <= r8057;
        double r8059 = 9.210517229252637e-280;
        bool r8060 = r8024 <= r8059;
        double r8061 = 1.1694712269704098e-182;
        bool r8062 = r8024 <= r8061;
        double r8063 = r8027 - r8046;
        double r8064 = r8051 * r8050;
        double r8065 = r8024 * r8032;
        double r8066 = r8024 * r8065;
        double r8067 = r8066 * r8047;
        double r8068 = r8064 + r8067;
        double r8069 = r8063 * r8068;
        double r8070 = sqrt(r8069);
        double r8071 = r8063 * r8032;
        double r8072 = sqrt(r8071);
        double r8073 = r8070 / r8072;
        double r8074 = r8029 / r8073;
        double r8075 = 1.2398920953191647e+123;
        bool r8076 = r8024 <= r8075;
        double r8077 = r8024 / r8028;
        double r8078 = r8077 / r8033;
        double r8079 = r8027 - r8030;
        double r8080 = r8078 * r8079;
        double r8081 = r8040 + r8080;
        double r8082 = r8029 / r8081;
        double r8083 = r8076 ? r8056 : r8082;
        double r8084 = r8062 ? r8074 : r8083;
        double r8085 = r8060 ? r8056 : r8084;
        double r8086 = r8058 ? r8042 : r8085;
        double r8087 = r8044 ? r8056 : r8086;
        double r8088 = r8026 ? r8042 : r8087;
        return r8088;
}

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 r8089, r8090, r8091, r8092, r8093, r8094, r8095, r8096, r8097, r8098, r8099, r8100, r8101, r8102, r8103, r8104, r8105, r8106;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(1360);
        mpfr_init_set_str(r8089, "2", 10, MPFR_RNDN);
        mpfr_init(r8090);
        mpfr_init(r8091);
        mpfr_init(r8092);
        mpfr_init(r8093);
        mpfr_init_set_str(r8094, "1", 10, MPFR_RNDN);
        mpfr_init(r8095);
        mpfr_init(r8096);
        mpfr_init(r8097);
        mpfr_init(r8098);
        mpfr_init(r8099);
        mpfr_init(r8100);
        mpfr_init(r8101);
        mpfr_init(r8102);
        mpfr_init(r8103);
        mpfr_init(r8104);
        mpfr_init(r8105);
        mpfr_init(r8106);
}

double f_im(double x, double l, double t) {
        ;
        mpfr_sqrt(r8090, r8089, MPFR_RNDN);
        mpfr_set_d(r8091, t, MPFR_RNDN);
        mpfr_mul(r8092, r8090, r8091, MPFR_RNDN);
        mpfr_set_d(r8093, x, MPFR_RNDN);
        ;
        mpfr_add(r8095, r8093, r8094, MPFR_RNDN);
        mpfr_sub(r8096, r8093, r8094, MPFR_RNDN);
        mpfr_div(r8097, r8095, r8096, MPFR_RNDN);
        mpfr_set_d(r8098, l, MPFR_RNDN);
        mpfr_mul(r8099, r8098, r8098, MPFR_RNDN);
        mpfr_mul(r8100, r8091, r8091, MPFR_RNDN);
        mpfr_mul(r8101, r8089, r8100, MPFR_RNDN);
        mpfr_add(r8102, r8099, r8101, MPFR_RNDN);
        mpfr_mul(r8103, r8097, r8102, MPFR_RNDN);
        mpfr_sub(r8104, r8103, r8099, MPFR_RNDN);
        mpfr_sqrt(r8105, r8104, MPFR_RNDN);
        mpfr_div(r8106, r8092, r8105, MPFR_RNDN);
        return mpfr_get_d(r8106, MPFR_RNDN);
}

static mpfr_t r8107, r8108, r8109, r8110, r8111, r8112, r8113, r8114, r8115, r8116, r8117, r8118, r8119, r8120, r8121, r8122, r8123, r8124, r8125, r8126, r8127, r8128, r8129, r8130, r8131, r8132, r8133, r8134, r8135, r8136, r8137, r8138, r8139, r8140, r8141, r8142, r8143, r8144, r8145, r8146, r8147, r8148, r8149, r8150, r8151, r8152, r8153, r8154, r8155, r8156, r8157, r8158, r8159, r8160, r8161, r8162, r8163, r8164, r8165, r8166, r8167, r8168, r8169, r8170, r8171;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(1360);
        mpfr_init(r8107);
        mpfr_init_set_str(r8108, "-2.2101802612850843e+48", 10, MPFR_RNDN);
        mpfr_init(r8109);
        mpfr_init_set_str(r8110, "2", 10, MPFR_RNDN);
        mpfr_init(r8111);
        mpfr_init(r8112);
        mpfr_init_set_str(r8113, "1", 10, MPFR_RNDN);
        mpfr_init(r8114);
        mpfr_init(r8115);
        mpfr_init(r8116);
        mpfr_init(r8117);
        mpfr_init(r8118);
        mpfr_init(r8119);
        mpfr_init(r8120);
        mpfr_init(r8121);
        mpfr_init(r8122);
        mpfr_init(r8123);
        mpfr_init(r8124);
        mpfr_init(r8125);
        mpfr_init_set_str(r8126, "-7.784042218872189e-205", 10, MPFR_RNDN);
        mpfr_init(r8127);
        mpfr_init_set_str(r8128, "4", 10, MPFR_RNDN);
        mpfr_init(r8129);
        mpfr_init(r8130);
        mpfr_init(r8131);
        mpfr_init(r8132);
        mpfr_init(r8133);
        mpfr_init(r8134);
        mpfr_init(r8135);
        mpfr_init(r8136);
        mpfr_init(r8137);
        mpfr_init(r8138);
        mpfr_init(r8139);
        mpfr_init_set_str(r8140, "-3.4129710227704976e-251", 10, MPFR_RNDN);
        mpfr_init(r8141);
        mpfr_init_set_str(r8142, "9.210517229252637e-280", 10, MPFR_RNDN);
        mpfr_init(r8143);
        mpfr_init_set_str(r8144, "1.1694712269704098e-182", 10, MPFR_RNDN);
        mpfr_init(r8145);
        mpfr_init(r8146);
        mpfr_init(r8147);
        mpfr_init(r8148);
        mpfr_init(r8149);
        mpfr_init(r8150);
        mpfr_init(r8151);
        mpfr_init(r8152);
        mpfr_init(r8153);
        mpfr_init(r8154);
        mpfr_init(r8155);
        mpfr_init(r8156);
        mpfr_init(r8157);
        mpfr_init_set_str(r8158, "1.2398920953191647e+123", 10, MPFR_RNDN);
        mpfr_init(r8159);
        mpfr_init(r8160);
        mpfr_init(r8161);
        mpfr_init(r8162);
        mpfr_init(r8163);
        mpfr_init(r8164);
        mpfr_init(r8165);
        mpfr_init(r8166);
        mpfr_init(r8167);
        mpfr_init(r8168);
        mpfr_init(r8169);
        mpfr_init(r8170);
        mpfr_init(r8171);
}

double f_fm(double x, double l, double t) {
        mpfr_set_d(r8107, t, MPFR_RNDN);
        ;
        mpfr_set_si(r8109, mpfr_cmp(r8107, r8108) <= 0, MPFR_RNDN);
        ;
        mpfr_sqrt(r8111, r8110, MPFR_RNDN);
        mpfr_mul(r8112, r8111, r8107, MPFR_RNDN);
        ;
        mpfr_sub(r8114, r8113, r8110, MPFR_RNDN);
        mpfr_set_d(r8115, x, MPFR_RNDN);
        mpfr_mul(r8116, r8115, r8115, MPFR_RNDN);
        mpfr_mul(r8117, r8116, r8111, MPFR_RNDN);
        mpfr_div(r8118, r8107, r8117, MPFR_RNDN);
        mpfr_mul(r8119, r8114, r8118, MPFR_RNDN);
        mpfr_div(r8120, r8110, r8115, MPFR_RNDN);
        mpfr_div(r8121, r8120, r8111, MPFR_RNDN);
        mpfr_add(r8122, r8111, r8121, MPFR_RNDN);
        mpfr_mul(r8123, r8122, r8107, MPFR_RNDN);
        mpfr_sub(r8124, r8119, r8123, MPFR_RNDN);
        mpfr_div(r8125, r8112, r8124, MPFR_RNDN);
        ;
        mpfr_set_si(r8127, mpfr_cmp(r8107, r8126) <= 0, MPFR_RNDN);
        ;
        mpfr_div(r8129, r8128, r8115, MPFR_RNDN);
        mpfr_add(r8130, r8110, r8129, MPFR_RNDN);
        mpfr_mul(r8131, r8107, r8107, MPFR_RNDN);
        mpfr_mul(r8132, r8130, r8131, MPFR_RNDN);
        mpfr_set_d(r8133, l, MPFR_RNDN);
        mpfr_mul(r8134, r8133, r8110, MPFR_RNDN);
        mpfr_div(r8135, r8133, r8115, MPFR_RNDN);
        mpfr_mul(r8136, r8134, r8135, MPFR_RNDN);
        mpfr_add(r8137, r8132, r8136, MPFR_RNDN);
        mpfr_sqrt(r8138, r8137, MPFR_RNDN);
        mpfr_div(r8139, r8112, r8138, MPFR_RNDN);
        ;
        mpfr_set_si(r8141, mpfr_cmp(r8107, r8140) <= 0, MPFR_RNDN);
        ;
        mpfr_set_si(r8143, mpfr_cmp(r8107, r8142) <= 0, MPFR_RNDN);
        ;
        mpfr_set_si(r8145, mpfr_cmp(r8107, r8144) <= 0, MPFR_RNDN);
        mpfr_sub(r8146, r8110, r8129, MPFR_RNDN);
        mpfr_mul(r8147, r8134, r8133, MPFR_RNDN);
        mpfr_mul(r8148, r8107, r8115, MPFR_RNDN);
        mpfr_mul(r8149, r8107, r8148, MPFR_RNDN);
        mpfr_mul(r8150, r8149, r8130, MPFR_RNDN);
        mpfr_add(r8151, r8147, r8150, MPFR_RNDN);
        mpfr_mul(r8152, r8146, r8151, MPFR_RNDN);
        mpfr_sqrt(r8153, r8152, MPFR_RNDN);
        mpfr_mul(r8154, r8146, r8115, MPFR_RNDN);
        mpfr_sqrt(r8155, r8154, MPFR_RNDN);
        mpfr_div(r8156, r8153, r8155, MPFR_RNDN);
        mpfr_div(r8157, r8112, r8156, MPFR_RNDN);
        ;
        mpfr_set_si(r8159, mpfr_cmp(r8107, r8158) <= 0, MPFR_RNDN);
        mpfr_div(r8160, r8107, r8111, MPFR_RNDN);
        mpfr_div(r8161, r8160, r8116, MPFR_RNDN);
        mpfr_sub(r8162, r8110, r8113, MPFR_RNDN);
        mpfr_mul(r8163, r8161, r8162, MPFR_RNDN);
        mpfr_add(r8164, r8123, r8163, MPFR_RNDN);
        mpfr_div(r8165, r8112, r8164, MPFR_RNDN);
        if (mpfr_get_si(r8159, MPFR_RNDN)) { mpfr_set(r8166, r8139, MPFR_RNDN); } else { mpfr_set(r8166, r8165, MPFR_RNDN); };
        if (mpfr_get_si(r8145, MPFR_RNDN)) { mpfr_set(r8167, r8157, MPFR_RNDN); } else { mpfr_set(r8167, r8166, MPFR_RNDN); };
        if (mpfr_get_si(r8143, MPFR_RNDN)) { mpfr_set(r8168, r8139, MPFR_RNDN); } else { mpfr_set(r8168, r8167, MPFR_RNDN); };
        if (mpfr_get_si(r8141, MPFR_RNDN)) { mpfr_set(r8169, r8125, MPFR_RNDN); } else { mpfr_set(r8169, r8168, MPFR_RNDN); };
        if (mpfr_get_si(r8127, MPFR_RNDN)) { mpfr_set(r8170, r8139, MPFR_RNDN); } else { mpfr_set(r8170, r8169, MPFR_RNDN); };
        if (mpfr_get_si(r8109, MPFR_RNDN)) { mpfr_set(r8171, r8125, MPFR_RNDN); } else { mpfr_set(r8171, r8170, MPFR_RNDN); };
        return mpfr_get_d(r8171, MPFR_RNDN);
}

static mpfr_t r8172, r8173, r8174, r8175, r8176, r8177, r8178, r8179, r8180, r8181, r8182, r8183, r8184, r8185, r8186, r8187, r8188, r8189, r8190, r8191, r8192, r8193, r8194, r8195, r8196, r8197, r8198, r8199, r8200, r8201, r8202, r8203, r8204, r8205, r8206, r8207, r8208, r8209, r8210, r8211, r8212, r8213, r8214, r8215, r8216, r8217, r8218, r8219, r8220, r8221, r8222, r8223, r8224, r8225, r8226, r8227, r8228, r8229, r8230, r8231, r8232, r8233, r8234, r8235, r8236;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(1360);
        mpfr_init(r8172);
        mpfr_init_set_str(r8173, "-2.2101802612850843e+48", 10, MPFR_RNDN);
        mpfr_init(r8174);
        mpfr_init_set_str(r8175, "2", 10, MPFR_RNDN);
        mpfr_init(r8176);
        mpfr_init(r8177);
        mpfr_init_set_str(r8178, "1", 10, MPFR_RNDN);
        mpfr_init(r8179);
        mpfr_init(r8180);
        mpfr_init(r8181);
        mpfr_init(r8182);
        mpfr_init(r8183);
        mpfr_init(r8184);
        mpfr_init(r8185);
        mpfr_init(r8186);
        mpfr_init(r8187);
        mpfr_init(r8188);
        mpfr_init(r8189);
        mpfr_init(r8190);
        mpfr_init_set_str(r8191, "-7.784042218872189e-205", 10, MPFR_RNDN);
        mpfr_init(r8192);
        mpfr_init_set_str(r8193, "4", 10, MPFR_RNDN);
        mpfr_init(r8194);
        mpfr_init(r8195);
        mpfr_init(r8196);
        mpfr_init(r8197);
        mpfr_init(r8198);
        mpfr_init(r8199);
        mpfr_init(r8200);
        mpfr_init(r8201);
        mpfr_init(r8202);
        mpfr_init(r8203);
        mpfr_init(r8204);
        mpfr_init_set_str(r8205, "-3.4129710227704976e-251", 10, MPFR_RNDN);
        mpfr_init(r8206);
        mpfr_init_set_str(r8207, "9.210517229252637e-280", 10, MPFR_RNDN);
        mpfr_init(r8208);
        mpfr_init_set_str(r8209, "1.1694712269704098e-182", 10, MPFR_RNDN);
        mpfr_init(r8210);
        mpfr_init(r8211);
        mpfr_init(r8212);
        mpfr_init(r8213);
        mpfr_init(r8214);
        mpfr_init(r8215);
        mpfr_init(r8216);
        mpfr_init(r8217);
        mpfr_init(r8218);
        mpfr_init(r8219);
        mpfr_init(r8220);
        mpfr_init(r8221);
        mpfr_init(r8222);
        mpfr_init_set_str(r8223, "1.2398920953191647e+123", 10, MPFR_RNDN);
        mpfr_init(r8224);
        mpfr_init(r8225);
        mpfr_init(r8226);
        mpfr_init(r8227);
        mpfr_init(r8228);
        mpfr_init(r8229);
        mpfr_init(r8230);
        mpfr_init(r8231);
        mpfr_init(r8232);
        mpfr_init(r8233);
        mpfr_init(r8234);
        mpfr_init(r8235);
        mpfr_init(r8236);
}

double f_dm(double x, double l, double t) {
        mpfr_set_d(r8172, t, MPFR_RNDN);
        ;
        mpfr_set_si(r8174, mpfr_cmp(r8172, r8173) <= 0, MPFR_RNDN);
        ;
        mpfr_sqrt(r8176, r8175, MPFR_RNDN);
        mpfr_mul(r8177, r8176, r8172, MPFR_RNDN);
        ;
        mpfr_sub(r8179, r8178, r8175, MPFR_RNDN);
        mpfr_set_d(r8180, x, MPFR_RNDN);
        mpfr_mul(r8181, r8180, r8180, MPFR_RNDN);
        mpfr_mul(r8182, r8181, r8176, MPFR_RNDN);
        mpfr_div(r8183, r8172, r8182, MPFR_RNDN);
        mpfr_mul(r8184, r8179, r8183, MPFR_RNDN);
        mpfr_div(r8185, r8175, r8180, MPFR_RNDN);
        mpfr_div(r8186, r8185, r8176, MPFR_RNDN);
        mpfr_add(r8187, r8176, r8186, MPFR_RNDN);
        mpfr_mul(r8188, r8187, r8172, MPFR_RNDN);
        mpfr_sub(r8189, r8184, r8188, MPFR_RNDN);
        mpfr_div(r8190, r8177, r8189, MPFR_RNDN);
        ;
        mpfr_set_si(r8192, mpfr_cmp(r8172, r8191) <= 0, MPFR_RNDN);
        ;
        mpfr_div(r8194, r8193, r8180, MPFR_RNDN);
        mpfr_add(r8195, r8175, r8194, MPFR_RNDN);
        mpfr_mul(r8196, r8172, r8172, MPFR_RNDN);
        mpfr_mul(r8197, r8195, r8196, MPFR_RNDN);
        mpfr_set_d(r8198, l, MPFR_RNDN);
        mpfr_mul(r8199, r8198, r8175, MPFR_RNDN);
        mpfr_div(r8200, r8198, r8180, MPFR_RNDN);
        mpfr_mul(r8201, r8199, r8200, MPFR_RNDN);
        mpfr_add(r8202, r8197, r8201, MPFR_RNDN);
        mpfr_sqrt(r8203, r8202, MPFR_RNDN);
        mpfr_div(r8204, r8177, r8203, MPFR_RNDN);
        ;
        mpfr_set_si(r8206, mpfr_cmp(r8172, r8205) <= 0, MPFR_RNDN);
        ;
        mpfr_set_si(r8208, mpfr_cmp(r8172, r8207) <= 0, MPFR_RNDN);
        ;
        mpfr_set_si(r8210, mpfr_cmp(r8172, r8209) <= 0, MPFR_RNDN);
        mpfr_sub(r8211, r8175, r8194, MPFR_RNDN);
        mpfr_mul(r8212, r8199, r8198, MPFR_RNDN);
        mpfr_mul(r8213, r8172, r8180, MPFR_RNDN);
        mpfr_mul(r8214, r8172, r8213, MPFR_RNDN);
        mpfr_mul(r8215, r8214, r8195, MPFR_RNDN);
        mpfr_add(r8216, r8212, r8215, MPFR_RNDN);
        mpfr_mul(r8217, r8211, r8216, MPFR_RNDN);
        mpfr_sqrt(r8218, r8217, MPFR_RNDN);
        mpfr_mul(r8219, r8211, r8180, MPFR_RNDN);
        mpfr_sqrt(r8220, r8219, MPFR_RNDN);
        mpfr_div(r8221, r8218, r8220, MPFR_RNDN);
        mpfr_div(r8222, r8177, r8221, MPFR_RNDN);
        ;
        mpfr_set_si(r8224, mpfr_cmp(r8172, r8223) <= 0, MPFR_RNDN);
        mpfr_div(r8225, r8172, r8176, MPFR_RNDN);
        mpfr_div(r8226, r8225, r8181, MPFR_RNDN);
        mpfr_sub(r8227, r8175, r8178, MPFR_RNDN);
        mpfr_mul(r8228, r8226, r8227, MPFR_RNDN);
        mpfr_add(r8229, r8188, r8228, MPFR_RNDN);
        mpfr_div(r8230, r8177, r8229, MPFR_RNDN);
        if (mpfr_get_si(r8224, MPFR_RNDN)) { mpfr_set(r8231, r8204, MPFR_RNDN); } else { mpfr_set(r8231, r8230, MPFR_RNDN); };
        if (mpfr_get_si(r8210, MPFR_RNDN)) { mpfr_set(r8232, r8222, MPFR_RNDN); } else { mpfr_set(r8232, r8231, MPFR_RNDN); };
        if (mpfr_get_si(r8208, MPFR_RNDN)) { mpfr_set(r8233, r8204, MPFR_RNDN); } else { mpfr_set(r8233, r8232, MPFR_RNDN); };
        if (mpfr_get_si(r8206, MPFR_RNDN)) { mpfr_set(r8234, r8190, MPFR_RNDN); } else { mpfr_set(r8234, r8233, MPFR_RNDN); };
        if (mpfr_get_si(r8192, MPFR_RNDN)) { mpfr_set(r8235, r8204, MPFR_RNDN); } else { mpfr_set(r8235, r8234, MPFR_RNDN); };
        if (mpfr_get_si(r8174, MPFR_RNDN)) { mpfr_set(r8236, r8190, MPFR_RNDN); } else { mpfr_set(r8236, r8235, MPFR_RNDN); };
        return mpfr_get_d(r8236, MPFR_RNDN);
}

