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

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

double f_if(float d, float h, float l, float M, float D) {
        float r10508 = d;
        float r10509 = h;
        float r10510 = r10508 / r10509;
        float r10511 = 1;
        float r10512 = 2;
        float r10513 = r10511 / r10512;
        float r10514 = pow(r10510, r10513);
        float r10515 = l;
        float r10516 = r10508 / r10515;
        float r10517 = pow(r10516, r10513);
        float r10518 = r10514 * r10517;
        float r10519 = M;
        float r10520 = D;
        float r10521 = r10519 * r10520;
        float r10522 = r10512 * r10508;
        float r10523 = r10521 / r10522;
        float r10524 = pow(r10523, r10512);
        float r10525 = r10513 * r10524;
        float r10526 = r10509 / r10515;
        float r10527 = r10525 * r10526;
        float r10528 = r10511 - r10527;
        float r10529 = r10518 * r10528;
        return r10529;
}

double f_id(double d, double h, double l, double M, double D) {
        double r10530 = d;
        double r10531 = h;
        double r10532 = r10530 / r10531;
        double r10533 = 1;
        double r10534 = 2;
        double r10535 = r10533 / r10534;
        double r10536 = pow(r10532, r10535);
        double r10537 = l;
        double r10538 = r10530 / r10537;
        double r10539 = pow(r10538, r10535);
        double r10540 = r10536 * r10539;
        double r10541 = M;
        double r10542 = D;
        double r10543 = r10541 * r10542;
        double r10544 = r10534 * r10530;
        double r10545 = r10543 / r10544;
        double r10546 = pow(r10545, r10534);
        double r10547 = r10535 * r10546;
        double r10548 = r10531 / r10537;
        double r10549 = r10547 * r10548;
        double r10550 = r10533 - r10549;
        double r10551 = r10540 * r10550;
        return r10551;
}


double f_of(float d, float h, float l, float M, float D) {
        float r10552 = 1;
        float r10553 = l;
        float r10554 = r10552 / r10553;
        float r10555 = -2.1580824413528976e+24;
        bool r10556 = r10554 <= r10555;
        float r10557 = d;
        float r10558 = h;
        float r10559 = r10557 / r10558;
        float r10560 = sqrt(r10559);
        float r10561 = 2;
        float r10562 = r10552 / r10561;
        float r10563 = pow(r10560, r10562);
        float r10564 = r10563 * r10563;
        float r10565 = 1/2;
        float r10566 = -1;
        float r10567 = r10566 / r10553;
        float r10568 = log(r10567);
        float r10569 = r10566 / r10557;
        float r10570 = log(r10569);
        float r10571 = r10568 - r10570;
        float r10572 = r10565 * r10571;
        float r10573 = exp(r10572);
        float r10574 = r10564 * r10573;
        float r10575 = M;
        float r10576 = D;
        float r10577 = r10575 * r10576;
        float r10578 = r10561 * r10557;
        float r10579 = r10577 / r10578;
        float r10580 = pow(r10579, r10561);
        float r10581 = r10562 * r10580;
        float r10582 = r10581 * r10558;
        float r10583 = r10582 * r10554;
        float r10584 = r10552 - r10583;
        float r10585 = r10574 * r10584;
        float r10586 = 4.049765935324914e-309;
        bool r10587 = r10554 <= r10586;
        float r10588 = r10566 / r10558;
        float r10589 = log(r10588);
        float r10590 = r10589 - r10570;
        float r10591 = r10565 * r10590;
        float r10592 = exp(r10591);
        float r10593 = r10557 / r10553;
        float r10594 = pow(r10593, r10562);
        float r10595 = r10592 * r10594;
        float r10596 = r10558 / r10553;
        float r10597 = r10581 * r10596;
        float r10598 = r10552 - r10597;
        float r10599 = r10595 * r10598;
        float r10600 = 6.051627675104135e-128;
        bool r10601 = r10554 <= r10600;
        float r10602 = exp(r10565);
        float r10603 = log(r10557);
        float r10604 = log(r10553);
        float r10605 = r10603 - r10604;
        float r10606 = pow(r10602, r10605);
        float r10607 = r10564 * r10606;
        float r10608 = r10576 / r10561;
        float r10609 = r10575 / r10557;
        float r10610 = r10608 * r10609;
        float r10611 = r10610 / r10561;
        float r10612 = r10610 * r10596;
        float r10613 = r10611 * r10612;
        float r10614 = r10552 - r10613;
        float r10615 = r10607 * r10614;
        float r10616 = 2.0916067693260847e+168;
        bool r10617 = r10554 <= r10616;
        float r10618 = pow(r10557, r10562);
        float r10619 = r10552 / r10558;
        float r10620 = pow(r10619, r10562);
        float r10621 = r10618 * r10620;
        float r10622 = r10621 * r10594;
        float r10623 = r10622 * r10584;
        float r10624 = pow(r10559, r10562);
        float r10625 = pow(r10554, r10562);
        float r10626 = r10618 * r10625;
        float r10627 = r10624 * r10626;
        float r10628 = r10627 * r10584;
        float r10629 = r10617 ? r10623 : r10628;
        float r10630 = r10601 ? r10615 : r10629;
        float r10631 = r10587 ? r10599 : r10630;
        float r10632 = r10556 ? r10585 : r10631;
        return r10632;
}

