#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 r26284 = c0;
        float r26285 = A;
        float r26286 = V;
        float r26287 = l;
        float r26288 = r26286 * r26287;
        float r26289 = r26285 / r26288;
        float r26290 = sqrt(r26289);
        float r26291 = r26284 * r26290;
        return r26291;
}

double f_id(double c0, double A, double V, double l) {
        double r26292 = c0;
        double r26293 = A;
        double r26294 = V;
        double r26295 = l;
        double r26296 = r26294 * r26295;
        double r26297 = r26293 / r26296;
        double r26298 = sqrt(r26297);
        double r26299 = r26292 * r26298;
        return r26299;
}


double f_of(float c0, float A, float V, float l) {
        float r26300 = 1;
        float r26301 = V;
        float r26302 = l;
        float r26303 = r26301 * r26302;
        float r26304 = r26300 / r26303;
        float r26305 = -3.767671897931721e+27;
        bool r26306 = r26304 <= r26305;
        float r26307 = c0;
        float r26308 = sqrt(r26300);
        float r26309 = r26307 * r26308;
        float r26310 = A;
        float r26311 = r26303 / r26310;
        float r26312 = sqrt(r26311);
        float r26313 = r26309 / r26312;
        float r26314 = -2.9824307461679933e-248;
        bool r26315 = r26304 <= r26314;
        float r26316 = r26310 / r26303;
        float r26317 = sqrt(r26316);
        float r26318 = sqrt(r26317);
        float r26319 = r26307 * r26318;
        float r26320 = r26319 * r26318;
        float r26321 = 7.59312080698644e-301;
        bool r26322 = r26304 <= r26321;
        float r26323 = r26310 / r26301;
        float r26324 = r26323 / r26302;
        float r26325 = sqrt(r26324);
        float r26326 = r26307 * r26325;
        float r26327 = sqrt(r26310);
        float r26328 = sqrt(r26303);
        float r26329 = r26327 / r26328;
        float r26330 = r26307 * r26329;
        float r26331 = r26322 ? r26326 : r26330;
        float r26332 = r26315 ? r26320 : r26331;
        float r26333 = r26306 ? r26313 : r26332;
        return r26333;
}

double f_od(double c0, double A, double V, double l) {
        double r26334 = 1;
        double r26335 = V;
        double r26336 = l;
        double r26337 = r26335 * r26336;
        double r26338 = r26334 / r26337;
        double r26339 = -3.767671897931721e+27;
        bool r26340 = r26338 <= r26339;
        double r26341 = c0;
        double r26342 = sqrt(r26334);
        double r26343 = r26341 * r26342;
        double r26344 = A;
        double r26345 = r26337 / r26344;
        double r26346 = sqrt(r26345);
        double r26347 = r26343 / r26346;
        double r26348 = -2.9824307461679933e-248;
        bool r26349 = r26338 <= r26348;
        double r26350 = r26344 / r26337;
        double r26351 = sqrt(r26350);
        double r26352 = sqrt(r26351);
        double r26353 = r26341 * r26352;
        double r26354 = r26353 * r26352;
        double r26355 = 7.59312080698644e-301;
        bool r26356 = r26338 <= r26355;
        double r26357 = r26344 / r26335;
        double r26358 = r26357 / r26336;
        double r26359 = sqrt(r26358);
        double r26360 = r26341 * r26359;
        double r26361 = sqrt(r26344);
        double r26362 = sqrt(r26337);
        double r26363 = r26361 / r26362;
        double r26364 = r26341 * r26363;
        double r26365 = r26356 ? r26360 : r26364;
        double r26366 = r26349 ? r26354 : r26365;
        double r26367 = r26340 ? r26347 : r26366;
        return r26367;
}

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 r26368, r26369, r26370, r26371, r26372, r26373, r26374, r26375;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(592);
        mpfr_init(r26368);
        mpfr_init(r26369);
        mpfr_init(r26370);
        mpfr_init(r26371);
        mpfr_init(r26372);
        mpfr_init(r26373);
        mpfr_init(r26374);
        mpfr_init(r26375);
}

double f_im(double c0, double A, double V, double l) {
        mpfr_set_d(r26368, c0, MPFR_RNDN);
        mpfr_set_d(r26369, A, MPFR_RNDN);
        mpfr_set_d(r26370, V, MPFR_RNDN);
        mpfr_set_d(r26371, l, MPFR_RNDN);
        mpfr_mul(r26372, r26370, r26371, MPFR_RNDN);
        mpfr_div(r26373, r26369, r26372, MPFR_RNDN);
        mpfr_sqrt(r26374, r26373, MPFR_RNDN);
        mpfr_mul(r26375, r26368, r26374, MPFR_RNDN);
        return mpfr_get_d(r26375, MPFR_RNDN);
}

