#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 r26555 = c0;
        float r26556 = A;
        float r26557 = V;
        float r26558 = l;
        float r26559 = r26557 * r26558;
        float r26560 = r26556 / r26559;
        float r26561 = sqrt(r26560);
        float r26562 = r26555 * r26561;
        return r26562;
}

double f_id(double c0, double A, double V, double l) {
        double r26563 = c0;
        double r26564 = A;
        double r26565 = V;
        double r26566 = l;
        double r26567 = r26565 * r26566;
        double r26568 = r26564 / r26567;
        double r26569 = sqrt(r26568);
        double r26570 = r26563 * r26569;
        return r26570;
}


double f_of(float c0, float A, float V, float l) {
        float r26571 = 1;
        float r26572 = V;
        float r26573 = l;
        float r26574 = r26572 * r26573;
        float r26575 = r26571 / r26574;
        float r26576 = -1.6519441291039242e+307;
        bool r26577 = r26575 <= r26576;
        float r26578 = c0;
        float r26579 = A;
        float r26580 = r26579 / r26572;
        float r26581 = r26580 / r26573;
        float r26582 = sqrt(r26581);
        float r26583 = r26578 * r26582;
        float r26584 = -2.686525449805782e-273;
        bool r26585 = r26575 <= r26584;
        float r26586 = r26579 / r26574;
        float r26587 = sqrt(r26586);
        float r26588 = r26578 * r26587;
        float r26589 = 5.473538165601721e-258;
        bool r26590 = r26575 <= r26589;
        float r26591 = 1.1096265697601367e+308;
        bool r26592 = r26575 <= r26591;
        float r26593 = sqrt(r26579);
        float r26594 = sqrt(r26574);
        float r26595 = r26593 / r26594;
        float r26596 = r26578 * r26595;
        float r26597 = sqrt(r26580);
        float r26598 = r26578 * r26597;
        float r26599 = r26571 / r26573;
        float r26600 = sqrt(r26599);
        float r26601 = r26598 * r26600;
        float r26602 = r26592 ? r26596 : r26601;
        float r26603 = r26590 ? r26583 : r26602;
        float r26604 = r26585 ? r26588 : r26603;
        float r26605 = r26577 ? r26583 : r26604;
        return r26605;
}

double f_od(double c0, double A, double V, double l) {
        double r26606 = 1;
        double r26607 = V;
        double r26608 = l;
        double r26609 = r26607 * r26608;
        double r26610 = r26606 / r26609;
        double r26611 = -1.6519441291039242e+307;
        bool r26612 = r26610 <= r26611;
        double r26613 = c0;
        double r26614 = A;
        double r26615 = r26614 / r26607;
        double r26616 = r26615 / r26608;
        double r26617 = sqrt(r26616);
        double r26618 = r26613 * r26617;
        double r26619 = -2.686525449805782e-273;
        bool r26620 = r26610 <= r26619;
        double r26621 = r26614 / r26609;
        double r26622 = sqrt(r26621);
        double r26623 = r26613 * r26622;
        double r26624 = 5.473538165601721e-258;
        bool r26625 = r26610 <= r26624;
        double r26626 = 1.1096265697601367e+308;
        bool r26627 = r26610 <= r26626;
        double r26628 = sqrt(r26614);
        double r26629 = sqrt(r26609);
        double r26630 = r26628 / r26629;
        double r26631 = r26613 * r26630;
        double r26632 = sqrt(r26615);
        double r26633 = r26613 * r26632;
        double r26634 = r26606 / r26608;
        double r26635 = sqrt(r26634);
        double r26636 = r26633 * r26635;
        double r26637 = r26627 ? r26631 : r26636;
        double r26638 = r26625 ? r26618 : r26637;
        double r26639 = r26620 ? r26623 : r26638;
        double r26640 = r26612 ? r26618 : r26639;
        return r26640;
}

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 r26641, r26642, r26643, r26644, r26645, r26646, r26647, r26648;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(592);
        mpfr_init(r26641);
        mpfr_init(r26642);
        mpfr_init(r26643);
        mpfr_init(r26644);
        mpfr_init(r26645);
        mpfr_init(r26646);
        mpfr_init(r26647);
        mpfr_init(r26648);
}

double f_im(double c0, double A, double V, double l) {
        mpfr_set_d(r26641, c0, MPFR_RNDN);
        mpfr_set_d(r26642, A, MPFR_RNDN);
        mpfr_set_d(r26643, V, MPFR_RNDN);
        mpfr_set_d(r26644, l, MPFR_RNDN);
        mpfr_mul(r26645, r26643, r26644, MPFR_RNDN);
        mpfr_div(r26646, r26642, r26645, MPFR_RNDN);
        mpfr_sqrt(r26647, r26646, MPFR_RNDN);
        mpfr_mul(r26648, r26641, r26647, MPFR_RNDN);
        return mpfr_get_d(r26648, MPFR_RNDN);
}

