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

char *name = "Octave 3.8, jcobi/2";

double f_if(float alpha, float beta, float i) {
        float r10464 = alpha;
        float r10465 = beta;
        float r10466 = r10464 + r10465;
        float r10467 = r10465 - r10464;
        float r10468 = r10466 * r10467;
        float r10469 = 2;
        float r10470 = i;
        float r10471 = r10469 * r10470;
        float r10472 = r10466 + r10471;
        float r10473 = r10468 / r10472;
        float r10474 = 2.0;
        float r10475 = r10472 + r10474;
        float r10476 = r10473 / r10475;
        float r10477 = 1.0;
        float r10478 = r10476 + r10477;
        float r10479 = r10478 / r10474;
        return r10479;
}

double f_id(double alpha, double beta, double i) {
        double r10480 = alpha;
        double r10481 = beta;
        double r10482 = r10480 + r10481;
        double r10483 = r10481 - r10480;
        double r10484 = r10482 * r10483;
        double r10485 = 2;
        double r10486 = i;
        double r10487 = r10485 * r10486;
        double r10488 = r10482 + r10487;
        double r10489 = r10484 / r10488;
        double r10490 = 2.0;
        double r10491 = r10488 + r10490;
        double r10492 = r10489 / r10491;
        double r10493 = 1.0;
        double r10494 = r10492 + r10493;
        double r10495 = r10494 / r10490;
        return r10495;
}


double f_of(float alpha, float beta, float i) {
        float r10496 = alpha;
        float r10497 = beta;
        float r10498 = r10496 + r10497;
        float r10499 = 2.0;
        float r10500 = r10499 + r10497;
        float r10501 = 2;
        float r10502 = i;
        float r10503 = r10501 * r10502;
        float r10504 = r10500 + r10503;
        float r10505 = r10504 + r10496;
        float r10506 = cbrt(r10505);
        float r10507 = r10498 / r10506;
        float r10508 = r10497 - r10496;
        float r10509 = cbrt(r10508);
        float r10510 = r10509 * r10509;
        float r10511 = r10510 / r10506;
        float r10512 = r10507 * r10511;
        float r10513 = r10498 + r10503;
        float r10514 = r10509 / r10513;
        float r10515 = r10513 + r10499;
        float r10516 = cbrt(r10515);
        float r10517 = r10514 / r10516;
        float r10518 = r10512 * r10517;
        float r10519 = 1.0;
        float r10520 = r10518 + r10519;
        float r10521 = r10520 / r10499;
        float r10522 = 1.1319070680748666e-16;
        bool r10523 = r10521 <= r10522;
        float r10524 = 1;
        float r10525 = r10524 / r10496;
        float r10526 = r10499 * r10525;
        float r10527 = 8.0;
        float r10528 = 3;
        float r10529 = pow(r10496, r10528);
        float r10530 = r10524 / r10529;
        float r10531 = r10527 * r10530;
        float r10532 = r10526 + r10531;
        float r10533 = 4.0;
        float r10534 = pow(r10496, r10501);
        float r10535 = r10524 / r10534;
        float r10536 = r10533 * r10535;
        float r10537 = r10532 - r10536;
        float r10538 = r10537 / r10499;
        float r10539 = r10497 + r10496;
        float r10540 = r10508 / r10513;
        float r10541 = r10540 / r10515;
        float r10542 = r10539 * r10541;
        float r10543 = exp(r10542);
        float r10544 = log(r10543);
        float r10545 = r10544 + r10519;
        float r10546 = exp(r10545);
        float r10547 = log(r10546);
        float r10548 = r10547 / r10499;
        float r10549 = r10523 ? r10538 : r10548;
        return r10549;
}