double f_od(double d, double h, double l, double M, double D) {
        double r10633 = 1;
        double r10634 = l;
        double r10635 = r10633 / r10634;
        double r10636 = -2.1580824413528976e+24;
        bool r10637 = r10635 <= r10636;
        double r10638 = d;
        double r10639 = h;
        double r10640 = r10638 / r10639;
        double r10641 = sqrt(r10640);
        double r10642 = 2;
        double r10643 = r10633 / r10642;
        double r10644 = pow(r10641, r10643);
        double r10645 = r10644 * r10644;
        double r10646 = 1/2;
        double r10647 = -1;
        double r10648 = r10647 / r10634;
        double r10649 = log(r10648);
        double r10650 = r10647 / r10638;
        double r10651 = log(r10650);
        double r10652 = r10649 - r10651;
        double r10653 = r10646 * r10652;
        double r10654 = exp(r10653);
        double r10655 = r10645 * r10654;
        double r10656 = M;
        double r10657 = D;
        double r10658 = r10656 * r10657;
        double r10659 = r10642 * r10638;
        double r10660 = r10658 / r10659;
        double r10661 = pow(r10660, r10642);
        double r10662 = r10643 * r10661;
        double r10663 = r10662 * r10639;
        double r10664 = r10663 * r10635;
        double r10665 = r10633 - r10664;
        double r10666 = r10655 * r10665;
        double r10667 = 4.049765935324914e-309;
        bool r10668 = r10635 <= r10667;
        double r10669 = r10647 / r10639;
        double r10670 = log(r10669);
        double r10671 = r10670 - r10651;
        double r10672 = r10646 * r10671;
        double r10673 = exp(r10672);
        double r10674 = r10638 / r10634;
        double r10675 = pow(r10674, r10643);
        double r10676 = r10673 * r10675;
        double r10677 = r10639 / r10634;
        double r10678 = r10662 * r10677;
        double r10679 = r10633 - r10678;
        double r10680 = r10676 * r10679;
        double r10681 = 6.051627675104135e-128;
        bool r10682 = r10635 <= r10681;
        double r10683 = exp(r10646);
        double r10684 = log(r10638);
        double r10685 = log(r10634);
        double r10686 = r10684 - r10685;
        double r10687 = pow(r10683, r10686);
        double r10688 = r10645 * r10687;
        double r10689 = r10657 / r10642;
        double r10690 = r10656 / r10638;
        double r10691 = r10689 * r10690;
        double r10692 = r10691 / r10642;
        double r10693 = r10691 * r10677;
        double r10694 = r10692 * r10693;
        double r10695 = r10633 - r10694;
        double r10696 = r10688 * r10695;
        double r10697 = 2.0916067693260847e+168;
        bool r10698 = r10635 <= r10697;
        double r10699 = pow(r10638, r10643);
        double r10700 = r10633 / r10639;
        double r10701 = pow(r10700, r10643);
        double r10702 = r10699 * r10701;
        double r10703 = r10702 * r10675;
        double r10704 = r10703 * r10665;
        double r10705 = pow(r10640, r10643);
        double r10706 = pow(r10635, r10643);
        double r10707 = r10699 * r10706;
        double r10708 = r10705 * r10707;
        double r10709 = r10708 * r10665;
        double r10710 = r10698 ? r10704 : r10709;
        double r10711 = r10682 ? r10696 : r10710;
        double r10712 = r10668 ? r10680 : r10711;
        double r10713 = r10637 ? r10666 : r10712;
        return r10713;
}

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 r10714, r10715, r10716, r10717, r10718, r10719, r10720, r10721, r10722, r10723, r10724, r10725, r10726, r10727, r10728, r10729, r10730, r10731, r10732, r10733, r10734, r10735;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(592);
        mpfr_init(r10714);
        mpfr_init(r10715);
        mpfr_init(r10716);
        mpfr_init_set_str(r10717, "1", 10, MPFR_RNDN);
        mpfr_init_set_str(r10718, "2", 10, MPFR_RNDN);
        mpfr_init(r10719);
        mpfr_init(r10720);
        mpfr_init(r10721);
        mpfr_init(r10722);
        mpfr_init(r10723);
        mpfr_init(r10724);
        mpfr_init(r10725);
        mpfr_init(r10726);
        mpfr_init(r10727);
        mpfr_init(r10728);
        mpfr_init(r10729);
        mpfr_init(r10730);
        mpfr_init(r10731);
        mpfr_init(r10732);
        mpfr_init(r10733);
        mpfr_init(r10734);
        mpfr_init(r10735);
}