static mpfr_t r26649, r26650, r26651, r26652, r26653, r26654, r26655, r26656, r26657, r26658, r26659, r26660, r26661, r26662, r26663, r26664, r26665, r26666, r26667, r26668, r26669, r26670, r26671, r26672, r26673, r26674, r26675, r26676, r26677, r26678, r26679, r26680, r26681, r26682, r26683;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(592);
        mpfr_init_set_str(r26649, "1", 10, MPFR_RNDN);
        mpfr_init(r26650);
        mpfr_init(r26651);
        mpfr_init(r26652);
        mpfr_init(r26653);
        mpfr_init_set_str(r26654, "-1.6519441291039242e+307", 10, MPFR_RNDN);
        mpfr_init(r26655);
        mpfr_init(r26656);
        mpfr_init(r26657);
        mpfr_init(r26658);
        mpfr_init(r26659);
        mpfr_init(r26660);
        mpfr_init(r26661);
        mpfr_init_set_str(r26662, "-2.686525449805782e-273", 10, MPFR_RNDN);
        mpfr_init(r26663);
        mpfr_init(r26664);
        mpfr_init(r26665);
        mpfr_init(r26666);
        mpfr_init_set_str(r26667, "5.473538165601721e-258", 10, MPFR_RNDN);
        mpfr_init(r26668);
        mpfr_init_set_str(r26669, "1.1096265697601367e+308", 10, MPFR_RNDN);
        mpfr_init(r26670);
        mpfr_init(r26671);
        mpfr_init(r26672);
        mpfr_init(r26673);
        mpfr_init(r26674);
        mpfr_init(r26675);
        mpfr_init(r26676);
        mpfr_init(r26677);
        mpfr_init(r26678);
        mpfr_init(r26679);
        mpfr_init(r26680);
        mpfr_init(r26681);
        mpfr_init(r26682);
        mpfr_init(r26683);
}

double f_fm(double c0, double A, double V, double l) {
        ;
        mpfr_set_d(r26650, V, MPFR_RNDN);
        mpfr_set_d(r26651, l, MPFR_RNDN);
        mpfr_mul(r26652, r26650, r26651, MPFR_RNDN);
        mpfr_div(r26653, r26649, r26652, MPFR_RNDN);
        ;
        mpfr_set_si(r26655, mpfr_cmp(r26653, r26654) <= 0, MPFR_RNDN);
        mpfr_set_d(r26656, c0, MPFR_RNDN);
        mpfr_set_d(r26657, A, MPFR_RNDN);
        mpfr_div(r26658, r26657, r26650, MPFR_RNDN);
        mpfr_div(r26659, r26658, r26651, MPFR_RNDN);
        mpfr_sqrt(r26660, r26659, MPFR_RNDN);
        mpfr_mul(r26661, r26656, r26660, MPFR_RNDN);
        ;
        mpfr_set_si(r26663, mpfr_cmp(r26653, r26662) <= 0, MPFR_RNDN);
        mpfr_div(r26664, r26657, r26652, MPFR_RNDN);
        mpfr_sqrt(r26665, r26664, MPFR_RNDN);
        mpfr_mul(r26666, r26656, r26665, MPFR_RNDN);
        ;
        mpfr_set_si(r26668, mpfr_cmp(r26653, r26667) <= 0, MPFR_RNDN);
        ;
        mpfr_set_si(r26670, mpfr_cmp(r26653, r26669) <= 0, MPFR_RNDN);
        mpfr_sqrt(r26671, r26657, MPFR_RNDN);
        mpfr_sqrt(r26672, r26652, MPFR_RNDN);
        mpfr_div(r26673, r26671, r26672, MPFR_RNDN);
        mpfr_mul(r26674, r26656, r26673, MPFR_RNDN);
        mpfr_sqrt(r26675, r26658, MPFR_RNDN);
        mpfr_mul(r26676, r26656, r26675, MPFR_RNDN);
        mpfr_div(r26677, r26649, r26651, MPFR_RNDN);
        mpfr_sqrt(r26678, r26677, MPFR_RNDN);
        mpfr_mul(r26679, r26676, r26678, MPFR_RNDN);
        if (mpfr_get_si(r26670, MPFR_RNDN)) { mpfr_set(r26680, r26674, MPFR_RNDN); } else { mpfr_set(r26680, r26679, MPFR_RNDN); };
        if (mpfr_get_si(r26668, MPFR_RNDN)) { mpfr_set(r26681, r26661, MPFR_RNDN); } else { mpfr_set(r26681, r26680, MPFR_RNDN); };
        if (mpfr_get_si(r26663, MPFR_RNDN)) { mpfr_set(r26682, r26666, MPFR_RNDN); } else { mpfr_set(r26682, r26681, MPFR_RNDN); };
        if (mpfr_get_si(r26655, MPFR_RNDN)) { mpfr_set(r26683, r26661, MPFR_RNDN); } else { mpfr_set(r26683, r26682, MPFR_RNDN); };
        return mpfr_get_d(r26683, MPFR_RNDN);
}