double f_od(double alpha, double beta, double i) {
        double r10550 = alpha;
        double r10551 = beta;
        double r10552 = r10550 + r10551;
        double r10553 = 2.0;
        double r10554 = r10553 + r10551;
        double r10555 = 2;
        double r10556 = i;
        double r10557 = r10555 * r10556;
        double r10558 = r10554 + r10557;
        double r10559 = r10558 + r10550;
        double r10560 = cbrt(r10559);
        double r10561 = r10552 / r10560;
        double r10562 = r10551 - r10550;
        double r10563 = cbrt(r10562);
        double r10564 = r10563 * r10563;
        double r10565 = r10564 / r10560;
        double r10566 = r10561 * r10565;
        double r10567 = r10552 + r10557;
        double r10568 = r10563 / r10567;
        double r10569 = r10567 + r10553;
        double r10570 = cbrt(r10569);
        double r10571 = r10568 / r10570;
        double r10572 = r10566 * r10571;
        double r10573 = 1.0;
        double r10574 = r10572 + r10573;
        double r10575 = r10574 / r10553;
        double r10576 = 1.1319070680748666e-16;
        bool r10577 = r10575 <= r10576;
        double r10578 = 1;
        double r10579 = r10578 / r10550;
        double r10580 = r10553 * r10579;
        double r10581 = 8.0;
        double r10582 = 3;
        double r10583 = pow(r10550, r10582);
        double r10584 = r10578 / r10583;
        double r10585 = r10581 * r10584;
        double r10586 = r10580 + r10585;
        double r10587 = 4.0;
        double r10588 = pow(r10550, r10555);
        double r10589 = r10578 / r10588;
        double r10590 = r10587 * r10589;
        double r10591 = r10586 - r10590;
        double r10592 = r10591 / r10553;
        double r10593 = r10551 + r10550;
        double r10594 = r10562 / r10567;
        double r10595 = r10594 / r10569;
        double r10596 = r10593 * r10595;
        double r10597 = exp(r10596);
        double r10598 = log(r10597);
        double r10599 = r10598 + r10573;
        double r10600 = exp(r10599);
        double r10601 = log(r10600);
        double r10602 = r10601 / r10553;
        double r10603 = r10577 ? r10592 : r10602;
        return r10603;
}

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 r10604, r10605, r10606, r10607, r10608, r10609, r10610, r10611, r10612, r10613, r10614, r10615, r10616, r10617, r10618, r10619;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(1360);
        mpfr_init(r10604);
        mpfr_init(r10605);
        mpfr_init(r10606);
        mpfr_init(r10607);
        mpfr_init(r10608);
        mpfr_init_set_str(r10609, "2", 10, MPFR_RNDN);
        mpfr_init(r10610);
        mpfr_init(r10611);
        mpfr_init(r10612);
        mpfr_init(r10613);
        mpfr_init_set_str(r10614, "2.0", 10, MPFR_RNDN);
        mpfr_init(r10615);
        mpfr_init(r10616);
        mpfr_init_set_str(r10617, "1.0", 10, MPFR_RNDN);
        mpfr_init(r10618);
        mpfr_init(r10619);
}

double f_im(double alpha, double beta, double i) {
        mpfr_set_d(r10604, alpha, MPFR_RNDN);
        mpfr_set_d(r10605, beta, MPFR_RNDN);
        mpfr_add(r10606, r10604, r10605, MPFR_RNDN);
        mpfr_sub(r10607, r10605, r10604, MPFR_RNDN);
        mpfr_mul(r10608, r10606, r10607, MPFR_RNDN);
        ;
        mpfr_set_d(r10610, i, MPFR_RNDN);
        mpfr_mul(r10611, r10609, r10610, MPFR_RNDN);
        mpfr_add(r10612, r10606, r10611, MPFR_RNDN);
        mpfr_div(r10613, r10608, r10612, MPFR_RNDN);
        ;
        mpfr_add(r10615, r10612, r10614, MPFR_RNDN);
        mpfr_div(r10616, r10613, r10615, MPFR_RNDN);
        ;
        mpfr_add(r10618, r10616, r10617, MPFR_RNDN);
        mpfr_div(r10619, r10618, r10614, MPFR_RNDN);
        return mpfr_get_d(r10619, MPFR_RNDN);
}

