#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 r21027 = 2;
        float r21028 = sqrt(r21027);
        float r21029 = t;
        float r21030 = r21028 * r21029;
        float r21031 = x;
        float r21032 = 1;
        float r21033 = r21031 + r21032;
        float r21034 = r21031 - r21032;
        float r21035 = r21033 / r21034;
        float r21036 = l;
        float r21037 = r21036 * r21036;
        float r21038 = r21029 * r21029;
        float r21039 = r21027 * r21038;
        float r21040 = r21037 + r21039;
        float r21041 = r21035 * r21040;
        float r21042 = r21041 - r21037;
        float r21043 = sqrt(r21042);
        float r21044 = r21030 / r21043;
        return r21044;
}

double f_id(double x, double l, double t) {
        double r21045 = 2;
        double r21046 = sqrt(r21045);
        double r21047 = t;
        double r21048 = r21046 * r21047;
        double r21049 = x;
        double r21050 = 1;
        double r21051 = r21049 + r21050;
        double r21052 = r21049 - r21050;
        double r21053 = r21051 / r21052;
        double r21054 = l;
        double r21055 = r21054 * r21054;
        double r21056 = r21047 * r21047;
        double r21057 = r21045 * r21056;
        double r21058 = r21055 + r21057;
        double r21059 = r21053 * r21058;
        double r21060 = r21059 - r21055;
        double r21061 = sqrt(r21060);
        double r21062 = r21048 / r21061;
        return r21062;
}


double f_of(float x, float l, float t) {
        float r21063 = t;
        float r21064 = -1.4499401141744246e+69;
        bool r21065 = r21063 <= r21064;
        float r21066 = 2;
        float r21067 = sqrt(r21066);
        float r21068 = r21063 * r21067;
        float r21069 = x;
        float r21070 = r21063 / r21069;
        float r21071 = r21070 / r21069;
        float r21072 = 1;
        float r21073 = r21072 / r21067;
        float r21074 = r21071 * r21073;
        float r21075 = r21066 / r21067;
        float r21076 = fma(r21075, r21070, r21068);
        float r21077 = fma(r21075, r21071, r21076);
        float r21078 = r21074 - r21077;
        float r21079 = r21068 / r21078;
        float r21080 = -2.1508132600515558e-163;
        bool r21081 = r21063 <= r21080;
        float r21082 = cbrt(r21067);
        float r21083 = sqrt(r21082);
        float r21084 = fabs(r21082);
        float r21085 = sqrt(r21067);
        float r21086 = r21063 * r21085;
        float r21087 = r21084 * r21086;
        float r21088 = l;
        float r21089 = r21088 / r21069;
        float r21090 = r21063 * r21063;
        float r21091 = fma(r21089, r21088, r21090);
        float r21092 = 4;
        float r21093 = r21069 / r21092;
        float r21094 = r21090 / r21093;
        float r21095 = fma(r21066, r21091, r21094);
        float r21096 = sqrt(r21095);
        float r21097 = r21087 / r21096;
        float r21098 = r21083 * r21097;
        float r21099 = -4.760195821999297e-295;
        bool r21100 = r21063 <= r21099;
        float r21101 = 5.89249116395762e-244;
        bool r21102 = r21063 <= r21101;
        float r21103 = r21085 * r21063;
        float r21104 = r21084 * r21103;
        float r21105 = r21104 * r21083;
        float r21106 = r21092 / r21069;
        float r21107 = r21106 * r21090;
        float r21108 = fma(r21066, r21091, r21107);
        float r21109 = sqrt(r21108);
        float r21110 = r21105 / r21109;
        float r21111 = 4.668565602925388e-159;
        bool r21112 = r21063 <= r21111;
        float r21113 = r21075 - r21073;
        float r21114 = r21071 * r21113;
        float r21115 = r21063 / r21067;
        float r21116 = r21066 / r21069;
        float r21117 = fma(r21115, r21116, r21068);
        float r21118 = r21114 + r21117;
        float r21119 = r21068 / r21118;
        float r21120 = 4.990553787764709e+140;
        bool r21121 = r21063 <= r21120;
        float r21122 = +inf.0;
        bool r21123 = r21063 <= r21122;
        float r21124 = r21123 ? r21119 : r21119;
        float r21125 = r21121 ? r21098 : r21124;
        float r21126 = r21112 ? r21119 : r21125;
        float r21127 = r21102 ? r21110 : r21126;
        float r21128 = r21100 ? r21079 : r21127;
        float r21129 = r21081 ? r21098 : r21128;
        float r21130 = r21065 ? r21079 : r21129;
        return r21130;
}