static mpfr_t r26684, r26685, r26686, r26687, r26688, r26689, r26690, r26691, r26692, r26693, r26694, r26695, r26696, r26697, r26698, r26699, r26700, r26701, r26702, r26703, r26704, r26705, r26706, r26707, r26708, r26709, r26710, r26711, r26712, r26713, r26714, r26715, r26716, r26717, r26718;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(592);
        mpfr_init_set_str(r26684, "1", 10, MPFR_RNDN);
        mpfr_init(r26685);
        mpfr_init(r26686);
        mpfr_init(r26687);
        mpfr_init(r26688);
        mpfr_init_set_str(r26689, "-1.6519441291039242e+307", 10, MPFR_RNDN);
        mpfr_init(r26690);
        mpfr_init(r26691);
        mpfr_init(r26692);
        mpfr_init(r26693);
        mpfr_init(r26694);
        mpfr_init(r26695);
        mpfr_init(r26696);
        mpfr_init_set_str(r26697, "-2.686525449805782e-273", 10, MPFR_RNDN);
        mpfr_init(r26698);
        mpfr_init(r26699);
        mpfr_init(r26700);
        mpfr_init(r26701);
        mpfr_init_set_str(r26702, "5.473538165601721e-258", 10, MPFR_RNDN);
        mpfr_init(r26703);
        mpfr_init_set_str(r26704, "1.1096265697601367e+308", 10, MPFR_RNDN);
        mpfr_init(r26705);
        mpfr_init(r26706);
        mpfr_init(r26707);
        mpfr_init(r26708);
        mpfr_init(r26709);
        mpfr_init(r26710);
        mpfr_init(r26711);
        mpfr_init(r26712);
        mpfr_init(r26713);
        mpfr_init(r26714);
        mpfr_init(r26715);
        mpfr_init(r26716);
        mpfr_init(r26717);
        mpfr_init(r26718);
}

double f_dm(double c0, double A, double V, double l) {
        ;
        mpfr_set_d(r26685, V, MPFR_RNDN);
        mpfr_set_d(r26686, l, MPFR_RNDN);
        mpfr_mul(r26687, r26685, r26686, MPFR_RNDN);
        mpfr_div(r26688, r26684, r26687, MPFR_RNDN);
        ;
        mpfr_set_si(r26690, mpfr_cmp(r26688, r26689) <= 0, MPFR_RNDN);
        mpfr_set_d(r26691, c0, MPFR_RNDN);
        mpfr_set_d(r26692, A, MPFR_RNDN);
        mpfr_div(r26693, r26692, r26685, MPFR_RNDN);
        mpfr_div(r26694, r26693, r26686, MPFR_RNDN);
        mpfr_sqrt(r26695, r26694, MPFR_RNDN);
        mpfr_mul(r26696, r26691, r26695, MPFR_RNDN);
        ;
        mpfr_set_si(r26698, mpfr_cmp(r26688, r26697) <= 0, MPFR_RNDN);
        mpfr_div(r26699, r26692, r26687, MPFR_RNDN);
        mpfr_sqrt(r26700, r26699, MPFR_RNDN);
        mpfr_mul(r26701, r26691, r26700, MPFR_RNDN);
        ;
        mpfr_set_si(r26703, mpfr_cmp(r26688, r26702) <= 0, MPFR_RNDN);
        ;
        mpfr_set_si(r26705, mpfr_cmp(r26688, r26704) <= 0, MPFR_RNDN);
        mpfr_sqrt(r26706, r26692, MPFR_RNDN);
        mpfr_sqrt(r26707, r26687, MPFR_RNDN);
        mpfr_div(r26708, r26706, r26707, MPFR_RNDN);
        mpfr_mul(r26709, r26691, r26708, MPFR_RNDN);
        mpfr_sqrt(r26710, r26693, MPFR_RNDN);
        mpfr_mul(r26711, r26691, r26710, MPFR_RNDN);
        mpfr_div(r26712, r26684, r26686, MPFR_RNDN);
        mpfr_sqrt(r26713, r26712, MPFR_RNDN);
        mpfr_mul(r26714, r26711, r26713, MPFR_RNDN);
        if (mpfr_get_si(r26705, MPFR_RNDN)) { mpfr_set(r26715, r26709, MPFR_RNDN); } else { mpfr_set(r26715, r26714, MPFR_RNDN); };
        if (mpfr_get_si(r26703, MPFR_RNDN)) { mpfr_set(r26716, r26696, MPFR_RNDN); } else { mpfr_set(r26716, r26715, MPFR_RNDN); };
        if (mpfr_get_si(r26698, MPFR_RNDN)) { mpfr_set(r26717, r26701, MPFR_RNDN); } else { mpfr_set(r26717, r26716, MPFR_RNDN); };
        if (mpfr_get_si(r26690, MPFR_RNDN)) { mpfr_set(r26718, r26696, MPFR_RNDN); } else { mpfr_set(r26718, r26717, MPFR_RNDN); };
        return mpfr_get_d(r26718, MPFR_RNDN);
}