static mpfr_t r10620, r10621, r10622, r10623, r10624, r10625, r10626, r10627, r10628, r10629, r10630, r10631, r10632, r10633, r10634, r10635, r10636, r10637, r10638, r10639, r10640, r10641, r10642, r10643, r10644, r10645, r10646, r10647, r10648, r10649, r10650, r10651, r10652, r10653, r10654, r10655, r10656, r10657, r10658, r10659, r10660, r10661, r10662, r10663, r10664, r10665, r10666, r10667, r10668, r10669, r10670, r10671, r10672, r10673;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(1360);
        mpfr_init(r10620);
        mpfr_init(r10621);
        mpfr_init(r10622);
        mpfr_init_set_str(r10623, "2.0", 10, MPFR_RNDN);
        mpfr_init(r10624);
        mpfr_init_set_str(r10625, "2", 10, MPFR_RNDN);
        mpfr_init(r10626);
        mpfr_init(r10627);
        mpfr_init(r10628);
        mpfr_init(r10629);
        mpfr_init(r10630);
        mpfr_init(r10631);
        mpfr_init(r10632);
        mpfr_init(r10633);
        mpfr_init(r10634);
        mpfr_init(r10635);
        mpfr_init(r10636);
        mpfr_init(r10637);
        mpfr_init(r10638);
        mpfr_init(r10639);
        mpfr_init(r10640);
        mpfr_init(r10641);
        mpfr_init(r10642);
        mpfr_init_set_str(r10643, "1.0", 10, MPFR_RNDN);
        mpfr_init(r10644);
        mpfr_init(r10645);
        mpfr_init_set_str(r10646, "1.1319070680748666e-16", 10, MPFR_RNDN);
        mpfr_init(r10647);
        mpfr_init_set_str(r10648, "1", 10, MPFR_RNDN);
        mpfr_init(r10649);
        mpfr_init(r10650);
        mpfr_init_set_str(r10651, "8.0", 10, MPFR_RNDN);
        mpfr_init_set_str(r10652, "3", 10, MPFR_RNDN);
        mpfr_init(r10653);
        mpfr_init(r10654);
        mpfr_init(r10655);
        mpfr_init(r10656);
        mpfr_init_set_str(r10657, "4.0", 10, MPFR_RNDN);
        mpfr_init(r10658);
        mpfr_init(r10659);
        mpfr_init(r10660);
        mpfr_init(r10661);
        mpfr_init(r10662);
        mpfr_init(r10663);
        mpfr_init(r10664);
        mpfr_init(r10665);
        mpfr_init(r10666);
        mpfr_init(r10667);
        mpfr_init(r10668);
        mpfr_init(r10669);
        mpfr_init(r10670);
        mpfr_init(r10671);
        mpfr_init(r10672);
        mpfr_init(r10673);
}