double f_od(double x, double l, double t) {
        double r21131 = t;
        double r21132 = -1.4499401141744246e+69;
        bool r21133 = r21131 <= r21132;
        double r21134 = 2;
        double r21135 = sqrt(r21134);
        double r21136 = r21131 * r21135;
        double r21137 = x;
        double r21138 = r21131 / r21137;
        double r21139 = r21138 / r21137;
        double r21140 = 1;
        double r21141 = r21140 / r21135;
        double r21142 = r21139 * r21141;
        double r21143 = r21134 / r21135;
        double r21144 = fma(r21143, r21138, r21136);
        double r21145 = fma(r21143, r21139, r21144);
        double r21146 = r21142 - r21145;
        double r21147 = r21136 / r21146;
        double r21148 = -2.1508132600515558e-163;
        bool r21149 = r21131 <= r21148;
        double r21150 = cbrt(r21135);
        double r21151 = sqrt(r21150);
        double r21152 = fabs(r21150);
        double r21153 = sqrt(r21135);
        double r21154 = r21131 * r21153;
        double r21155 = r21152 * r21154;
        double r21156 = l;
        double r21157 = r21156 / r21137;
        double r21158 = r21131 * r21131;
        double r21159 = fma(r21157, r21156, r21158);
        double r21160 = 4;
        double r21161 = r21137 / r21160;
        double r21162 = r21158 / r21161;
        double r21163 = fma(r21134, r21159, r21162);
        double r21164 = sqrt(r21163);
        double r21165 = r21155 / r21164;
        double r21166 = r21151 * r21165;
        double r21167 = -4.760195821999297e-295;
        bool r21168 = r21131 <= r21167;
        double r21169 = 5.89249116395762e-244;
        bool r21170 = r21131 <= r21169;
        double r21171 = r21153 * r21131;
        double r21172 = r21152 * r21171;
        double r21173 = r21172 * r21151;
        double r21174 = r21160 / r21137;
        double r21175 = r21174 * r21158;
        double r21176 = fma(r21134, r21159, r21175);
        double r21177 = sqrt(r21176);
        double r21178 = r21173 / r21177;
        double r21179 = 4.668565602925388e-159;
        bool r21180 = r21131 <= r21179;
        double r21181 = r21143 - r21141;
        double r21182 = r21139 * r21181;
        double r21183 = r21131 / r21135;
        double r21184 = r21134 / r21137;
        double r21185 = fma(r21183, r21184, r21136);
        double r21186 = r21182 + r21185;
        double r21187 = r21136 / r21186;
        double r21188 = 4.990553787764709e+140;
        bool r21189 = r21131 <= r21188;
        double r21190 = +inf.0;
        bool r21191 = r21131 <= r21190;
        double r21192 = r21191 ? r21187 : r21187;
        double r21193 = r21189 ? r21166 : r21192;
        double r21194 = r21180 ? r21187 : r21193;
        double r21195 = r21170 ? r21178 : r21194;
        double r21196 = r21168 ? r21147 : r21195;
        double r21197 = r21149 ? r21166 : r21196;
        double r21198 = r21133 ? r21147 : r21197;
        return r21198;
}

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 r21199, r21200, r21201, r21202, r21203, r21204, r21205, r21206, r21207, r21208, r21209, r21210, r21211, r21212, r21213, r21214, r21215, r21216;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(1424);
        mpfr_init_set_str(r21199, "2", 10, MPFR_RNDN);
        mpfr_init(r21200);
        mpfr_init(r21201);
        mpfr_init(r21202);
        mpfr_init(r21203);
        mpfr_init_set_str(r21204, "1", 10, MPFR_RNDN);
        mpfr_init(r21205);
        mpfr_init(r21206);
        mpfr_init(r21207);
        mpfr_init(r21208);
        mpfr_init(r21209);
        mpfr_init(r21210);
        mpfr_init(r21211);
        mpfr_init(r21212);
        mpfr_init(r21213);
        mpfr_init(r21214);
        mpfr_init(r21215);
        mpfr_init(r21216);
}

