#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 r26604 = c0;
        float r26605 = A;
        float r26606 = V;
        float r26607 = l;
        float r26608 = r26606 * r26607;
        float r26609 = r26605 / r26608;
        float r26610 = sqrt(r26609);
        float r26611 = r26604 * r26610;
        return r26611;
}

double f_id(double c0, double A, double V, double l) {
        double r26612 = c0;
        double r26613 = A;
        double r26614 = V;
        double r26615 = l;
        double r26616 = r26614 * r26615;
        double r26617 = r26613 / r26616;
        double r26618 = sqrt(r26617);
        double r26619 = r26612 * r26618;
        return r26619;
}


double f_of(float c0, float A, float V, float l) {
        float r26620 = 1;
        float r26621 = V;
        float r26622 = l;
        float r26623 = r26621 * r26622;
        float r26624 = r26620 / r26623;
        float r26625 = -2.5197910735702036e+306;
        bool r26626 = r26624 <= r26625;
        float r26627 = c0;
        float r26628 = A;
        float r26629 = r26628 / r26621;
        float r26630 = r26629 / r26622;
        float r26631 = sqrt(r26630);
        float r26632 = r26627 * r26631;
        float r26633 = -1.9247459360749823e-271;
        bool r26634 = r26624 <= r26633;
        float r26635 = r26628 / r26623;
        float r26636 = sqrt(r26635);
        float r26637 = r26627 * r26636;
        float r26638 = 5.473538165601721e-258;
        bool r26639 = r26624 <= r26638;
        float r26640 = 8.04475307759531e+307;
        bool r26641 = r26624 <= r26640;
        float r26642 = sqrt(r26628);
        float r26643 = sqrt(r26623);
        float r26644 = r26642 / r26643;
        float r26645 = r26627 * r26644;
        float r26646 = sqrt(r26629);
        float r26647 = r26627 * r26646;
        float r26648 = r26620 / r26622;
        float r26649 = sqrt(r26648);
        float r26650 = r26647 * r26649;
        float r26651 = r26641 ? r26645 : r26650;
        float r26652 = r26639 ? r26632 : r26651;
        float r26653 = r26634 ? r26637 : r26652;
        float r26654 = r26626 ? r26632 : r26653;
        return r26654;
}

double f_od(double c0, double A, double V, double l) {
        double r26655 = 1;
        double r26656 = V;
        double r26657 = l;
        double r26658 = r26656 * r26657;
        double r26659 = r26655 / r26658;
        double r26660 = -2.5197910735702036e+306;
        bool r26661 = r26659 <= r26660;
        double r26662 = c0;
        double r26663 = A;
        double r26664 = r26663 / r26656;
        double r26665 = r26664 / r26657;
        double r26666 = sqrt(r26665);
        double r26667 = r26662 * r26666;
        double r26668 = -1.9247459360749823e-271;
        bool r26669 = r26659 <= r26668;
        double r26670 = r26663 / r26658;
        double r26671 = sqrt(r26670);
        double r26672 = r26662 * r26671;
        double r26673 = 5.473538165601721e-258;
        bool r26674 = r26659 <= r26673;
        double r26675 = 8.04475307759531e+307;
        bool r26676 = r26659 <= r26675;
        double r26677 = sqrt(r26663);
        double r26678 = sqrt(r26658);
        double r26679 = r26677 / r26678;
        double r26680 = r26662 * r26679;
        double r26681 = sqrt(r26664);
        double r26682 = r26662 * r26681;
        double r26683 = r26655 / r26657;
        double r26684 = sqrt(r26683);
        double r26685 = r26682 * r26684;
        double r26686 = r26676 ? r26680 : r26685;
        double r26687 = r26674 ? r26667 : r26686;
        double r26688 = r26669 ? r26672 : r26687;
        double r26689 = r26661 ? r26667 : r26688;
        return r26689;
}

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 r26690, r26691, r26692, r26693, r26694, r26695, r26696, r26697;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(592);
        mpfr_init(r26690);
        mpfr_init(r26691);
        mpfr_init(r26692);
        mpfr_init(r26693);
        mpfr_init(r26694);
        mpfr_init(r26695);
        mpfr_init(r26696);
        mpfr_init(r26697);
}

double f_im(double c0, double A, double V, double l) {
        mpfr_set_d(r26690, c0, MPFR_RNDN);
        mpfr_set_d(r26691, A, MPFR_RNDN);
        mpfr_set_d(r26692, V, MPFR_RNDN);
        mpfr_set_d(r26693, l, MPFR_RNDN);
        mpfr_mul(r26694, r26692, r26693, MPFR_RNDN);
        mpfr_div(r26695, r26691, r26694, MPFR_RNDN);
        mpfr_sqrt(r26696, r26695, MPFR_RNDN);
        mpfr_mul(r26697, r26690, r26696, MPFR_RNDN);
        return mpfr_get_d(r26697, MPFR_RNDN);
}

