#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 r26112 = c0;
        float r26113 = A;
        float r26114 = V;
        float r26115 = l;
        float r26116 = r26114 * r26115;
        float r26117 = r26113 / r26116;
        float r26118 = sqrt(r26117);
        float r26119 = r26112 * r26118;
        return r26119;
}

double f_id(double c0, double A, double V, double l) {
        double r26120 = c0;
        double r26121 = A;
        double r26122 = V;
        double r26123 = l;
        double r26124 = r26122 * r26123;
        double r26125 = r26121 / r26124;
        double r26126 = sqrt(r26125);
        double r26127 = r26120 * r26126;
        return r26127;
}


double f_of(float c0, float A, float V, float l) {
        float r26128 = 1;
        float r26129 = V;
        float r26130 = l;
        float r26131 = r26129 * r26130;
        float r26132 = r26128 / r26131;
        float r26133 = -2.5753218311097967e+70;
        bool r26134 = r26132 <= r26133;
        float r26135 = c0;
        float r26136 = A;
        float r26137 = r26136 / r26129;
        float r26138 = cbrt(r26137);
        float r26139 = fabs(r26138);
        float r26140 = r26130 / r26138;
        float r26141 = sqrt(r26140);
        float r26142 = r26139 / r26141;
        float r26143 = r26135 * r26142;
        float r26144 = -7.992760603464358e-61;
        bool r26145 = r26132 <= r26144;
        float r26146 = r26136 / r26131;
        float r26147 = sqrt(r26146);
        float r26148 = r26135 * r26147;
        float r26149 = 1.1469551436298865e-276;
        bool r26150 = r26132 <= r26149;
        float r26151 = 1.2739427392579735e+301;
        bool r26152 = r26132 <= r26151;
        float r26153 = sqrt(r26136);
        float r26154 = sqrt(r26131);
        float r26155 = r26153 / r26154;
        float r26156 = r26135 * r26155;
        float r26157 = cbrt(r26136);
        float r26158 = r26130 / r26157;
        float r26159 = r26138 / r26158;
        float r26160 = sqrt(r26159);
        float r26161 = cbrt(r26129);
        float r26162 = r26138 / r26161;
        float r26163 = sqrt(r26162);
        float r26164 = r26160 * r26163;
        float r26165 = r26135 * r26164;
        float r26166 = r26152 ? r26156 : r26165;
        float r26167 = r26150 ? r26143 : r26166;
        float r26168 = r26145 ? r26148 : r26167;
        float r26169 = r26134 ? r26143 : r26168;
        return r26169;
}

double f_od(double c0, double A, double V, double l) {
        double r26170 = 1;
        double r26171 = V;
        double r26172 = l;
        double r26173 = r26171 * r26172;
        double r26174 = r26170 / r26173;
        double r26175 = -2.5753218311097967e+70;
        bool r26176 = r26174 <= r26175;
        double r26177 = c0;
        double r26178 = A;
        double r26179 = r26178 / r26171;
        double r26180 = cbrt(r26179);
        double r26181 = fabs(r26180);
        double r26182 = r26172 / r26180;
        double r26183 = sqrt(r26182);
        double r26184 = r26181 / r26183;
        double r26185 = r26177 * r26184;
        double r26186 = -7.992760603464358e-61;
        bool r26187 = r26174 <= r26186;
        double r26188 = r26178 / r26173;
        double r26189 = sqrt(r26188);
        double r26190 = r26177 * r26189;
        double r26191 = 1.1469551436298865e-276;
        bool r26192 = r26174 <= r26191;
        double r26193 = 1.2739427392579735e+301;
        bool r26194 = r26174 <= r26193;
        double r26195 = sqrt(r26178);
        double r26196 = sqrt(r26173);
        double r26197 = r26195 / r26196;
        double r26198 = r26177 * r26197;
        double r26199 = cbrt(r26178);
        double r26200 = r26172 / r26199;
        double r26201 = r26180 / r26200;
        double r26202 = sqrt(r26201);
        double r26203 = cbrt(r26171);
        double r26204 = r26180 / r26203;
        double r26205 = sqrt(r26204);
        double r26206 = r26202 * r26205;
        double r26207 = r26177 * r26206;
        double r26208 = r26194 ? r26198 : r26207;
        double r26209 = r26192 ? r26185 : r26208;
        double r26210 = r26187 ? r26190 : r26209;
        double r26211 = r26176 ? r26185 : r26210;
        return r26211;
}

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 r26212, r26213, r26214, r26215, r26216, r26217, r26218, r26219;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(592);
        mpfr_init(r26212);
        mpfr_init(r26213);
        mpfr_init(r26214);
        mpfr_init(r26215);
        mpfr_init(r26216);
        mpfr_init(r26217);
        mpfr_init(r26218);
        mpfr_init(r26219);
}