double f_im(double x, double l, double t) {
        ;
        mpfr_sqrt(r21200, r21199, MPFR_RNDN);
        mpfr_set_d(r21201, t, MPFR_RNDN);
        mpfr_mul(r21202, r21200, r21201, MPFR_RNDN);
        mpfr_set_d(r21203, x, MPFR_RNDN);
        ;
        mpfr_add(r21205, r21203, r21204, MPFR_RNDN);
        mpfr_sub(r21206, r21203, r21204, MPFR_RNDN);
        mpfr_div(r21207, r21205, r21206, MPFR_RNDN);
        mpfr_set_d(r21208, l, MPFR_RNDN);
        mpfr_mul(r21209, r21208, r21208, MPFR_RNDN);
        mpfr_mul(r21210, r21201, r21201, MPFR_RNDN);
        mpfr_mul(r21211, r21199, r21210, MPFR_RNDN);
        mpfr_add(r21212, r21209, r21211, MPFR_RNDN);
        mpfr_mul(r21213, r21207, r21212, MPFR_RNDN);
        mpfr_sub(r21214, r21213, r21209, MPFR_RNDN);
        mpfr_sqrt(r21215, r21214, MPFR_RNDN);
        mpfr_div(r21216, r21202, r21215, MPFR_RNDN);
        return mpfr_get_d(r21216, MPFR_RNDN);
}

static mpfr_t r21217, r21218, r21219, r21220, r21221, r21222, r21223, r21224, r21225, r21226, r21227, r21228, r21229, r21230, r21231, r21232, r21233, r21234, r21235, r21236, r21237, r21238, r21239, r21240, r21241, r21242, r21243, r21244, r21245, r21246, r21247, r21248, r21249, r21250, r21251, r21252, r21253, r21254, r21255, r21256, r21257, r21258, r21259, r21260, r21261, r21262, r21263, r21264, r21265, r21266, r21267, r21268, r21269, r21270, r21271, r21272, r21273, r21274, r21275, r21276, r21277, r21278, r21279, r21280, r21281, r21282, r21283, r21284;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(1424);
        mpfr_init(r21217);
        mpfr_init_set_str(r21218, "-1.4499401141744246e+69", 10, MPFR_RNDN);
        mpfr_init(r21219);
        mpfr_init_set_str(r21220, "2", 10, MPFR_RNDN);
        mpfr_init(r21221);
        mpfr_init(r21222);
        mpfr_init(r21223);
        mpfr_init(r21224);
        mpfr_init(r21225);
        mpfr_init_set_str(r21226, "1", 10, MPFR_RNDN);
        mpfr_init(r21227);
        mpfr_init(r21228);
        mpfr_init(r21229);
        mpfr_init(r21230);
        mpfr_init(r21231);
        mpfr_init(r21232);
        mpfr_init(r21233);
        mpfr_init_set_str(r21234, "-2.1508132600515558e-163", 10, MPFR_RNDN);
        mpfr_init(r21235);
        mpfr_init(r21236);
        mpfr_init(r21237);
        mpfr_init(r21238);
        mpfr_init(r21239);
        mpfr_init(r21240);
        mpfr_init(r21241);
        mpfr_init(r21242);
        mpfr_init(r21243);
        mpfr_init(r21244);
        mpfr_init(r21245);
        mpfr_init_set_str(r21246, "4", 10, MPFR_RNDN);
        mpfr_init(r21247);
        mpfr_init(r21248);
        mpfr_init(r21249);
        mpfr_init(r21250);
        mpfr_init(r21251);
        mpfr_init(r21252);
        mpfr_init_set_str(r21253, "-4.760195821999297e-295", 10, MPFR_RNDN);
        mpfr_init(r21254);
        mpfr_init_set_str(r21255, "5.89249116395762e-244", 10, MPFR_RNDN);
        mpfr_init(r21256);
        mpfr_init(r21257);
        mpfr_init(r21258);
        mpfr_init(r21259);
        mpfr_init(r21260);
        mpfr_init(r21261);
        mpfr_init(r21262);
        mpfr_init(r21263);
        mpfr_init(r21264);
        mpfr_init_set_str(r21265, "4.668565602925388e-159", 10, MPFR_RNDN);
        mpfr_init(r21266);
        mpfr_init(r21267);
        mpfr_init(r21268);
        mpfr_init(r21269);
        mpfr_init(r21270);
        mpfr_init(r21271);
        mpfr_init(r21272);
        mpfr_init(r21273);
        mpfr_init_set_str(r21274, "4.990553787764709e+140", 10, MPFR_RNDN);
        mpfr_init(r21275);
        mpfr_init_set_str(r21276, "+inf.0", 10, MPFR_RNDN);
        mpfr_init(r21277);
        mpfr_init(r21278);
        mpfr_init(r21279);
        mpfr_init(r21280);
        mpfr_init(r21281);
        mpfr_init(r21282);
        mpfr_init(r21283);
        mpfr_init(r21284);
}