static mpfr_t r26698, r26699, r26700, r26701, r26702, r26703, r26704, r26705, r26706, r26707, r26708, r26709, r26710, r26711, r26712, r26713, r26714, r26715, r26716, r26717, r26718, r26719, r26720, r26721, r26722, r26723, r26724, r26725, r26726, r26727, r26728, r26729, r26730, r26731, r26732;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(592);
        mpfr_init_set_str(r26698, "1", 10, MPFR_RNDN);
        mpfr_init(r26699);
        mpfr_init(r26700);
        mpfr_init(r26701);
        mpfr_init(r26702);
        mpfr_init_set_str(r26703, "-2.5197910735702036e+306", 10, MPFR_RNDN);
        mpfr_init(r26704);
        mpfr_init(r26705);
        mpfr_init(r26706);
        mpfr_init(r26707);
        mpfr_init(r26708);
        mpfr_init(r26709);
        mpfr_init(r26710);
        mpfr_init_set_str(r26711, "-1.9247459360749823e-271", 10, MPFR_RNDN);
        mpfr_init(r26712);
        mpfr_init(r26713);
        mpfr_init(r26714);
        mpfr_init(r26715);
        mpfr_init_set_str(r26716, "5.473538165601721e-258", 10, MPFR_RNDN);
        mpfr_init(r26717);
        mpfr_init_set_str(r26718, "8.04475307759531e+307", 10, MPFR_RNDN);
        mpfr_init(r26719);
        mpfr_init(r26720);
        mpfr_init(r26721);
        mpfr_init(r26722);
        mpfr_init(r26723);
        mpfr_init(r26724);
        mpfr_init(r26725);
        mpfr_init(r26726);
        mpfr_init(r26727);
        mpfr_init(r26728);
        mpfr_init(r26729);
        mpfr_init(r26730);
        mpfr_init(r26731);
        mpfr_init(r26732);
}

double f_fm(double c0, double A, double V, double l) {
        ;
        mpfr_set_d(r26699, V, MPFR_RNDN);
        mpfr_set_d(r26700, l, MPFR_RNDN);
        mpfr_mul(r26701, r26699, r26700, MPFR_RNDN);
        mpfr_div(r26702, r26698, r26701, MPFR_RNDN);
        ;
        mpfr_set_si(r26704, mpfr_cmp(r26702, r26703) <= 0, MPFR_RNDN);
        mpfr_set_d(r26705, c0, MPFR_RNDN);
        mpfr_set_d(r26706, A, MPFR_RNDN);
        mpfr_div(r26707, r26706, r26699, MPFR_RNDN);
        mpfr_div(r26708, r26707, r26700, MPFR_RNDN);
        mpfr_sqrt(r26709, r26708, MPFR_RNDN);
        mpfr_mul(r26710, r26705, r26709, MPFR_RNDN);
        ;
        mpfr_set_si(r26712, mpfr_cmp(r26702, r26711) <= 0, MPFR_RNDN);
        mpfr_div(r26713, r26706, r26701, MPFR_RNDN);
        mpfr_sqrt(r26714, r26713, MPFR_RNDN);
        mpfr_mul(r26715, r26705, r26714, MPFR_RNDN);
        ;
        mpfr_set_si(r26717, mpfr_cmp(r26702, r26716) <= 0, MPFR_RNDN);
        ;
        mpfr_set_si(r26719, mpfr_cmp(r26702, r26718) <= 0, MPFR_RNDN);
        mpfr_sqrt(r26720, r26706, MPFR_RNDN);
        mpfr_sqrt(r26721, r26701, MPFR_RNDN);
        mpfr_div(r26722, r26720, r26721, MPFR_RNDN);
        mpfr_mul(r26723, r26705, r26722, MPFR_RNDN);
        mpfr_sqrt(r26724, r26707, MPFR_RNDN);
        mpfr_mul(r26725, r26705, r26724, MPFR_RNDN);
        mpfr_div(r26726, r26698, r26700, MPFR_RNDN);
        mpfr_sqrt(r26727, r26726, MPFR_RNDN);
        mpfr_mul(r26728, r26725, r26727, MPFR_RNDN);
        if (mpfr_get_si(r26719, MPFR_RNDN)) { mpfr_set(r26729, r26723, MPFR_RNDN); } else { mpfr_set(r26729, r26728, MPFR_RNDN); };
        if (mpfr_get_si(r26717, MPFR_RNDN)) { mpfr_set(r26730, r26710, MPFR_RNDN); } else { mpfr_set(r26730, r26729, MPFR_RNDN); };
        if (mpfr_get_si(r26712, MPFR_RNDN)) { mpfr_set(r26731, r26715, MPFR_RNDN); } else { mpfr_set(r26731, r26730, MPFR_RNDN); };
        if (mpfr_get_si(r26704, MPFR_RNDN)) { mpfr_set(r26732, r26710, MPFR_RNDN); } else { mpfr_set(r26732, r26731, MPFR_RNDN); };
        return mpfr_get_d(r26732, MPFR_RNDN);
}