double f_im(double c0, double A, double V, double l) {
        mpfr_set_d(r26212, c0, MPFR_RNDN);
        mpfr_set_d(r26213, A, MPFR_RNDN);
        mpfr_set_d(r26214, V, MPFR_RNDN);
        mpfr_set_d(r26215, l, MPFR_RNDN);
        mpfr_mul(r26216, r26214, r26215, MPFR_RNDN);
        mpfr_div(r26217, r26213, r26216, MPFR_RNDN);
        mpfr_sqrt(r26218, r26217, MPFR_RNDN);
        mpfr_mul(r26219, r26212, r26218, MPFR_RNDN);
        return mpfr_get_d(r26219, MPFR_RNDN);
}

static mpfr_t r26220, r26221, r26222, r26223, r26224, r26225, r26226, r26227, r26228, r26229, r26230, r26231, r26232, r26233, r26234, r26235, r26236, r26237, r26238, r26239, r26240, r26241, r26242, r26243, r26244, r26245, r26246, r26247, r26248, r26249, r26250, r26251, r26252, r26253, r26254, r26255, r26256, r26257, r26258, r26259, r26260, r26261;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(592);
        mpfr_init_set_str(r26220, "1", 10, MPFR_RNDN);
        mpfr_init(r26221);
        mpfr_init(r26222);
        mpfr_init(r26223);
        mpfr_init(r26224);
        mpfr_init_set_str(r26225, "-2.5753218311097967e+70", 10, MPFR_RNDN);
        mpfr_init(r26226);
        mpfr_init(r26227);
        mpfr_init(r26228);
        mpfr_init(r26229);
        mpfr_init(r26230);
        mpfr_init(r26231);
        mpfr_init(r26232);
        mpfr_init(r26233);
        mpfr_init(r26234);
        mpfr_init(r26235);
        mpfr_init_set_str(r26236, "-7.992760603464358e-61", 10, MPFR_RNDN);
        mpfr_init(r26237);
        mpfr_init(r26238);
        mpfr_init(r26239);
        mpfr_init(r26240);
        mpfr_init_set_str(r26241, "1.1469551436298865e-276", 10, MPFR_RNDN);
        mpfr_init(r26242);
        mpfr_init_set_str(r26243, "1.2739427392579735e+301", 10, MPFR_RNDN);
        mpfr_init(r26244);
        mpfr_init(r26245);
        mpfr_init(r26246);
        mpfr_init(r26247);
        mpfr_init(r26248);
        mpfr_init(r26249);
        mpfr_init(r26250);
        mpfr_init(r26251);
        mpfr_init(r26252);
        mpfr_init(r26253);
        mpfr_init(r26254);
        mpfr_init(r26255);
        mpfr_init(r26256);
        mpfr_init(r26257);
        mpfr_init(r26258);
        mpfr_init(r26259);
        mpfr_init(r26260);
        mpfr_init(r26261);
}

