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

char *name = "Henrywood and Agarwal, Equation (3)";

double f_if(float c0, float A, float V, float l) {
        float r26184 = c0;
        float r26185 = A;
        float r26186 = V;
        float r26187 = l;
        float r26188 = r26186 * r26187;
        float r26189 = r26185 / r26188;
        float r26190 = sqrt(r26189);
        float r26191 = r26184 * r26190;
        return r26191;
}

double f_id(double c0, double A, double V, double l) {
        double r26192 = c0;
        double r26193 = A;
        double r26194 = V;
        double r26195 = l;
        double r26196 = r26194 * r26195;
        double r26197 = r26193 / r26196;
        double r26198 = sqrt(r26197);
        double r26199 = r26192 * r26198;
        return r26199;
}


double f_of(float c0, float A, float V, float l) {
        float r26200 = 1;
        float r26201 = V;
        float r26202 = l;
        float r26203 = r26201 * r26202;
        float r26204 = r26200 / r26203;
        float r26205 = -1.765571419611046e+255;
        bool r26206 = r26204 <= r26205;
        float r26207 = c0;
        float r26208 = A;
        float r26209 = r26208 / r26201;
        float r26210 = r26209 / r26202;
        float r26211 = sqrt(r26210);
        float r26212 = r26207 * r26211;
        float r26213 = -1.9034493027992715e-194;
        bool r26214 = r26204 <= r26213;
        float r26215 = r26208 / r26203;
        float r26216 = sqrt(r26215);
        float r26217 = sqrt(r26216);
        float r26218 = r26217 * r26207;
        float r26219 = r26208 * r26204;
        float r26220 = sqrt(r26219);
        float r26221 = sqrt(r26220);
        float r26222 = r26218 * r26221;
        float r26223 = 5.6604306642257075e-300;
        bool r26224 = r26204 <= r26223;
        float r26225 = sqrt(r26208);
        float r26226 = sqrt(r26204);
        float r26227 = r26225 * r26226;
        float r26228 = r26207 * r26227;
        float r26229 = r26224 ? r26212 : r26228;
        float r26230 = r26214 ? r26222 : r26229;
        float r26231 = r26206 ? r26212 : r26230;
        return r26231;
}

double f_od(double c0, double A, double V, double l) {
        double r26232 = 1;
        double r26233 = V;
        double r26234 = l;
        double r26235 = r26233 * r26234;
        double r26236 = r26232 / r26235;
        double r26237 = -1.765571419611046e+255;
        bool r26238 = r26236 <= r26237;
        double r26239 = c0;
        double r26240 = A;
        double r26241 = r26240 / r26233;
        double r26242 = r26241 / r26234;
        double r26243 = sqrt(r26242);
        double r26244 = r26239 * r26243;
        double r26245 = -1.9034493027992715e-194;
        bool r26246 = r26236 <= r26245;
        double r26247 = r26240 / r26235;
        double r26248 = sqrt(r26247);
        double r26249 = sqrt(r26248);
        double r26250 = r26249 * r26239;
        double r26251 = r26240 * r26236;
        double r26252 = sqrt(r26251);
        double r26253 = sqrt(r26252);
        double r26254 = r26250 * r26253;
        double r26255 = 5.6604306642257075e-300;
        bool r26256 = r26236 <= r26255;
        double r26257 = sqrt(r26240);
        double r26258 = sqrt(r26236);
        double r26259 = r26257 * r26258;
        double r26260 = r26239 * r26259;
        double r26261 = r26256 ? r26244 : r26260;
        double r26262 = r26246 ? r26254 : r26261;
        double r26263 = r26238 ? r26244 : r26262;
        return r26263;
}

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 r26264, r26265, r26266, r26267, r26268, r26269, r26270, r26271;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(592);
        mpfr_init(r26264);
        mpfr_init(r26265);
        mpfr_init(r26266);
        mpfr_init(r26267);
        mpfr_init(r26268);
        mpfr_init(r26269);
        mpfr_init(r26270);
        mpfr_init(r26271);
}

double f_im(double c0, double A, double V, double l) {
        mpfr_set_d(r26264, c0, MPFR_RNDN);
        mpfr_set_d(r26265, A, MPFR_RNDN);
        mpfr_set_d(r26266, V, MPFR_RNDN);
        mpfr_set_d(r26267, l, MPFR_RNDN);
        mpfr_mul(r26268, r26266, r26267, MPFR_RNDN);
        mpfr_div(r26269, r26265, r26268, MPFR_RNDN);
        mpfr_sqrt(r26270, r26269, MPFR_RNDN);
        mpfr_mul(r26271, r26264, r26270, MPFR_RNDN);
        return mpfr_get_d(r26271, MPFR_RNDN);
}