static mpfr_t r26733, r26734, r26735, r26736, r26737, r26738, r26739, r26740, r26741, r26742, r26743, r26744, r26745, r26746, r26747, r26748, r26749, r26750, r26751, r26752, r26753, r26754, r26755, r26756, r26757, r26758, r26759, r26760, r26761, r26762, r26763, r26764, r26765, r26766, r26767;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(592);
        mpfr_init_set_str(r26733, "1", 10, MPFR_RNDN);
        mpfr_init(r26734);
        mpfr_init(r26735);
        mpfr_init(r26736);
        mpfr_init(r26737);
        mpfr_init_set_str(r26738, "-2.5197910735702036e+306", 10, MPFR_RNDN);
        mpfr_init(r26739);
        mpfr_init(r26740);
        mpfr_init(r26741);
        mpfr_init(r26742);
        mpfr_init(r26743);
        mpfr_init(r26744);
        mpfr_init(r26745);
        mpfr_init_set_str(r26746, "-1.9247459360749823e-271", 10, MPFR_RNDN);
        mpfr_init(r26747);
        mpfr_init(r26748);
        mpfr_init(r26749);
        mpfr_init(r26750);
        mpfr_init_set_str(r26751, "5.473538165601721e-258", 10, MPFR_RNDN);
        mpfr_init(r26752);
        mpfr_init_set_str(r26753, "8.04475307759531e+307", 10, MPFR_RNDN);
        mpfr_init(r26754);
        mpfr_init(r26755);
        mpfr_init(r26756);
        mpfr_init(r26757);
        mpfr_init(r26758);
        mpfr_init(r26759);
        mpfr_init(r26760);
        mpfr_init(r26761);
        mpfr_init(r26762);
        mpfr_init(r26763);
        mpfr_init(r26764);
        mpfr_init(r26765);
        mpfr_init(r26766);
        mpfr_init(r26767);
}

double f_dm(double c0, double A, double V, double l) {
        ;
        mpfr_set_d(r26734, V, MPFR_RNDN);
        mpfr_set_d(r26735, l, MPFR_RNDN);
        mpfr_mul(r26736, r26734, r26735, MPFR_RNDN);
        mpfr_div(r26737, r26733, r26736, MPFR_RNDN);
        ;
        mpfr_set_si(r26739, mpfr_cmp(r26737, r26738) <= 0, MPFR_RNDN);
        mpfr_set_d(r26740, c0, MPFR_RNDN);
        mpfr_set_d(r26741, A, MPFR_RNDN);
        mpfr_div(r26742, r26741, r26734, MPFR_RNDN);
        mpfr_div(r26743, r26742, r26735, MPFR_RNDN);
        mpfr_sqrt(r26744, r26743, MPFR_RNDN);
        mpfr_mul(r26745, r26740, r26744, MPFR_RNDN);
        ;
        mpfr_set_si(r26747, mpfr_cmp(r26737, r26746) <= 0, MPFR_RNDN);
        mpfr_div(r26748, r26741, r26736, MPFR_RNDN);
        mpfr_sqrt(r26749, r26748, MPFR_RNDN);
        mpfr_mul(r26750, r26740, r26749, MPFR_RNDN);
        ;
        mpfr_set_si(r26752, mpfr_cmp(r26737, r26751) <= 0, MPFR_RNDN);
        ;
        mpfr_set_si(r26754, mpfr_cmp(r26737, r26753) <= 0, MPFR_RNDN);
        mpfr_sqrt(r26755, r26741, MPFR_RNDN);
        mpfr_sqrt(r26756, r26736, MPFR_RNDN);
        mpfr_div(r26757, r26755, r26756, MPFR_RNDN);
        mpfr_mul(r26758, r26740, r26757, MPFR_RNDN);
        mpfr_sqrt(r26759, r26742, MPFR_RNDN);
        mpfr_mul(r26760, r26740, r26759, MPFR_RNDN);
        mpfr_div(r26761, r26733, r26735, MPFR_RNDN);
        mpfr_sqrt(r26762, r26761, MPFR_RNDN);
        mpfr_mul(r26763, r26760, r26762, MPFR_RNDN);
        if (mpfr_get_si(r26754, MPFR_RNDN)) { mpfr_set(r26764, r26758, MPFR_RNDN); } else { mpfr_set(r26764, r26763, MPFR_RNDN); };
        if (mpfr_get_si(r26752, MPFR_RNDN)) { mpfr_set(r26765, r26745, MPFR_RNDN); } else { mpfr_set(r26765, r26764, MPFR_RNDN); };
        if (mpfr_get_si(r26747, MPFR_RNDN)) { mpfr_set(r26766, r26750, MPFR_RNDN); } else { mpfr_set(r26766, r26765, MPFR_RNDN); };
        if (mpfr_get_si(r26739, MPFR_RNDN)) { mpfr_set(r26767, r26745, MPFR_RNDN); } else { mpfr_set(r26767, r26766, MPFR_RNDN); };
        return mpfr_get_d(r26767, MPFR_RNDN);
}