double f_im(double d, double h, double l, double M, double D) {
        mpfr_set_d(r10714, d, MPFR_RNDN);
        mpfr_set_d(r10715, h, MPFR_RNDN);
        mpfr_div(r10716, r10714, r10715, MPFR_RNDN);
        ;
        ;
        mpfr_div(r10719, r10717, r10718, MPFR_RNDN);
        mpfr_pow(r10720, r10716, r10719, MPFR_RNDN);
        mpfr_set_d(r10721, l, MPFR_RNDN);
        mpfr_div(r10722, r10714, r10721, MPFR_RNDN);
        mpfr_pow(r10723, r10722, r10719, MPFR_RNDN);
        mpfr_mul(r10724, r10720, r10723, MPFR_RNDN);
        mpfr_set_d(r10725, M, MPFR_RNDN);
        mpfr_set_d(r10726, D, MPFR_RNDN);
        mpfr_mul(r10727, r10725, r10726, MPFR_RNDN);
        mpfr_mul(r10728, r10718, r10714, MPFR_RNDN);
        mpfr_div(r10729, r10727, r10728, MPFR_RNDN);
        mpfr_pow(r10730, r10729, r10718, MPFR_RNDN);
        mpfr_mul(r10731, r10719, r10730, MPFR_RNDN);
        mpfr_div(r10732, r10715, r10721, MPFR_RNDN);
        mpfr_mul(r10733, r10731, r10732, MPFR_RNDN);
        mpfr_sub(r10734, r10717, r10733, MPFR_RNDN);
        mpfr_mul(r10735, r10724, r10734, MPFR_RNDN);
        return mpfr_get_d(r10735, MPFR_RNDN);
}