double f_fm(double x, double l, double t) {
        mpfr_set_d(r21217, t, MPFR_RNDN);
        ;
        mpfr_set_si(r21219, mpfr_cmp(r21217, r21218) <= 0, MPFR_RNDN);
        ;
        mpfr_sqrt(r21221, r21220, MPFR_RNDN);
        mpfr_mul(r21222, r21217, r21221, MPFR_RNDN);
        mpfr_set_d(r21223, x, MPFR_RNDN);
        mpfr_div(r21224, r21217, r21223, MPFR_RNDN);
        mpfr_div(r21225, r21224, r21223, MPFR_RNDN);
        ;
        mpfr_div(r21227, r21226, r21221, MPFR_RNDN);
        mpfr_mul(r21228, r21225, r21227, MPFR_RNDN);
        mpfr_div(r21229, r21220, r21221, MPFR_RNDN);
        mpfr_fma(r21230, r21229, r21224, r21222, MPFR_RNDN);
        mpfr_fma(r21231, r21229, r21225, r21230, MPFR_RNDN);
        mpfr_sub(r21232, r21228, r21231, MPFR_RNDN);
        mpfr_div(r21233, r21222, r21232, MPFR_RNDN);
        ;
        mpfr_set_si(r21235, mpfr_cmp(r21217, r21234) <= 0, MPFR_RNDN);
        mpfr_cbrt(r21236, r21221, MPFR_RNDN);
        mpfr_sqrt(r21237, r21236, MPFR_RNDN);
        mpfr_abs(r21238, r21236, MPFR_RNDN);
        mpfr_sqrt(r21239, r21221, MPFR_RNDN);
        mpfr_mul(r21240, r21217, r21239, MPFR_RNDN);
        mpfr_mul(r21241, r21238, r21240, MPFR_RNDN);
        mpfr_set_d(r21242, l, MPFR_RNDN);
        mpfr_div(r21243, r21242, r21223, MPFR_RNDN);
        mpfr_mul(r21244, r21217, r21217, MPFR_RNDN);
        mpfr_fma(r21245, r21243, r21242, r21244, MPFR_RNDN);
        ;
        mpfr_div(r21247, r21223, r21246, MPFR_RNDN);
        mpfr_div(r21248, r21244, r21247, MPFR_RNDN);
        mpfr_fma(r21249, r21220, r21245, r21248, MPFR_RNDN);
        mpfr_sqrt(r21250, r21249, MPFR_RNDN);
        mpfr_div(r21251, r21241, r21250, MPFR_RNDN);
        mpfr_mul(r21252, r21237, r21251, MPFR_RNDN);
        ;
        mpfr_set_si(r21254, mpfr_cmp(r21217, r21253) <= 0, MPFR_RNDN);
        ;
        mpfr_set_si(r21256, mpfr_cmp(r21217, r21255) <= 0, MPFR_RNDN);
        mpfr_mul(r21257, r21239, r21217, MPFR_RNDN);
        mpfr_mul(r21258, r21238, r21257, MPFR_RNDN);
        mpfr_mul(r21259, r21258, r21237, MPFR_RNDN);
        mpfr_div(r21260, r21246, r21223, MPFR_RNDN);
        mpfr_mul(r21261, r21260, r21244, MPFR_RNDN);
        mpfr_fma(r21262, r21220, r21245, r21261, MPFR_RNDN);
        mpfr_sqrt(r21263, r21262, MPFR_RNDN);
        mpfr_div(r21264, r21259, r21263, MPFR_RNDN);
        ;
        mpfr_set_si(r21266, mpfr_cmp(r21217, r21265) <= 0, MPFR_RNDN);
        mpfr_sub(r21267, r21229, r21227, MPFR_RNDN);
        mpfr_mul(r21268, r21225, r21267, MPFR_RNDN);
        mpfr_div(r21269, r21217, r21221, MPFR_RNDN);
        mpfr_div(r21270, r21220, r21223, MPFR_RNDN);
        mpfr_fma(r21271, r21269, r21270, r21222, MPFR_RNDN);
        mpfr_add(r21272, r21268, r21271, MPFR_RNDN);
        mpfr_div(r21273, r21222, r21272, MPFR_RNDN);
        ;
        mpfr_set_si(r21275, mpfr_cmp(r21217, r21274) <= 0, MPFR_RNDN);
        ;
        mpfr_set_si(r21277, mpfr_cmp(r21217, r21276) <= 0, MPFR_RNDN);
        if (mpfr_get_si(r21277, MPFR_RNDN)) { mpfr_set(r21278, r21273, MPFR_RNDN); } else { mpfr_set(r21278, r21273, MPFR_RNDN); };
        if (mpfr_get_si(r21275, MPFR_RNDN)) { mpfr_set(r21279, r21252, MPFR_RNDN); } else { mpfr_set(r21279, r21278, MPFR_RNDN); };
        if (mpfr_get_si(r21266, MPFR_RNDN)) { mpfr_set(r21280, r21273, MPFR_RNDN); } else { mpfr_set(r21280, r21279, MPFR_RNDN); };
        if (mpfr_get_si(r21256, MPFR_RNDN)) { mpfr_set(r21281, r21264, MPFR_RNDN); } else { mpfr_set(r21281, r21280, MPFR_RNDN); };
        if (mpfr_get_si(r21254, MPFR_RNDN)) { mpfr_set(r21282, r21233, MPFR_RNDN); } else { mpfr_set(r21282, r21281, MPFR_RNDN); };
        if (mpfr_get_si(r21235, MPFR_RNDN)) { mpfr_set(r21283, r21252, MPFR_RNDN); } else { mpfr_set(r21283, r21282, MPFR_RNDN); };
        if (mpfr_get_si(r21219, MPFR_RNDN)) { mpfr_set(r21284, r21233, MPFR_RNDN); } else { mpfr_set(r21284, r21283, MPFR_RNDN); };
        return mpfr_get_d(r21284, MPFR_RNDN);
}