double f_fm(double c0, double A, double V, double l) {
        ;
        mpfr_set_d(r26221, V, MPFR_RNDN);
        mpfr_set_d(r26222, l, MPFR_RNDN);
        mpfr_mul(r26223, r26221, r26222, MPFR_RNDN);
        mpfr_div(r26224, r26220, r26223, MPFR_RNDN);
        ;
        mpfr_set_si(r26226, mpfr_cmp(r26224, r26225) <= 0, MPFR_RNDN);
        mpfr_set_d(r26227, c0, MPFR_RNDN);
        mpfr_set_d(r26228, A, MPFR_RNDN);
        mpfr_div(r26229, r26228, r26221, MPFR_RNDN);
        mpfr_cbrt(r26230, r26229, MPFR_RNDN);
        mpfr_abs(r26231, r26230, MPFR_RNDN);
        mpfr_div(r26232, r26222, r26230, MPFR_RNDN);
        mpfr_sqrt(r26233, r26232, MPFR_RNDN);
        mpfr_div(r26234, r26231, r26233, MPFR_RNDN);
        mpfr_mul(r26235, r26227, r26234, MPFR_RNDN);
        ;
        mpfr_set_si(r26237, mpfr_cmp(r26224, r26236) <= 0, MPFR_RNDN);
        mpfr_div(r26238, r26228, r26223, MPFR_RNDN);
        mpfr_sqrt(r26239, r26238, MPFR_RNDN);
        mpfr_mul(r26240, r26227, r26239, MPFR_RNDN);
        ;
        mpfr_set_si(r26242, mpfr_cmp(r26224, r26241) <= 0, MPFR_RNDN);
        ;
        mpfr_set_si(r26244, mpfr_cmp(r26224, r26243) <= 0, MPFR_RNDN);
        mpfr_sqrt(r26245, r26228, MPFR_RNDN);
        mpfr_sqrt(r26246, r26223, MPFR_RNDN);
        mpfr_div(r26247, r26245, r26246, MPFR_RNDN);
        mpfr_mul(r26248, r26227, r26247, MPFR_RNDN);
        mpfr_cbrt(r26249, r26228, MPFR_RNDN);
        mpfr_div(r26250, r26222, r26249, MPFR_RNDN);
        mpfr_div(r26251, r26230, r26250, MPFR_RNDN);
        mpfr_sqrt(r26252, r26251, MPFR_RNDN);
        mpfr_cbrt(r26253, r26221, MPFR_RNDN);
        mpfr_div(r26254, r26230, r26253, MPFR_RNDN);
        mpfr_sqrt(r26255, r26254, MPFR_RNDN);
        mpfr_mul(r26256, r26252, r26255, MPFR_RNDN);
        mpfr_mul(r26257, r26227, r26256, MPFR_RNDN);
        if (mpfr_get_si(r26244, MPFR_RNDN)) { mpfr_set(r26258, r26248, MPFR_RNDN); } else { mpfr_set(r26258, r26257, MPFR_RNDN); };
        if (mpfr_get_si(r26242, MPFR_RNDN)) { mpfr_set(r26259, r26235, MPFR_RNDN); } else { mpfr_set(r26259, r26258, MPFR_RNDN); };
        if (mpfr_get_si(r26237, MPFR_RNDN)) { mpfr_set(r26260, r26240, MPFR_RNDN); } else { mpfr_set(r26260, r26259, MPFR_RNDN); };
        if (mpfr_get_si(r26226, MPFR_RNDN)) { mpfr_set(r26261, r26235, MPFR_RNDN); } else { mpfr_set(r26261, r26260, MPFR_RNDN); };
        return mpfr_get_d(r26261, MPFR_RNDN);
}