static mpfr_t r26272, r26273, r26274, r26275, r26276, r26277, r26278, r26279, r26280, r26281, r26282, r26283, r26284, r26285, r26286, r26287, r26288, r26289, r26290, r26291, r26292, r26293, r26294, r26295, r26296, r26297, r26298, r26299, r26300, r26301, r26302, r26303;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(592);
        mpfr_init_set_str(r26272, "1", 10, MPFR_RNDN);
        mpfr_init(r26273);
        mpfr_init(r26274);
        mpfr_init(r26275);
        mpfr_init(r26276);
        mpfr_init_set_str(r26277, "-1.765571419611046e+255", 10, MPFR_RNDN);
        mpfr_init(r26278);
        mpfr_init(r26279);
        mpfr_init(r26280);
        mpfr_init(r26281);
        mpfr_init(r26282);
        mpfr_init(r26283);
        mpfr_init(r26284);
        mpfr_init_set_str(r26285, "-1.9034493027992715e-194", 10, MPFR_RNDN);
        mpfr_init(r26286);
        mpfr_init(r26287);
        mpfr_init(r26288);
        mpfr_init(r26289);
        mpfr_init(r26290);
        mpfr_init(r26291);
        mpfr_init(r26292);
        mpfr_init(r26293);
        mpfr_init(r26294);
        mpfr_init_set_str(r26295, "5.6604306642257075e-300", 10, MPFR_RNDN);
        mpfr_init(r26296);
        mpfr_init(r26297);
        mpfr_init(r26298);
        mpfr_init(r26299);
        mpfr_init(r26300);
        mpfr_init(r26301);
        mpfr_init(r26302);
        mpfr_init(r26303);
}

double f_fm(double c0, double A, double V, double l) {
        ;
        mpfr_set_d(r26273, V, MPFR_RNDN);
        mpfr_set_d(r26274, l, MPFR_RNDN);
        mpfr_mul(r26275, r26273, r26274, MPFR_RNDN);
        mpfr_div(r26276, r26272, r26275, MPFR_RNDN);
        ;
        mpfr_set_si(r26278, mpfr_cmp(r26276, r26277) <= 0, MPFR_RNDN);
        mpfr_set_d(r26279, c0, MPFR_RNDN);
        mpfr_set_d(r26280, A, MPFR_RNDN);
        mpfr_div(r26281, r26280, r26273, MPFR_RNDN);
        mpfr_div(r26282, r26281, r26274, MPFR_RNDN);
        mpfr_sqrt(r26283, r26282, MPFR_RNDN);
        mpfr_mul(r26284, r26279, r26283, MPFR_RNDN);
        ;
        mpfr_set_si(r26286, mpfr_cmp(r26276, r26285) <= 0, MPFR_RNDN);
        mpfr_div(r26287, r26280, r26275, MPFR_RNDN);
        mpfr_sqrt(r26288, r26287, MPFR_RNDN);
        mpfr_sqrt(r26289, r26288, MPFR_RNDN);
        mpfr_mul(r26290, r26289, r26279, MPFR_RNDN);
        mpfr_mul(r26291, r26280, r26276, MPFR_RNDN);
        mpfr_sqrt(r26292, r26291, MPFR_RNDN);
        mpfr_sqrt(r26293, r26292, MPFR_RNDN);
        mpfr_mul(r26294, r26290, r26293, MPFR_RNDN);
        ;
        mpfr_set_si(r26296, mpfr_cmp(r26276, r26295) <= 0, MPFR_RNDN);
        mpfr_sqrt(r26297, r26280, MPFR_RNDN);
        mpfr_sqrt(r26298, r26276, MPFR_RNDN);
        mpfr_mul(r26299, r26297, r26298, MPFR_RNDN);
        mpfr_mul(r26300, r26279, r26299, MPFR_RNDN);
        if (mpfr_get_si(r26296, MPFR_RNDN)) { mpfr_set(r26301, r26284, MPFR_RNDN); } else { mpfr_set(r26301, r26300, MPFR_RNDN); };
        if (mpfr_get_si(r26286, MPFR_RNDN)) { mpfr_set(r26302, r26294, MPFR_RNDN); } else { mpfr_set(r26302, r26301, MPFR_RNDN); };
        if (mpfr_get_si(r26278, MPFR_RNDN)) { mpfr_set(r26303, r26284, MPFR_RNDN); } else { mpfr_set(r26303, r26302, MPFR_RNDN); };
        return mpfr_get_d(r26303, MPFR_RNDN);
}