static mpfr_t r10736, r10737, r10738, r10739, r10740, r10741, r10742, r10743, r10744, r10745, r10746, r10747, r10748, r10749, r10750, r10751, r10752, r10753, r10754, r10755, r10756, r10757, r10758, r10759, r10760, r10761, r10762, r10763, r10764, r10765, r10766, r10767, r10768, r10769, r10770, r10771, r10772, r10773, r10774, r10775, r10776, r10777, r10778, r10779, r10780, r10781, r10782, r10783, r10784, r10785, r10786, r10787, r10788, r10789, r10790, r10791, r10792, r10793, r10794, r10795, r10796, r10797, r10798, r10799, r10800, r10801, r10802, r10803, r10804, r10805, r10806, r10807, r10808, r10809, r10810, r10811, r10812, r10813, r10814, r10815, r10816;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(592);
        mpfr_init_set_str(r10736, "1", 10, MPFR_RNDN);
        mpfr_init(r10737);
        mpfr_init(r10738);
        mpfr_init_set_str(r10739, "-2.1580824413528976e+24", 10, MPFR_RNDN);
        mpfr_init(r10740);
        mpfr_init(r10741);
        mpfr_init(r10742);
        mpfr_init(r10743);
        mpfr_init(r10744);
        mpfr_init_set_str(r10745, "2", 10, MPFR_RNDN);
        mpfr_init(r10746);
        mpfr_init(r10747);
        mpfr_init(r10748);
        mpfr_init_set_str(r10749, "1/2", 10, MPFR_RNDN);
        mpfr_init_set_str(r10750, "-1", 10, MPFR_RNDN);
        mpfr_init(r10751);
        mpfr_init(r10752);
        mpfr_init(r10753);
        mpfr_init(r10754);
        mpfr_init(r10755);
        mpfr_init(r10756);
        mpfr_init(r10757);
        mpfr_init(r10758);
        mpfr_init(r10759);
        mpfr_init(r10760);
        mpfr_init(r10761);
        mpfr_init(r10762);
        mpfr_init(r10763);
        mpfr_init(r10764);
        mpfr_init(r10765);
        mpfr_init(r10766);
        mpfr_init(r10767);
        mpfr_init(r10768);
        mpfr_init(r10769);
        mpfr_init_set_str(r10770, "4.049765935324914e-309", 10, MPFR_RNDN);
        mpfr_init(r10771);
        mpfr_init(r10772);
        mpfr_init(r10773);
        mpfr_init(r10774);
        mpfr_init(r10775);
        mpfr_init(r10776);
        mpfr_init(r10777);
        mpfr_init(r10778);
        mpfr_init(r10779);
        mpfr_init(r10780);
        mpfr_init(r10781);
        mpfr_init(r10782);
        mpfr_init(r10783);
        mpfr_init_set_str(r10784, "6.051627675104135e-128", 10, MPFR_RNDN);
        mpfr_init(r10785);
        mpfr_init(r10786);
        mpfr_init(r10787);
        mpfr_init(r10788);
        mpfr_init(r10789);
        mpfr_init(r10790);
        mpfr_init(r10791);
        mpfr_init(r10792);
        mpfr_init(r10793);
        mpfr_init(r10794);
        mpfr_init(r10795);
        mpfr_init(r10796);
        mpfr_init(r10797);
        mpfr_init(r10798);
        mpfr_init(r10799);
        mpfr_init_set_str(r10800, "2.0916067693260847e+168", 10, MPFR_RNDN);
        mpfr_init(r10801);
        mpfr_init(r10802);
        mpfr_init(r10803);
        mpfr_init(r10804);
        mpfr_init(r10805);
        mpfr_init(r10806);
        mpfr_init(r10807);
        mpfr_init(r10808);
        mpfr_init(r10809);
        mpfr_init(r10810);
        mpfr_init(r10811);
        mpfr_init(r10812);
        mpfr_init(r10813);
        mpfr_init(r10814);
        mpfr_init(r10815);
        mpfr_init(r10816);
}