static mpfr_t r26262, r26263, r26264, r26265, r26266, r26267, r26268, r26269, r26270, r26271, 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_dm() {
        mpfr_set_default_prec(592);
        mpfr_init_set_str(r26262, "1", 10, MPFR_RNDN);
        mpfr_init(r26263);
        mpfr_init(r26264);
        mpfr_init(r26265);
        mpfr_init(r26266);
        mpfr_init_set_str(r26267, "-2.5753218311097967e+70", 10, MPFR_RNDN);
        mpfr_init(r26268);
        mpfr_init(r26269);
        mpfr_init(r26270);
        mpfr_init(r26271);
        mpfr_init(r26272);
        mpfr_init(r26273);
        mpfr_init(r26274);
        mpfr_init(r26275);
        mpfr_init(r26276);
        mpfr_init(r26277);
        mpfr_init_set_str(r26278, "-7.992760603464358e-61", 10, MPFR_RNDN);
        mpfr_init(r26279);
        mpfr_init(r26280);
        mpfr_init(r26281);
        mpfr_init(r26282);
        mpfr_init_set_str(r26283, "1.1469551436298865e-276", 10, MPFR_RNDN);
        mpfr_init(r26284);
        mpfr_init_set_str(r26285, "1.2739427392579735e+301", 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(r26295);
        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_dm(double c0, double A, double V, double l) {
        ;
        mpfr_set_d(r26263, V, MPFR_RNDN);
        mpfr_set_d(r26264, l, MPFR_RNDN);
        mpfr_mul(r26265, r26263, r26264, MPFR_RNDN);
        mpfr_div(r26266, r26262, r26265, MPFR_RNDN);
        ;
        mpfr_set_si(r26268, mpfr_cmp(r26266, r26267) <= 0, MPFR_RNDN);
        mpfr_set_d(r26269, c0, MPFR_RNDN);
        mpfr_set_d(r26270, A, MPFR_RNDN);
        mpfr_div(r26271, r26270, r26263, MPFR_RNDN);
        mpfr_cbrt(r26272, r26271, MPFR_RNDN);
        mpfr_abs(r26273, r26272, MPFR_RNDN);
        mpfr_div(r26274, r26264, r26272, MPFR_RNDN);
        mpfr_sqrt(r26275, r26274, MPFR_RNDN);
        mpfr_div(r26276, r26273, r26275, MPFR_RNDN);
        mpfr_mul(r26277, r26269, r26276, MPFR_RNDN);
        ;
        mpfr_set_si(r26279, mpfr_cmp(r26266, r26278) <= 0, MPFR_RNDN);
        mpfr_div(r26280, r26270, r26265, MPFR_RNDN);
        mpfr_sqrt(r26281, r26280, MPFR_RNDN);
        mpfr_mul(r26282, r26269, r26281, MPFR_RNDN);
        ;
        mpfr_set_si(r26284, mpfr_cmp(r26266, r26283) <= 0, MPFR_RNDN);
        ;
        mpfr_set_si(r26286, mpfr_cmp(r26266, r26285) <= 0, MPFR_RNDN);
        mpfr_sqrt(r26287, r26270, MPFR_RNDN);
        mpfr_sqrt(r26288, r26265, MPFR_RNDN);
        mpfr_div(r26289, r26287, r26288, MPFR_RNDN);
        mpfr_mul(r26290, r26269, r26289, MPFR_RNDN);
        mpfr_cbrt(r26291, r26270, MPFR_RNDN);
        mpfr_div(r26292, r26264, r26291, MPFR_RNDN);
        mpfr_div(r26293, r26272, r26292, MPFR_RNDN);
        mpfr_sqrt(r26294, r26293, MPFR_RNDN);
        mpfr_cbrt(r26295, r26263, MPFR_RNDN);
        mpfr_div(r26296, r26272, r26295, MPFR_RNDN);
        mpfr_sqrt(r26297, r26296, MPFR_RNDN);
        mpfr_mul(r26298, r26294, r26297, MPFR_RNDN);
        mpfr_mul(r26299, r26269, r26298, MPFR_RNDN);
        if (mpfr_get_si(r26286, MPFR_RNDN)) { mpfr_set(r26300, r26290, MPFR_RNDN); } else { mpfr_set(r26300, r26299, MPFR_RNDN); };
        if (mpfr_get_si(r26284, MPFR_RNDN)) { mpfr_set(r26301, r26277, MPFR_RNDN); } else { mpfr_set(r26301, r26300, MPFR_RNDN); };
        if (mpfr_get_si(r26279, MPFR_RNDN)) { mpfr_set(r26302, r26282, MPFR_RNDN); } else { mpfr_set(r26302, r26301, MPFR_RNDN); };
        if (mpfr_get_si(r26268, MPFR_RNDN)) { mpfr_set(r26303, r26277, MPFR_RNDN); } else { mpfr_set(r26303, r26302, MPFR_RNDN); };
        return mpfr_get_d(r26303, MPFR_RNDN);
}