static mpfr_t r21285, r21286, r21287, r21288, r21289, r21290, r21291, r21292, r21293, r21294, r21295, r21296, r21297, r21298, r21299, r21300, r21301, r21302, r21303, r21304, r21305, r21306, r21307, r21308, r21309, r21310, r21311, r21312, r21313, r21314, r21315, r21316, r21317, r21318, r21319, r21320, r21321, r21322, r21323, r21324, r21325, r21326, r21327, r21328, r21329, r21330, r21331, r21332, r21333, r21334, r21335, r21336, r21337, r21338, r21339, r21340, r21341, r21342, r21343, r21344, r21345, r21346, r21347, r21348, r21349, r21350, r21351, r21352;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(1424);
        mpfr_init(r21285);
        mpfr_init_set_str(r21286, "-1.4499401141744246e+69", 10, MPFR_RNDN);
        mpfr_init(r21287);
        mpfr_init_set_str(r21288, "2", 10, MPFR_RNDN);
        mpfr_init(r21289);
        mpfr_init(r21290);
        mpfr_init(r21291);
        mpfr_init(r21292);
        mpfr_init(r21293);
        mpfr_init_set_str(r21294, "1", 10, MPFR_RNDN);
        mpfr_init(r21295);
        mpfr_init(r21296);
        mpfr_init(r21297);
        mpfr_init(r21298);
        mpfr_init(r21299);
        mpfr_init(r21300);
        mpfr_init(r21301);
        mpfr_init_set_str(r21302, "-2.1508132600515558e-163", 10, MPFR_RNDN);
        mpfr_init(r21303);
        mpfr_init(r21304);
        mpfr_init(r21305);
        mpfr_init(r21306);
        mpfr_init(r21307);
        mpfr_init(r21308);
        mpfr_init(r21309);
        mpfr_init(r21310);
        mpfr_init(r21311);
        mpfr_init(r21312);
        mpfr_init(r21313);
        mpfr_init_set_str(r21314, "4", 10, MPFR_RNDN);
        mpfr_init(r21315);
        mpfr_init(r21316);
        mpfr_init(r21317);
        mpfr_init(r21318);
        mpfr_init(r21319);
        mpfr_init(r21320);
        mpfr_init_set_str(r21321, "-4.760195821999297e-295", 10, MPFR_RNDN);
        mpfr_init(r21322);
        mpfr_init_set_str(r21323, "5.89249116395762e-244", 10, MPFR_RNDN);
        mpfr_init(r21324);
        mpfr_init(r21325);
        mpfr_init(r21326);
        mpfr_init(r21327);
        mpfr_init(r21328);
        mpfr_init(r21329);
        mpfr_init(r21330);
        mpfr_init(r21331);
        mpfr_init(r21332);
        mpfr_init_set_str(r21333, "4.668565602925388e-159", 10, MPFR_RNDN);
        mpfr_init(r21334);
        mpfr_init(r21335);
        mpfr_init(r21336);
        mpfr_init(r21337);
        mpfr_init(r21338);
        mpfr_init(r21339);
        mpfr_init(r21340);
        mpfr_init(r21341);
        mpfr_init_set_str(r21342, "4.990553787764709e+140", 10, MPFR_RNDN);
        mpfr_init(r21343);
        mpfr_init_set_str(r21344, "+inf.0", 10, MPFR_RNDN);
        mpfr_init(r21345);
        mpfr_init(r21346);
        mpfr_init(r21347);
        mpfr_init(r21348);
        mpfr_init(r21349);
        mpfr_init(r21350);
        mpfr_init(r21351);
        mpfr_init(r21352);
}