static mpfr_t r26304, r26305, r26306, r26307, r26308, r26309, r26310, r26311, r26312, r26313, r26314, r26315, r26316, r26317, r26318, r26319, r26320, r26321, r26322, r26323, r26324, r26325, r26326, r26327, r26328, r26329, r26330, r26331, r26332, r26333, r26334, r26335;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(592);
        mpfr_init_set_str(r26304, "1", 10, MPFR_RNDN);
        mpfr_init(r26305);
        mpfr_init(r26306);
        mpfr_init(r26307);
        mpfr_init(r26308);
        mpfr_init_set_str(r26309, "-1.765571419611046e+255", 10, MPFR_RNDN);
        mpfr_init(r26310);
        mpfr_init(r26311);
        mpfr_init(r26312);
        mpfr_init(r26313);
        mpfr_init(r26314);
        mpfr_init(r26315);
        mpfr_init(r26316);
        mpfr_init_set_str(r26317, "-1.9034493027992715e-194", 10, MPFR_RNDN);
        mpfr_init(r26318);
        mpfr_init(r26319);
        mpfr_init(r26320);
        mpfr_init(r26321);
        mpfr_init(r26322);
        mpfr_init(r26323);
        mpfr_init(r26324);
        mpfr_init(r26325);
        mpfr_init(r26326);
        mpfr_init_set_str(r26327, "5.6604306642257075e-300", 10, MPFR_RNDN);
        mpfr_init(r26328);
        mpfr_init(r26329);
        mpfr_init(r26330);
        mpfr_init(r26331);
        mpfr_init(r26332);
        mpfr_init(r26333);
        mpfr_init(r26334);
        mpfr_init(r26335);
}

double f_dm(double c0, double A, double V, double l) {
        ;
        mpfr_set_d(r26305, V, MPFR_RNDN);
        mpfr_set_d(r26306, l, MPFR_RNDN);
        mpfr_mul(r26307, r26305, r26306, MPFR_RNDN);
        mpfr_div(r26308, r26304, r26307, MPFR_RNDN);
        ;
        mpfr_set_si(r26310, mpfr_cmp(r26308, r26309) <= 0, MPFR_RNDN);
        mpfr_set_d(r26311, c0, MPFR_RNDN);
        mpfr_set_d(r26312, A, MPFR_RNDN);
        mpfr_div(r26313, r26312, r26305, MPFR_RNDN);
        mpfr_div(r26314, r26313, r26306, MPFR_RNDN);
        mpfr_sqrt(r26315, r26314, MPFR_RNDN);
        mpfr_mul(r26316, r26311, r26315, MPFR_RNDN);
        ;
        mpfr_set_si(r26318, mpfr_cmp(r26308, r26317) <= 0, MPFR_RNDN);
        mpfr_div(r26319, r26312, r26307, MPFR_RNDN);
        mpfr_sqrt(r26320, r26319, MPFR_RNDN);
        mpfr_sqrt(r26321, r26320, MPFR_RNDN);
        mpfr_mul(r26322, r26321, r26311, MPFR_RNDN);
        mpfr_mul(r26323, r26312, r26308, MPFR_RNDN);
        mpfr_sqrt(r26324, r26323, MPFR_RNDN);
        mpfr_sqrt(r26325, r26324, MPFR_RNDN);
        mpfr_mul(r26326, r26322, r26325, MPFR_RNDN);
        ;
        mpfr_set_si(r26328, mpfr_cmp(r26308, r26327) <= 0, MPFR_RNDN);
        mpfr_sqrt(r26329, r26312, MPFR_RNDN);
        mpfr_sqrt(r26330, r26308, MPFR_RNDN);
        mpfr_mul(r26331, r26329, r26330, MPFR_RNDN);
        mpfr_mul(r26332, r26311, r26331, MPFR_RNDN);
        if (mpfr_get_si(r26328, MPFR_RNDN)) { mpfr_set(r26333, r26316, MPFR_RNDN); } else { mpfr_set(r26333, r26332, MPFR_RNDN); };
        if (mpfr_get_si(r26318, MPFR_RNDN)) { mpfr_set(r26334, r26326, MPFR_RNDN); } else { mpfr_set(r26334, r26333, MPFR_RNDN); };
        if (mpfr_get_si(r26310, MPFR_RNDN)) { mpfr_set(r26335, r26316, MPFR_RNDN); } else { mpfr_set(r26335, r26334, MPFR_RNDN); };
        return mpfr_get_d(r26335, MPFR_RNDN);
}