static mpfr_t r26376, r26377, r26378, r26379, r26380, r26381, r26382, r26383, r26384, r26385, r26386, r26387, r26388, r26389, r26390, r26391, r26392, r26393, r26394, r26395, r26396, r26397, r26398, r26399, r26400, r26401, r26402, r26403, r26404, r26405, r26406, r26407, r26408, r26409;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(592);
        mpfr_init_set_str(r26376, "1", 10, MPFR_RNDN);
        mpfr_init(r26377);
        mpfr_init(r26378);
        mpfr_init(r26379);
        mpfr_init(r26380);
        mpfr_init_set_str(r26381, "-3.767671897931721e+27", 10, MPFR_RNDN);
        mpfr_init(r26382);
        mpfr_init(r26383);
        mpfr_init(r26384);
        mpfr_init(r26385);
        mpfr_init(r26386);
        mpfr_init(r26387);
        mpfr_init(r26388);
        mpfr_init(r26389);
        mpfr_init_set_str(r26390, "-2.9824307461679933e-248", 10, MPFR_RNDN);
        mpfr_init(r26391);
        mpfr_init(r26392);
        mpfr_init(r26393);
        mpfr_init(r26394);
        mpfr_init(r26395);
        mpfr_init(r26396);
        mpfr_init_set_str(r26397, "7.59312080698644e-301", 10, MPFR_RNDN);
        mpfr_init(r26398);
        mpfr_init(r26399);
        mpfr_init(r26400);
        mpfr_init(r26401);
        mpfr_init(r26402);
        mpfr_init(r26403);
        mpfr_init(r26404);
        mpfr_init(r26405);
        mpfr_init(r26406);
        mpfr_init(r26407);
        mpfr_init(r26408);
        mpfr_init(r26409);
}

double f_fm(double c0, double A, double V, double l) {
        ;
        mpfr_set_d(r26377, V, MPFR_RNDN);
        mpfr_set_d(r26378, l, MPFR_RNDN);
        mpfr_mul(r26379, r26377, r26378, MPFR_RNDN);
        mpfr_div(r26380, r26376, r26379, MPFR_RNDN);
        ;
        mpfr_set_si(r26382, mpfr_cmp(r26380, r26381) <= 0, MPFR_RNDN);
        mpfr_set_d(r26383, c0, MPFR_RNDN);
        mpfr_sqrt(r26384, r26376, MPFR_RNDN);
        mpfr_mul(r26385, r26383, r26384, MPFR_RNDN);
        mpfr_set_d(r26386, A, MPFR_RNDN);
        mpfr_div(r26387, r26379, r26386, MPFR_RNDN);
        mpfr_sqrt(r26388, r26387, MPFR_RNDN);
        mpfr_div(r26389, r26385, r26388, MPFR_RNDN);
        ;
        mpfr_set_si(r26391, mpfr_cmp(r26380, r26390) <= 0, MPFR_RNDN);
        mpfr_div(r26392, r26386, r26379, MPFR_RNDN);
        mpfr_sqrt(r26393, r26392, MPFR_RNDN);
        mpfr_sqrt(r26394, r26393, MPFR_RNDN);
        mpfr_mul(r26395, r26383, r26394, MPFR_RNDN);
        mpfr_mul(r26396, r26395, r26394, MPFR_RNDN);
        ;
        mpfr_set_si(r26398, mpfr_cmp(r26380, r26397) <= 0, MPFR_RNDN);
        mpfr_div(r26399, r26386, r26377, MPFR_RNDN);
        mpfr_div(r26400, r26399, r26378, MPFR_RNDN);
        mpfr_sqrt(r26401, r26400, MPFR_RNDN);
        mpfr_mul(r26402, r26383, r26401, MPFR_RNDN);
        mpfr_sqrt(r26403, r26386, MPFR_RNDN);
        mpfr_sqrt(r26404, r26379, MPFR_RNDN);
        mpfr_div(r26405, r26403, r26404, MPFR_RNDN);
        mpfr_mul(r26406, r26383, r26405, MPFR_RNDN);
        if (mpfr_get_si(r26398, MPFR_RNDN)) { mpfr_set(r26407, r26402, MPFR_RNDN); } else { mpfr_set(r26407, r26406, MPFR_RNDN); };
        if (mpfr_get_si(r26391, MPFR_RNDN)) { mpfr_set(r26408, r26396, MPFR_RNDN); } else { mpfr_set(r26408, r26407, MPFR_RNDN); };
        if (mpfr_get_si(r26382, MPFR_RNDN)) { mpfr_set(r26409, r26389, MPFR_RNDN); } else { mpfr_set(r26409, r26408, MPFR_RNDN); };
        return mpfr_get_d(r26409, MPFR_RNDN);
}