double f_fm(double alpha, double beta, double i) {
        mpfr_set_d(r10620, alpha, MPFR_RNDN);
        mpfr_set_d(r10621, beta, MPFR_RNDN);
        mpfr_add(r10622, r10620, r10621, MPFR_RNDN);
        ;
        mpfr_add(r10624, r10623, r10621, MPFR_RNDN);
        ;
        mpfr_set_d(r10626, i, MPFR_RNDN);
        mpfr_mul(r10627, r10625, r10626, MPFR_RNDN);
        mpfr_add(r10628, r10624, r10627, MPFR_RNDN);
        mpfr_add(r10629, r10628, r10620, MPFR_RNDN);
        mpfr_cbrt(r10630, r10629, MPFR_RNDN);
        mpfr_div(r10631, r10622, r10630, MPFR_RNDN);
        mpfr_sub(r10632, r10621, r10620, MPFR_RNDN);
        mpfr_cbrt(r10633, r10632, MPFR_RNDN);
        mpfr_mul(r10634, r10633, r10633, MPFR_RNDN);
        mpfr_div(r10635, r10634, r10630, MPFR_RNDN);
        mpfr_mul(r10636, r10631, r10635, MPFR_RNDN);
        mpfr_add(r10637, r10622, r10627, MPFR_RNDN);
        mpfr_div(r10638, r10633, r10637, MPFR_RNDN);
        mpfr_add(r10639, r10637, r10623, MPFR_RNDN);
        mpfr_cbrt(r10640, r10639, MPFR_RNDN);
        mpfr_div(r10641, r10638, r10640, MPFR_RNDN);
        mpfr_mul(r10642, r10636, r10641, MPFR_RNDN);
        ;
        mpfr_add(r10644, r10642, r10643, MPFR_RNDN);
        mpfr_div(r10645, r10644, r10623, MPFR_RNDN);
        ;
        mpfr_set_si(r10647, mpfr_cmp(r10645, r10646) <= 0, MPFR_RNDN);
        ;
        mpfr_div(r10649, r10648, r10620, MPFR_RNDN);
        mpfr_mul(r10650, r10623, r10649, MPFR_RNDN);
        ;
        ;
        mpfr_pow(r10653, r10620, r10652, MPFR_RNDN);
        mpfr_div(r10654, r10648, r10653, MPFR_RNDN);
        mpfr_mul(r10655, r10651, r10654, MPFR_RNDN);
        mpfr_add(r10656, r10650, r10655, MPFR_RNDN);
        ;
        mpfr_pow(r10658, r10620, r10625, MPFR_RNDN);
        mpfr_div(r10659, r10648, r10658, MPFR_RNDN);
        mpfr_mul(r10660, r10657, r10659, MPFR_RNDN);
        mpfr_sub(r10661, r10656, r10660, MPFR_RNDN);
        mpfr_div(r10662, r10661, r10623, MPFR_RNDN);
        mpfr_add(r10663, r10621, r10620, MPFR_RNDN);
        mpfr_div(r10664, r10632, r10637, MPFR_RNDN);
        mpfr_div(r10665, r10664, r10639, MPFR_RNDN);
        mpfr_mul(r10666, r10663, r10665, MPFR_RNDN);
        mpfr_exp(r10667, r10666, MPFR_RNDN);
        mpfr_log(r10668, r10667, MPFR_RNDN);
        mpfr_add(r10669, r10668, r10643, MPFR_RNDN);
        mpfr_exp(r10670, r10669, MPFR_RNDN);
        mpfr_log(r10671, r10670, MPFR_RNDN);
        mpfr_div(r10672, r10671, r10623, MPFR_RNDN);
        if (mpfr_get_si(r10647, MPFR_RNDN)) { mpfr_set(r10673, r10662, MPFR_RNDN); } else { mpfr_set(r10673, r10672, MPFR_RNDN); };
        return mpfr_get_d(r10673, MPFR_RNDN);
}

static mpfr_t r10674, r10675, r10676, r10677, r10678, r10679, r10680, r10681, r10682, r10683, r10684, r10685, r10686, r10687, r10688, r10689, r10690, r10691, r10692, r10693, r10694, r10695, r10696, r10697, r10698, r10699, r10700, r10701, r10702, r10703, r10704, r10705, r10706, r10707, r10708, r10709, r10710, r10711, r10712, r10713, r10714, r10715, r10716, r10717, r10718, r10719, r10720, r10721, r10722, r10723, r10724, r10725, r10726, r10727;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(1360);
        mpfr_init(r10674);
        mpfr_init(r10675);
        mpfr_init(r10676);
        mpfr_init_set_str(r10677, "2.0", 10, MPFR_RNDN);
        mpfr_init(r10678);
        mpfr_init_set_str(r10679, "2", 10, MPFR_RNDN);
        mpfr_init(r10680);
        mpfr_init(r10681);
        mpfr_init(r10682);
        mpfr_init(r10683);
        mpfr_init(r10684);
        mpfr_init(r10685);
        mpfr_init(r10686);
        mpfr_init(r10687);
        mpfr_init(r10688);
        mpfr_init(r10689);
        mpfr_init(r10690);
        mpfr_init(r10691);
        mpfr_init(r10692);
        mpfr_init(r10693);
        mpfr_init(r10694);
        mpfr_init(r10695);
        mpfr_init(r10696);
        mpfr_init_set_str(r10697, "1.0", 10, MPFR_RNDN);
        mpfr_init(r10698);
        mpfr_init(r10699);
        mpfr_init_set_str(r10700, "1.1319070680748666e-16", 10, MPFR_RNDN);
        mpfr_init(r10701);
        mpfr_init_set_str(r10702, "1", 10, MPFR_RNDN);
        mpfr_init(r10703);
        mpfr_init(r10704);
        mpfr_init_set_str(r10705, "8.0", 10, MPFR_RNDN);
        mpfr_init_set_str(r10706, "3", 10, MPFR_RNDN);
        mpfr_init(r10707);
        mpfr_init(r10708);
        mpfr_init(r10709);
        mpfr_init(r10710);
        mpfr_init_set_str(r10711, "4.0", 10, MPFR_RNDN);
        mpfr_init(r10712);
        mpfr_init(r10713);
        mpfr_init(r10714);
        mpfr_init(r10715);
        mpfr_init(r10716);
        mpfr_init(r10717);
        mpfr_init(r10718);
        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);
}