double f_fm(double d, double h, double l, double M, double D) {
        ;
        mpfr_set_d(r10737, l, MPFR_RNDN);
        mpfr_div(r10738, r10736, r10737, MPFR_RNDN);
        ;
        mpfr_set_si(r10740, mpfr_cmp(r10738, r10739) <= 0, MPFR_RNDN);
        mpfr_set_d(r10741, d, MPFR_RNDN);
        mpfr_set_d(r10742, h, MPFR_RNDN);
        mpfr_div(r10743, r10741, r10742, MPFR_RNDN);
        mpfr_sqrt(r10744, r10743, MPFR_RNDN);
        ;
        mpfr_div(r10746, r10736, r10745, MPFR_RNDN);
        mpfr_pow(r10747, r10744, r10746, MPFR_RNDN);
        mpfr_mul(r10748, r10747, r10747, MPFR_RNDN);
        ;
        ;
        mpfr_div(r10751, r10750, r10737, MPFR_RNDN);
        mpfr_log(r10752, r10751, MPFR_RNDN);
        mpfr_div(r10753, r10750, r10741, MPFR_RNDN);
        mpfr_log(r10754, r10753, MPFR_RNDN);
        mpfr_sub(r10755, r10752, r10754, MPFR_RNDN);
        mpfr_mul(r10756, r10749, r10755, MPFR_RNDN);
        mpfr_exp(r10757, r10756, MPFR_RNDN);
        mpfr_mul(r10758, r10748, r10757, MPFR_RNDN);
        mpfr_set_d(r10759, M, MPFR_RNDN);
        mpfr_set_d(r10760, D, MPFR_RNDN);
        mpfr_mul(r10761, r10759, r10760, MPFR_RNDN);
        mpfr_mul(r10762, r10745, r10741, MPFR_RNDN);
        mpfr_div(r10763, r10761, r10762, MPFR_RNDN);
        mpfr_pow(r10764, r10763, r10745, MPFR_RNDN);
        mpfr_mul(r10765, r10746, r10764, MPFR_RNDN);
        mpfr_mul(r10766, r10765, r10742, MPFR_RNDN);
        mpfr_mul(r10767, r10766, r10738, MPFR_RNDN);
        mpfr_sub(r10768, r10736, r10767, MPFR_RNDN);
        mpfr_mul(r10769, r10758, r10768, MPFR_RNDN);
        ;
        mpfr_set_si(r10771, mpfr_cmp(r10738, r10770) <= 0, MPFR_RNDN);
        mpfr_div(r10772, r10750, r10742, MPFR_RNDN);
        mpfr_log(r10773, r10772, MPFR_RNDN);
        mpfr_sub(r10774, r10773, r10754, MPFR_RNDN);
        mpfr_mul(r10775, r10749, r10774, MPFR_RNDN);
        mpfr_exp(r10776, r10775, MPFR_RNDN);
        mpfr_div(r10777, r10741, r10737, MPFR_RNDN);
        mpfr_pow(r10778, r10777, r10746, MPFR_RNDN);
        mpfr_mul(r10779, r10776, r10778, MPFR_RNDN);
        mpfr_div(r10780, r10742, r10737, MPFR_RNDN);
        mpfr_mul(r10781, r10765, r10780, MPFR_RNDN);
        mpfr_sub(r10782, r10736, r10781, MPFR_RNDN);
        mpfr_mul(r10783, r10779, r10782, MPFR_RNDN);
        ;
        mpfr_set_si(r10785, mpfr_cmp(r10738, r10784) <= 0, MPFR_RNDN);
        mpfr_exp(r10786, r10749, MPFR_RNDN);
        mpfr_log(r10787, r10741, MPFR_RNDN);
        mpfr_log(r10788, r10737, MPFR_RNDN);
        mpfr_sub(r10789, r10787, r10788, MPFR_RNDN);
        mpfr_pow(r10790, r10786, r10789, MPFR_RNDN);
        mpfr_mul(r10791, r10748, r10790, MPFR_RNDN);
        mpfr_div(r10792, r10760, r10745, MPFR_RNDN);
        mpfr_div(r10793, r10759, r10741, MPFR_RNDN);
        mpfr_mul(r10794, r10792, r10793, MPFR_RNDN);
        mpfr_div(r10795, r10794, r10745, MPFR_RNDN);
        mpfr_mul(r10796, r10794, r10780, MPFR_RNDN);
        mpfr_mul(r10797, r10795, r10796, MPFR_RNDN);
        mpfr_sub(r10798, r10736, r10797, MPFR_RNDN);
        mpfr_mul(r10799, r10791, r10798, MPFR_RNDN);
        ;
        mpfr_set_si(r10801, mpfr_cmp(r10738, r10800) <= 0, MPFR_RNDN);
        mpfr_pow(r10802, r10741, r10746, MPFR_RNDN);
        mpfr_div(r10803, r10736, r10742, MPFR_RNDN);
        mpfr_pow(r10804, r10803, r10746, MPFR_RNDN);
        mpfr_mul(r10805, r10802, r10804, MPFR_RNDN);
        mpfr_mul(r10806, r10805, r10778, MPFR_RNDN);
        mpfr_mul(r10807, r10806, r10768, MPFR_RNDN);
        mpfr_pow(r10808, r10743, r10746, MPFR_RNDN);
        mpfr_pow(r10809, r10738, r10746, MPFR_RNDN);
        mpfr_mul(r10810, r10802, r10809, MPFR_RNDN);
        mpfr_mul(r10811, r10808, r10810, MPFR_RNDN);
        mpfr_mul(r10812, r10811, r10768, MPFR_RNDN);
        if (mpfr_get_si(r10801, MPFR_RNDN)) { mpfr_set(r10813, r10807, MPFR_RNDN); } else { mpfr_set(r10813, r10812, MPFR_RNDN); };
        if (mpfr_get_si(r10785, MPFR_RNDN)) { mpfr_set(r10814, r10799, MPFR_RNDN); } else { mpfr_set(r10814, r10813, MPFR_RNDN); };
        if (mpfr_get_si(r10771, MPFR_RNDN)) { mpfr_set(r10815, r10783, MPFR_RNDN); } else { mpfr_set(r10815, r10814, MPFR_RNDN); };
        if (mpfr_get_si(r10740, MPFR_RNDN)) { mpfr_set(r10816, r10769, MPFR_RNDN); } else { mpfr_set(r10816, r10815, MPFR_RNDN); };
        return mpfr_get_d(r10816, MPFR_RNDN);
}