static mpfr_t r26410, r26411, r26412, r26413, r26414, r26415, r26416, r26417, r26418, r26419, r26420, r26421, r26422, r26423, r26424, r26425, r26426, r26427, r26428, r26429, r26430, r26431, r26432, r26433, r26434, r26435, r26436, r26437, r26438, r26439, r26440, r26441, r26442, r26443;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(592);
        mpfr_init_set_str(r26410, "1", 10, MPFR_RNDN);
        mpfr_init(r26411);
        mpfr_init(r26412);
        mpfr_init(r26413);
        mpfr_init(r26414);
        mpfr_init_set_str(r26415, "-3.767671897931721e+27", 10, MPFR_RNDN);
        mpfr_init(r26416);
        mpfr_init(r26417);
        mpfr_init(r26418);
        mpfr_init(r26419);
        mpfr_init(r26420);
        mpfr_init(r26421);
        mpfr_init(r26422);
        mpfr_init(r26423);
        mpfr_init_set_str(r26424, "-2.9824307461679933e-248", 10, MPFR_RNDN);
        mpfr_init(r26425);
        mpfr_init(r26426);
        mpfr_init(r26427);
        mpfr_init(r26428);
        mpfr_init(r26429);
        mpfr_init(r26430);
        mpfr_init_set_str(r26431, "7.59312080698644e-301", 10, MPFR_RNDN);
        mpfr_init(r26432);
        mpfr_init(r26433);
        mpfr_init(r26434);
        mpfr_init(r26435);
        mpfr_init(r26436);
        mpfr_init(r26437);
        mpfr_init(r26438);
        mpfr_init(r26439);
        mpfr_init(r26440);
        mpfr_init(r26441);
        mpfr_init(r26442);
        mpfr_init(r26443);
}

double f_dm(double c0, double A, double V, double l) {
        ;
        mpfr_set_d(r26411, V, MPFR_RNDN);
        mpfr_set_d(r26412, l, MPFR_RNDN);
        mpfr_mul(r26413, r26411, r26412, MPFR_RNDN);
        mpfr_div(r26414, r26410, r26413, MPFR_RNDN);
        ;
        mpfr_set_si(r26416, mpfr_cmp(r26414, r26415) <= 0, MPFR_RNDN);
        mpfr_set_d(r26417, c0, MPFR_RNDN);
        mpfr_sqrt(r26418, r26410, MPFR_RNDN);
        mpfr_mul(r26419, r26417, r26418, MPFR_RNDN);
        mpfr_set_d(r26420, A, MPFR_RNDN);
        mpfr_div(r26421, r26413, r26420, MPFR_RNDN);
        mpfr_sqrt(r26422, r26421, MPFR_RNDN);
        mpfr_div(r26423, r26419, r26422, MPFR_RNDN);
        ;
        mpfr_set_si(r26425, mpfr_cmp(r26414, r26424) <= 0, MPFR_RNDN);
        mpfr_div(r26426, r26420, r26413, MPFR_RNDN);
        mpfr_sqrt(r26427, r26426, MPFR_RNDN);
        mpfr_sqrt(r26428, r26427, MPFR_RNDN);
        mpfr_mul(r26429, r26417, r26428, MPFR_RNDN);
        mpfr_mul(r26430, r26429, r26428, MPFR_RNDN);
        ;
        mpfr_set_si(r26432, mpfr_cmp(r26414, r26431) <= 0, MPFR_RNDN);
        mpfr_div(r26433, r26420, r26411, MPFR_RNDN);
        mpfr_div(r26434, r26433, r26412, MPFR_RNDN);
        mpfr_sqrt(r26435, r26434, MPFR_RNDN);
        mpfr_mul(r26436, r26417, r26435, MPFR_RNDN);
        mpfr_sqrt(r26437, r26420, MPFR_RNDN);
        mpfr_sqrt(r26438, r26413, MPFR_RNDN);
        mpfr_div(r26439, r26437, r26438, MPFR_RNDN);
        mpfr_mul(r26440, r26417, r26439, MPFR_RNDN);
        if (mpfr_get_si(r26432, MPFR_RNDN)) { mpfr_set(r26441, r26436, MPFR_RNDN); } else { mpfr_set(r26441, r26440, MPFR_RNDN); };
        if (mpfr_get_si(r26425, MPFR_RNDN)) { mpfr_set(r26442, r26430, MPFR_RNDN); } else { mpfr_set(r26442, r26441, MPFR_RNDN); };
        if (mpfr_get_si(r26416, MPFR_RNDN)) { mpfr_set(r26443, r26423, MPFR_RNDN); } else { mpfr_set(r26443, r26442, MPFR_RNDN); };
        return mpfr_get_d(r26443, MPFR_RNDN);
}