double f_dm(double alpha, double beta, double i) {
        mpfr_set_d(r10674, alpha, MPFR_RNDN);
        mpfr_set_d(r10675, beta, MPFR_RNDN);
        mpfr_add(r10676, r10674, r10675, MPFR_RNDN);
        ;
        mpfr_add(r10678, r10677, r10675, MPFR_RNDN);
        ;
        mpfr_set_d(r10680, i, MPFR_RNDN);
        mpfr_mul(r10681, r10679, r10680, MPFR_RNDN);
        mpfr_add(r10682, r10678, r10681, MPFR_RNDN);
        mpfr_add(r10683, r10682, r10674, MPFR_RNDN);
        mpfr_cbrt(r10684, r10683, MPFR_RNDN);
        mpfr_div(r10685, r10676, r10684, MPFR_RNDN);
        mpfr_sub(r10686, r10675, r10674, MPFR_RNDN);
        mpfr_cbrt(r10687, r10686, MPFR_RNDN);
        mpfr_mul(r10688, r10687, r10687, MPFR_RNDN);
        mpfr_div(r10689, r10688, r10684, MPFR_RNDN);
        mpfr_mul(r10690, r10685, r10689, MPFR_RNDN);
        mpfr_add(r10691, r10676, r10681, MPFR_RNDN);
        mpfr_div(r10692, r10687, r10691, MPFR_RNDN);
        mpfr_add(r10693, r10691, r10677, MPFR_RNDN);
        mpfr_cbrt(r10694, r10693, MPFR_RNDN);
        mpfr_div(r10695, r10692, r10694, MPFR_RNDN);
        mpfr_mul(r10696, r10690, r10695, MPFR_RNDN);
        ;
        mpfr_add(r10698, r10696, r10697, MPFR_RNDN);
        mpfr_div(r10699, r10698, r10677, MPFR_RNDN);
        ;
        mpfr_set_si(r10701, mpfr_cmp(r10699, r10700) <= 0, MPFR_RNDN);
        ;
        mpfr_div(r10703, r10702, r10674, MPFR_RNDN);
        mpfr_mul(r10704, r10677, r10703, MPFR_RNDN);
        ;
        ;
        mpfr_pow(r10707, r10674, r10706, MPFR_RNDN);
        mpfr_div(r10708, r10702, r10707, MPFR_RNDN);
        mpfr_mul(r10709, r10705, r10708, MPFR_RNDN);
        mpfr_add(r10710, r10704, r10709, MPFR_RNDN);
        ;
        mpfr_pow(r10712, r10674, r10679, MPFR_RNDN);
        mpfr_div(r10713, r10702, r10712, MPFR_RNDN);
        mpfr_mul(r10714, r10711, r10713, MPFR_RNDN);
        mpfr_sub(r10715, r10710, r10714, MPFR_RNDN);
        mpfr_div(r10716, r10715, r10677, MPFR_RNDN);
        mpfr_add(r10717, r10675, r10674, MPFR_RNDN);
        mpfr_div(r10718, r10686, r10691, MPFR_RNDN);
        mpfr_div(r10719, r10718, r10693, MPFR_RNDN);
        mpfr_mul(r10720, r10717, r10719, MPFR_RNDN);
        mpfr_exp(r10721, r10720, MPFR_RNDN);
        mpfr_log(r10722, r10721, MPFR_RNDN);
        mpfr_add(r10723, r10722, r10697, MPFR_RNDN);
        mpfr_exp(r10724, r10723, MPFR_RNDN);
        mpfr_log(r10725, r10724, MPFR_RNDN);
        mpfr_div(r10726, r10725, r10677, MPFR_RNDN);
        if (mpfr_get_si(r10701, MPFR_RNDN)) { mpfr_set(r10727, r10716, MPFR_RNDN); } else { mpfr_set(r10727, r10726, MPFR_RNDN); };
        return mpfr_get_d(r10727, MPFR_RNDN);
}