double f_dm(double x, double l, double t) {
        mpfr_set_d(r21285, t, MPFR_RNDN);
        ;
        mpfr_set_si(r21287, mpfr_cmp(r21285, r21286) <= 0, MPFR_RNDN);
        ;
        mpfr_sqrt(r21289, r21288, MPFR_RNDN);
        mpfr_mul(r21290, r21285, r21289, MPFR_RNDN);
        mpfr_set_d(r21291, x, MPFR_RNDN);
        mpfr_div(r21292, r21285, r21291, MPFR_RNDN);
        mpfr_div(r21293, r21292, r21291, MPFR_RNDN);
        ;
        mpfr_div(r21295, r21294, r21289, MPFR_RNDN);
        mpfr_mul(r21296, r21293, r21295, MPFR_RNDN);
        mpfr_div(r21297, r21288, r21289, MPFR_RNDN);
        mpfr_fma(r21298, r21297, r21292, r21290, MPFR_RNDN);
        mpfr_fma(r21299, r21297, r21293, r21298, MPFR_RNDN);
        mpfr_sub(r21300, r21296, r21299, MPFR_RNDN);
        mpfr_div(r21301, r21290, r21300, MPFR_RNDN);
        ;
        mpfr_set_si(r21303, mpfr_cmp(r21285, r21302) <= 0, MPFR_RNDN);
        mpfr_cbrt(r21304, r21289, MPFR_RNDN);
        mpfr_sqrt(r21305, r21304, MPFR_RNDN);
        mpfr_abs(r21306, r21304, MPFR_RNDN);
        mpfr_sqrt(r21307, r21289, MPFR_RNDN);
        mpfr_mul(r21308, r21285, r21307, MPFR_RNDN);
        mpfr_mul(r21309, r21306, r21308, MPFR_RNDN);
        mpfr_set_d(r21310, l, MPFR_RNDN);
        mpfr_div(r21311, r21310, r21291, MPFR_RNDN);
        mpfr_mul(r21312, r21285, r21285, MPFR_RNDN);
        mpfr_fma(r21313, r21311, r21310, r21312, MPFR_RNDN);
        ;
        mpfr_div(r21315, r21291, r21314, MPFR_RNDN);
        mpfr_div(r21316, r21312, r21315, MPFR_RNDN);
        mpfr_fma(r21317, r21288, r21313, r21316, MPFR_RNDN);
        mpfr_sqrt(r21318, r21317, MPFR_RNDN);
        mpfr_div(r21319, r21309, r21318, MPFR_RNDN);
        mpfr_mul(r21320, r21305, r21319, MPFR_RNDN);
        ;
        mpfr_set_si(r21322, mpfr_cmp(r21285, r21321) <= 0, MPFR_RNDN);
        ;
        mpfr_set_si(r21324, mpfr_cmp(r21285, r21323) <= 0, MPFR_RNDN);
        mpfr_mul(r21325, r21307, r21285, MPFR_RNDN);
        mpfr_mul(r21326, r21306, r21325, MPFR_RNDN);
        mpfr_mul(r21327, r21326, r21305, MPFR_RNDN);
        mpfr_div(r21328, r21314, r21291, MPFR_RNDN);
        mpfr_mul(r21329, r21328, r21312, MPFR_RNDN);
        mpfr_fma(r21330, r21288, r21313, r21329, MPFR_RNDN);
        mpfr_sqrt(r21331, r21330, MPFR_RNDN);
        mpfr_div(r21332, r21327, r21331, MPFR_RNDN);
        ;
        mpfr_set_si(r21334, mpfr_cmp(r21285, r21333) <= 0, MPFR_RNDN);
        mpfr_sub(r21335, r21297, r21295, MPFR_RNDN);
        mpfr_mul(r21336, r21293, r21335, MPFR_RNDN);
        mpfr_div(r21337, r21285, r21289, MPFR_RNDN);
        mpfr_div(r21338, r21288, r21291, MPFR_RNDN);
        mpfr_fma(r21339, r21337, r21338, r21290, MPFR_RNDN);
        mpfr_add(r21340, r21336, r21339, MPFR_RNDN);
        mpfr_div(r21341, r21290, r21340, MPFR_RNDN);
        ;
        mpfr_set_si(r21343, mpfr_cmp(r21285, r21342) <= 0, MPFR_RNDN);
        ;
        mpfr_set_si(r21345, mpfr_cmp(r21285, r21344) <= 0, MPFR_RNDN);
        if (mpfr_get_si(r21345, MPFR_RNDN)) { mpfr_set(r21346, r21341, MPFR_RNDN); } else { mpfr_set(r21346, r21341, MPFR_RNDN); };
        if (mpfr_get_si(r21343, MPFR_RNDN)) { mpfr_set(r21347, r21320, MPFR_RNDN); } else { mpfr_set(r21347, r21346, MPFR_RNDN); };
        if (mpfr_get_si(r21334, MPFR_RNDN)) { mpfr_set(r21348, r21341, MPFR_RNDN); } else { mpfr_set(r21348, r21347, MPFR_RNDN); };
        if (mpfr_get_si(r21324, MPFR_RNDN)) { mpfr_set(r21349, r21332, MPFR_RNDN); } else { mpfr_set(r21349, r21348, MPFR_RNDN); };
        if (mpfr_get_si(r21322, MPFR_RNDN)) { mpfr_set(r21350, r21301, MPFR_RNDN); } else { mpfr_set(r21350, r21349, MPFR_RNDN); };
        if (mpfr_get_si(r21303, MPFR_RNDN)) { mpfr_set(r21351, r21320, MPFR_RNDN); } else { mpfr_set(r21351, r21350, MPFR_RNDN); };
        if (mpfr_get_si(r21287, MPFR_RNDN)) { mpfr_set(r21352, r21301, MPFR_RNDN); } else { mpfr_set(r21352, r21351, MPFR_RNDN); };
        return mpfr_get_d(r21352, MPFR_RNDN);
}