static mpfr_t r10817, r10818, r10819, r10820, r10821, r10822, r10823, r10824, r10825, r10826, r10827, r10828, r10829, r10830, r10831, r10832, r10833, r10834, r10835, r10836, r10837, r10838, r10839, r10840, r10841, r10842, r10843, r10844, r10845, r10846, r10847, r10848, r10849, r10850, r10851, r10852, r10853, r10854, r10855, r10856, r10857, r10858, r10859, r10860, r10861, r10862, r10863, r10864, r10865, r10866, r10867, r10868, r10869, r10870, r10871, r10872, r10873, r10874, r10875, r10876, r10877, r10878, r10879, r10880, r10881, r10882, r10883, r10884, r10885, r10886, r10887, r10888, r10889, r10890, r10891, r10892, r10893, r10894, r10895, r10896, r10897;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(592);
        mpfr_init_set_str(r10817, "1", 10, MPFR_RNDN);
        mpfr_init(r10818);
        mpfr_init(r10819);
        mpfr_init_set_str(r10820, "-2.1580824413528976e+24", 10, MPFR_RNDN);
        mpfr_init(r10821);
        mpfr_init(r10822);
        mpfr_init(r10823);
        mpfr_init(r10824);
        mpfr_init(r10825);
        mpfr_init_set_str(r10826, "2", 10, MPFR_RNDN);
        mpfr_init(r10827);
        mpfr_init(r10828);
        mpfr_init(r10829);
        mpfr_init_set_str(r10830, "1/2", 10, MPFR_RNDN);
        mpfr_init_set_str(r10831, "-1", 10, MPFR_RNDN);
        mpfr_init(r10832);
        mpfr_init(r10833);
        mpfr_init(r10834);
        mpfr_init(r10835);
        mpfr_init(r10836);
        mpfr_init(r10837);
        mpfr_init(r10838);
        mpfr_init(r10839);
        mpfr_init(r10840);
        mpfr_init(r10841);
        mpfr_init(r10842);
        mpfr_init(r10843);
        mpfr_init(r10844);
        mpfr_init(r10845);
        mpfr_init(r10846);
        mpfr_init(r10847);
        mpfr_init(r10848);
        mpfr_init(r10849);
        mpfr_init(r10850);
        mpfr_init_set_str(r10851, "4.049765935324914e-309", 10, MPFR_RNDN);
        mpfr_init(r10852);
        mpfr_init(r10853);
        mpfr_init(r10854);
        mpfr_init(r10855);
        mpfr_init(r10856);
        mpfr_init(r10857);
        mpfr_init(r10858);
        mpfr_init(r10859);
        mpfr_init(r10860);
        mpfr_init(r10861);
        mpfr_init(r10862);
        mpfr_init(r10863);
        mpfr_init(r10864);
        mpfr_init_set_str(r10865, "6.051627675104135e-128", 10, MPFR_RNDN);
        mpfr_init(r10866);
        mpfr_init(r10867);
        mpfr_init(r10868);
        mpfr_init(r10869);
        mpfr_init(r10870);
        mpfr_init(r10871);
        mpfr_init(r10872);
        mpfr_init(r10873);
        mpfr_init(r10874);
        mpfr_init(r10875);
        mpfr_init(r10876);
        mpfr_init(r10877);
        mpfr_init(r10878);
        mpfr_init(r10879);
        mpfr_init(r10880);
        mpfr_init_set_str(r10881, "2.0916067693260847e+168", 10, MPFR_RNDN);
        mpfr_init(r10882);
        mpfr_init(r10883);
        mpfr_init(r10884);
        mpfr_init(r10885);
        mpfr_init(r10886);
        mpfr_init(r10887);
        mpfr_init(r10888);
        mpfr_init(r10889);
        mpfr_init(r10890);
        mpfr_init(r10891);
        mpfr_init(r10892);
        mpfr_init(r10893);
        mpfr_init(r10894);
        mpfr_init(r10895);
        mpfr_init(r10896);
        mpfr_init(r10897);
}

double f_dm(double d, double h, double l, double M, double D) {
        ;
        mpfr_set_d(r10818, l, MPFR_RNDN);
        mpfr_div(r10819, r10817, r10818, MPFR_RNDN);
        ;
        mpfr_set_si(r10821, mpfr_cmp(r10819, r10820) <= 0, MPFR_RNDN);
        mpfr_set_d(r10822, d, MPFR_RNDN);
        mpfr_set_d(r10823, h, MPFR_RNDN);
        mpfr_div(r10824, r10822, r10823, MPFR_RNDN);
        mpfr_sqrt(r10825, r10824, MPFR_RNDN);
        ;
        mpfr_div(r10827, r10817, r10826, MPFR_RNDN);
        mpfr_pow(r10828, r10825, r10827, MPFR_RNDN);
        mpfr_mul(r10829, r10828, r10828, MPFR_RNDN);
        ;
        ;
        mpfr_div(r10832, r10831, r10818, MPFR_RNDN);
        mpfr_log(r10833, r10832, MPFR_RNDN);
        mpfr_div(r10834, r10831, r10822, MPFR_RNDN);
        mpfr_log(r10835, r10834, MPFR_RNDN);
        mpfr_sub(r10836, r10833, r10835, MPFR_RNDN);
        mpfr_mul(r10837, r10830, r10836, MPFR_RNDN);
        mpfr_exp(r10838, r10837, MPFR_RNDN);
        mpfr_mul(r10839, r10829, r10838, MPFR_RNDN);
        mpfr_set_d(r10840, M, MPFR_RNDN);
        mpfr_set_d(r10841, D, MPFR_RNDN);
        mpfr_mul(r10842, r10840, r10841, MPFR_RNDN);
        mpfr_mul(r10843, r10826, r10822, MPFR_RNDN);
        mpfr_div(r10844, r10842, r10843, MPFR_RNDN);
        mpfr_pow(r10845, r10844, r10826, MPFR_RNDN);
        mpfr_mul(r10846, r10827, r10845, MPFR_RNDN);
        mpfr_mul(r10847, r10846, r10823, MPFR_RNDN);
        mpfr_mul(r10848, r10847, r10819, MPFR_RNDN);
        mpfr_sub(r10849, r10817, r10848, MPFR_RNDN);
        mpfr_mul(r10850, r10839, r10849, MPFR_RNDN);
        ;
        mpfr_set_si(r10852, mpfr_cmp(r10819, r10851) <= 0, MPFR_RNDN);
        mpfr_div(r10853, r10831, r10823, MPFR_RNDN);
        mpfr_log(r10854, r10853, MPFR_RNDN);
        mpfr_sub(r10855, r10854, r10835, MPFR_RNDN);
        mpfr_mul(r10856, r10830, r10855, MPFR_RNDN);
        mpfr_exp(r10857, r10856, MPFR_RNDN);
        mpfr_div(r10858, r10822, r10818, MPFR_RNDN);
        mpfr_pow(r10859, r10858, r10827, MPFR_RNDN);
        mpfr_mul(r10860, r10857, r10859, MPFR_RNDN);
        mpfr_div(r10861, r10823, r10818, MPFR_RNDN);
        mpfr_mul(r10862, r10846, r10861, MPFR_RNDN);
        mpfr_sub(r10863, r10817, r10862, MPFR_RNDN);
        mpfr_mul(r10864, r10860, r10863, MPFR_RNDN);
        ;
        mpfr_set_si(r10866, mpfr_cmp(r10819, r10865) <= 0, MPFR_RNDN);
        mpfr_exp(r10867, r10830, MPFR_RNDN);
        mpfr_log(r10868, r10822, MPFR_RNDN);
        mpfr_log(r10869, r10818, MPFR_RNDN);
        mpfr_sub(r10870, r10868, r10869, MPFR_RNDN);
        mpfr_pow(r10871, r10867, r10870, MPFR_RNDN);
        mpfr_mul(r10872, r10829, r10871, MPFR_RNDN);
        mpfr_div(r10873, r10841, r10826, MPFR_RNDN);
        mpfr_div(r10874, r10840, r10822, MPFR_RNDN);
        mpfr_mul(r10875, r10873, r10874, MPFR_RNDN);
        mpfr_div(r10876, r10875, r10826, MPFR_RNDN);
        mpfr_mul(r10877, r10875, r10861, MPFR_RNDN);
        mpfr_mul(r10878, r10876, r10877, MPFR_RNDN);
        mpfr_sub(r10879, r10817, r10878, MPFR_RNDN);
        mpfr_mul(r10880, r10872, r10879, MPFR_RNDN);
        ;
        mpfr_set_si(r10882, mpfr_cmp(r10819, r10881) <= 0, MPFR_RNDN);
        mpfr_pow(r10883, r10822, r10827, MPFR_RNDN);
        mpfr_div(r10884, r10817, r10823, MPFR_RNDN);
        mpfr_pow(r10885, r10884, r10827, MPFR_RNDN);
        mpfr_mul(r10886, r10883, r10885, MPFR_RNDN);
        mpfr_mul(r10887, r10886, r10859, MPFR_RNDN);
        mpfr_mul(r10888, r10887, r10849, MPFR_RNDN);
        mpfr_pow(r10889, r10824, r10827, MPFR_RNDN);
        mpfr_pow(r10890, r10819, r10827, MPFR_RNDN);
        mpfr_mul(r10891, r10883, r10890, MPFR_RNDN);
        mpfr_mul(r10892, r10889, r10891, MPFR_RNDN);
        mpfr_mul(r10893, r10892, r10849, MPFR_RNDN);
        if (mpfr_get_si(r10882, MPFR_RNDN)) { mpfr_set(r10894, r10888, MPFR_RNDN); } else { mpfr_set(r10894, r10893, MPFR_RNDN); };
        if (mpfr_get_si(r10866, MPFR_RNDN)) { mpfr_set(r10895, r10880, MPFR_RNDN); } else { mpfr_set(r10895, r10894, MPFR_RNDN); };
        if (mpfr_get_si(r10852, MPFR_RNDN)) { mpfr_set(r10896, r10864, MPFR_RNDN); } else { mpfr_set(r10896, r10895, MPFR_RNDN); };
        if (mpfr_get_si(r10821, MPFR_RNDN)) { mpfr_set(r10897, r10850, MPFR_RNDN); } else { mpfr_set(r10897, r10896, MPFR_RNDN); };
        return mpfr_get_d(r10897, MPFR_RNDN);
}

