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

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

double f_if(float alpha, float beta, float i) {
        float r25600 = i;
        float r25601 = alpha;
        float r25602 = beta;
        float r25603 = r25601 + r25602;
        float r25604 = r25603 + r25600;
        float r25605 = r25600 * r25604;
        float r25606 = r25602 * r25601;
        float r25607 = r25606 + r25605;
        float r25608 = r25605 * r25607;
        float r25609 = 2;
        float r25610 = r25609 * r25600;
        float r25611 = r25603 + r25610;
        float r25612 = r25611 * r25611;
        float r25613 = r25608 / r25612;
        float r25614 = 1.0;
        float r25615 = r25612 - r25614;
        float r25616 = r25613 / r25615;
        return r25616;
}

double f_id(double alpha, double beta, double i) {
        double r25617 = i;
        double r25618 = alpha;
        double r25619 = beta;
        double r25620 = r25618 + r25619;
        double r25621 = r25620 + r25617;
        double r25622 = r25617 * r25621;
        double r25623 = r25619 * r25618;
        double r25624 = r25623 + r25622;
        double r25625 = r25622 * r25624;
        double r25626 = 2;
        double r25627 = r25626 * r25617;
        double r25628 = r25620 + r25627;
        double r25629 = r25628 * r25628;
        double r25630 = r25625 / r25629;
        double r25631 = 1.0;
        double r25632 = r25629 - r25631;
        double r25633 = r25630 / r25632;
        return r25633;
}


double f_of(float alpha, float beta, float i) {
        float r25634 = 1/64;
        float r25635 = 0.01171875;
        float r25636 = i;
        float r25637 = r25636 * r25636;
        float r25638 = r25635 / r25637;
        float r25639 = r25634 + r25638;
        float r25640 = cbrt(r25639);
        float r25641 = beta;
        float r25642 = 2;
        float r25643 = alpha;
        float r25644 = fma(r25636, r25642, r25643);
        float r25645 = r25641 + r25644;
        float r25646 = r25645 / r25636;
        float r25647 = r25643 + r25636;
        float r25648 = r25647 + r25641;
        float r25649 = r25645 / r25648;
        float r25650 = r25646 * r25649;
        float r25651 = r25640 / r25650;
        float r25652 = 1.859640338435923e-111;
        bool r25653 = r25651 <= r25652;
        float r25654 = 0;
        float r25655 = 0.062499999999999986;
        bool r25656 = r25651 <= r25655;
        float r25657 = r25641 * r25643;
        float r25658 = fma(r25648, r25636, r25657);
        float r25659 = r25644 + r25641;
        float r25660 = 1.0;
        float r25661 = -r25660;
        float r25662 = fma(r25659, r25659, r25661);
        float r25663 = r25658 / r25662;
        float r25664 = log1p(r25663);
        float r25665 = expm1(r25664);
        float r25666 = r25648 / r25659;
        float r25667 = r25636 / r25659;
        float r25668 = r25666 * r25667;
        float r25669 = r25665 * r25668;
        float r25670 = cbrt(r25634);
        float r25671 = 0.25;
        float r25672 = r25671 / r25636;
        float r25673 = r25672 / r25636;
        float r25674 = 1/4;
        float r25675 = fma(r25670, r25673, r25674);
        float r25676 = fma(r25636, r25642, r25641);
        float r25677 = r25676 + r25643;
        float r25678 = r25675 / r25677;
        float r25679 = r25636 / r25677;
        float r25680 = r25641 + r25643;
        float r25681 = r25680 + r25636;
        float r25682 = r25679 * r25681;
        float r25683 = r25678 * r25682;
        float r25684 = r25656 ? r25669 : r25683;
        float r25685 = r25653 ? r25654 : r25684;
        return r25685;
}

double f_od(double alpha, double beta, double i) {
        double r25686 = 1/64;
        double r25687 = 0.01171875;
        double r25688 = i;
        double r25689 = r25688 * r25688;
        double r25690 = r25687 / r25689;
        double r25691 = r25686 + r25690;
        double r25692 = cbrt(r25691);
        double r25693 = beta;
        double r25694 = 2;
        double r25695 = alpha;
        double r25696 = fma(r25688, r25694, r25695);
        double r25697 = r25693 + r25696;
        double r25698 = r25697 / r25688;
        double r25699 = r25695 + r25688;
        double r25700 = r25699 + r25693;
        double r25701 = r25697 / r25700;
        double r25702 = r25698 * r25701;
        double r25703 = r25692 / r25702;
        double r25704 = 1.859640338435923e-111;
        bool r25705 = r25703 <= r25704;
        double r25706 = 0;
        double r25707 = 0.062499999999999986;
        bool r25708 = r25703 <= r25707;
        double r25709 = r25693 * r25695;
        double r25710 = fma(r25700, r25688, r25709);
        double r25711 = r25696 + r25693;
        double r25712 = 1.0;
        double r25713 = -r25712;
        double r25714 = fma(r25711, r25711, r25713);
        double r25715 = r25710 / r25714;
        double r25716 = log1p(r25715);
        double r25717 = expm1(r25716);
        double r25718 = r25700 / r25711;
        double r25719 = r25688 / r25711;
        double r25720 = r25718 * r25719;
        double r25721 = r25717 * r25720;
        double r25722 = cbrt(r25686);
        double r25723 = 0.25;
        double r25724 = r25723 / r25688;
        double r25725 = r25724 / r25688;
        double r25726 = 1/4;
        double r25727 = fma(r25722, r25725, r25726);
        double r25728 = fma(r25688, r25694, r25693);
        double r25729 = r25728 + r25695;
        double r25730 = r25727 / r25729;
        double r25731 = r25688 / r25729;
        double r25732 = r25693 + r25695;
        double r25733 = r25732 + r25688;
        double r25734 = r25731 * r25733;
        double r25735 = r25730 * r25734;
        double r25736 = r25708 ? r25721 : r25735;
        double r25737 = r25705 ? r25706 : r25736;
        return r25737;
}

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 r25738, r25739, r25740, r25741, r25742, r25743, r25744, r25745, r25746, r25747, r25748, r25749, r25750, r25751, r25752, r25753, r25754;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(592);
        mpfr_init(r25738);
        mpfr_init(r25739);
        mpfr_init(r25740);
        mpfr_init(r25741);
        mpfr_init(r25742);
        mpfr_init(r25743);
        mpfr_init(r25744);
        mpfr_init(r25745);
        mpfr_init(r25746);
        mpfr_init_set_str(r25747, "2", 10, MPFR_RNDN);
        mpfr_init(r25748);
        mpfr_init(r25749);
        mpfr_init(r25750);
        mpfr_init(r25751);
        mpfr_init_set_str(r25752, "1.0", 10, MPFR_RNDN);
        mpfr_init(r25753);
        mpfr_init(r25754);
}

double f_im(double alpha, double beta, double i) {
        mpfr_set_d(r25738, i, MPFR_RNDN);
        mpfr_set_d(r25739, alpha, MPFR_RNDN);
        mpfr_set_d(r25740, beta, MPFR_RNDN);
        mpfr_add(r25741, r25739, r25740, MPFR_RNDN);
        mpfr_add(r25742, r25741, r25738, MPFR_RNDN);
        mpfr_mul(r25743, r25738, r25742, MPFR_RNDN);
        mpfr_mul(r25744, r25740, r25739, MPFR_RNDN);
        mpfr_add(r25745, r25744, r25743, MPFR_RNDN);
        mpfr_mul(r25746, r25743, r25745, MPFR_RNDN);
        ;
        mpfr_mul(r25748, r25747, r25738, MPFR_RNDN);
        mpfr_add(r25749, r25741, r25748, MPFR_RNDN);
        mpfr_mul(r25750, r25749, r25749, MPFR_RNDN);
        mpfr_div(r25751, r25746, r25750, MPFR_RNDN);
        ;
        mpfr_sub(r25753, r25750, r25752, MPFR_RNDN);
        mpfr_div(r25754, r25751, r25753, MPFR_RNDN);
        return mpfr_get_d(r25754, MPFR_RNDN);
}

static mpfr_t r25755, r25756, r25757, r25758, r25759, r25760, r25761, r25762, r25763, r25764, r25765, r25766, r25767, r25768, r25769, r25770, r25771, r25772, r25773, r25774, r25775, r25776, r25777, r25778, r25779, r25780, r25781, r25782, r25783, r25784, r25785, r25786, r25787, r25788, r25789, r25790, r25791, r25792, r25793, r25794, r25795, r25796, r25797, r25798, r25799, r25800, r25801, r25802, r25803, r25804, r25805, r25806;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(592);
        mpfr_init_set_str(r25755, "1/64", 10, MPFR_RNDN);
        mpfr_init_set_str(r25756, "0.01171875", 10, MPFR_RNDN);
        mpfr_init(r25757);
        mpfr_init(r25758);
        mpfr_init(r25759);
        mpfr_init(r25760);
        mpfr_init(r25761);
        mpfr_init(r25762);
        mpfr_init_set_str(r25763, "2", 10, MPFR_RNDN);
        mpfr_init(r25764);
        mpfr_init(r25765);
        mpfr_init(r25766);
        mpfr_init(r25767);
        mpfr_init(r25768);
        mpfr_init(r25769);
        mpfr_init(r25770);
        mpfr_init(r25771);
        mpfr_init(r25772);
        mpfr_init_set_str(r25773, "1.859640338435923e-111", 10, MPFR_RNDN);
        mpfr_init(r25774);
        mpfr_init_set_str(r25775, "0", 10, MPFR_RNDN);
        mpfr_init_set_str(r25776, "0.062499999999999986", 10, MPFR_RNDN);
        mpfr_init(r25777);
        mpfr_init(r25778);
        mpfr_init(r25779);
        mpfr_init(r25780);
        mpfr_init_set_str(r25781, "1.0", 10, MPFR_RNDN);
        mpfr_init(r25782);
        mpfr_init(r25783);
        mpfr_init(r25784);
        mpfr_init(r25785);
        mpfr_init(r25786);
        mpfr_init(r25787);
        mpfr_init(r25788);
        mpfr_init(r25789);
        mpfr_init(r25790);
        mpfr_init(r25791);
        mpfr_init_set_str(r25792, "0.25", 10, MPFR_RNDN);
        mpfr_init(r25793);
        mpfr_init(r25794);
        mpfr_init_set_str(r25795, "1/4", 10, MPFR_RNDN);
        mpfr_init(r25796);
        mpfr_init(r25797);
        mpfr_init(r25798);
        mpfr_init(r25799);
        mpfr_init(r25800);
        mpfr_init(r25801);
        mpfr_init(r25802);
        mpfr_init(r25803);
        mpfr_init(r25804);
        mpfr_init(r25805);
        mpfr_init(r25806);
}

double f_fm(double alpha, double beta, double i) {
        ;
        ;
        mpfr_set_d(r25757, i, MPFR_RNDN);
        mpfr_mul(r25758, r25757, r25757, MPFR_RNDN);
        mpfr_div(r25759, r25756, r25758, MPFR_RNDN);
        mpfr_add(r25760, r25755, r25759, MPFR_RNDN);
        mpfr_cbrt(r25761, r25760, MPFR_RNDN);
        mpfr_set_d(r25762, beta, MPFR_RNDN);
        ;
        mpfr_set_d(r25764, alpha, MPFR_RNDN);
        mpfr_fma(r25765, r25757, r25763, r25764, MPFR_RNDN);
        mpfr_add(r25766, r25762, r25765, MPFR_RNDN);
        mpfr_div(r25767, r25766, r25757, MPFR_RNDN);
        mpfr_add(r25768, r25764, r25757, MPFR_RNDN);
        mpfr_add(r25769, r25768, r25762, MPFR_RNDN);
        mpfr_div(r25770, r25766, r25769, MPFR_RNDN);
        mpfr_mul(r25771, r25767, r25770, MPFR_RNDN);
        mpfr_div(r25772, r25761, r25771, MPFR_RNDN);
        ;
        mpfr_set_si(r25774, mpfr_cmp(r25772, r25773) <= 0, MPFR_RNDN);
        ;
        ;
        mpfr_set_si(r25777, mpfr_cmp(r25772, r25776) <= 0, MPFR_RNDN);
        mpfr_mul(r25778, r25762, r25764, MPFR_RNDN);
        mpfr_fma(r25779, r25769, r25757, r25778, MPFR_RNDN);
        mpfr_add(r25780, r25765, r25762, MPFR_RNDN);
        ;
        mpfr_neg(r25782, r25781, MPFR_RNDN);
        mpfr_fma(r25783, r25780, r25780, r25782, MPFR_RNDN);
        mpfr_div(r25784, r25779, r25783, MPFR_RNDN);
        mpfr_log1p(r25785, r25784, MPFR_RNDN);
        mpfr_expm1(r25786, r25785, MPFR_RNDN);
        mpfr_div(r25787, r25769, r25780, MPFR_RNDN);
        mpfr_div(r25788, r25757, r25780, MPFR_RNDN);
        mpfr_mul(r25789, r25787, r25788, MPFR_RNDN);
        mpfr_mul(r25790, r25786, r25789, MPFR_RNDN);
        mpfr_cbrt(r25791, r25755, MPFR_RNDN);
        ;
        mpfr_div(r25793, r25792, r25757, MPFR_RNDN);
        mpfr_div(r25794, r25793, r25757, MPFR_RNDN);
        ;
        mpfr_fma(r25796, r25791, r25794, r25795, MPFR_RNDN);
        mpfr_fma(r25797, r25757, r25763, r25762, MPFR_RNDN);
        mpfr_add(r25798, r25797, r25764, MPFR_RNDN);
        mpfr_div(r25799, r25796, r25798, MPFR_RNDN);
        mpfr_div(r25800, r25757, r25798, MPFR_RNDN);
        mpfr_add(r25801, r25762, r25764, MPFR_RNDN);
        mpfr_add(r25802, r25801, r25757, MPFR_RNDN);
        mpfr_mul(r25803, r25800, r25802, MPFR_RNDN);
        mpfr_mul(r25804, r25799, r25803, MPFR_RNDN);
        if (mpfr_get_si(r25777, MPFR_RNDN)) { mpfr_set(r25805, r25790, MPFR_RNDN); } else { mpfr_set(r25805, r25804, MPFR_RNDN); };
        if (mpfr_get_si(r25774, MPFR_RNDN)) { mpfr_set(r25806, r25775, MPFR_RNDN); } else { mpfr_set(r25806, r25805, MPFR_RNDN); };
        return mpfr_get_d(r25806, MPFR_RNDN);
}

static mpfr_t r25807, r25808, r25809, r25810, r25811, r25812, r25813, r25814, r25815, r25816, r25817, r25818, r25819, r25820, r25821, r25822, r25823, r25824, r25825, r25826, r25827, r25828, r25829, r25830, r25831, r25832, r25833, r25834, r25835, r25836, r25837, r25838, r25839, r25840, r25841, r25842, r25843, r25844, r25845, r25846, r25847, r25848, r25849, r25850, r25851, r25852, r25853, r25854, r25855, r25856, r25857, r25858;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(592);
        mpfr_init_set_str(r25807, "1/64", 10, MPFR_RNDN);
        mpfr_init_set_str(r25808, "0.01171875", 10, MPFR_RNDN);
        mpfr_init(r25809);
        mpfr_init(r25810);
        mpfr_init(r25811);
        mpfr_init(r25812);
        mpfr_init(r25813);
        mpfr_init(r25814);
        mpfr_init_set_str(r25815, "2", 10, MPFR_RNDN);
        mpfr_init(r25816);
        mpfr_init(r25817);
        mpfr_init(r25818);
        mpfr_init(r25819);
        mpfr_init(r25820);
        mpfr_init(r25821);
        mpfr_init(r25822);
        mpfr_init(r25823);
        mpfr_init(r25824);
        mpfr_init_set_str(r25825, "1.859640338435923e-111", 10, MPFR_RNDN);
        mpfr_init(r25826);
        mpfr_init_set_str(r25827, "0", 10, MPFR_RNDN);
        mpfr_init_set_str(r25828, "0.062499999999999986", 10, MPFR_RNDN);
        mpfr_init(r25829);
        mpfr_init(r25830);
        mpfr_init(r25831);
        mpfr_init(r25832);
        mpfr_init_set_str(r25833, "1.0", 10, MPFR_RNDN);
        mpfr_init(r25834);
        mpfr_init(r25835);
        mpfr_init(r25836);
        mpfr_init(r25837);
        mpfr_init(r25838);
        mpfr_init(r25839);
        mpfr_init(r25840);
        mpfr_init(r25841);
        mpfr_init(r25842);
        mpfr_init(r25843);
        mpfr_init_set_str(r25844, "0.25", 10, MPFR_RNDN);
        mpfr_init(r25845);
        mpfr_init(r25846);
        mpfr_init_set_str(r25847, "1/4", 10, MPFR_RNDN);
        mpfr_init(r25848);
        mpfr_init(r25849);
        mpfr_init(r25850);
        mpfr_init(r25851);
        mpfr_init(r25852);
        mpfr_init(r25853);
        mpfr_init(r25854);
        mpfr_init(r25855);
        mpfr_init(r25856);
        mpfr_init(r25857);
        mpfr_init(r25858);
}

double f_dm(double alpha, double beta, double i) {
        ;
        ;
        mpfr_set_d(r25809, i, MPFR_RNDN);
        mpfr_mul(r25810, r25809, r25809, MPFR_RNDN);
        mpfr_div(r25811, r25808, r25810, MPFR_RNDN);
        mpfr_add(r25812, r25807, r25811, MPFR_RNDN);
        mpfr_cbrt(r25813, r25812, MPFR_RNDN);
        mpfr_set_d(r25814, beta, MPFR_RNDN);
        ;
        mpfr_set_d(r25816, alpha, MPFR_RNDN);
        mpfr_fma(r25817, r25809, r25815, r25816, MPFR_RNDN);
        mpfr_add(r25818, r25814, r25817, MPFR_RNDN);
        mpfr_div(r25819, r25818, r25809, MPFR_RNDN);
        mpfr_add(r25820, r25816, r25809, MPFR_RNDN);
        mpfr_add(r25821, r25820, r25814, MPFR_RNDN);
        mpfr_div(r25822, r25818, r25821, MPFR_RNDN);
        mpfr_mul(r25823, r25819, r25822, MPFR_RNDN);
        mpfr_div(r25824, r25813, r25823, MPFR_RNDN);
        ;
        mpfr_set_si(r25826, mpfr_cmp(r25824, r25825) <= 0, MPFR_RNDN);
        ;
        ;
        mpfr_set_si(r25829, mpfr_cmp(r25824, r25828) <= 0, MPFR_RNDN);
        mpfr_mul(r25830, r25814, r25816, MPFR_RNDN);
        mpfr_fma(r25831, r25821, r25809, r25830, MPFR_RNDN);
        mpfr_add(r25832, r25817, r25814, MPFR_RNDN);
        ;
        mpfr_neg(r25834, r25833, MPFR_RNDN);
        mpfr_fma(r25835, r25832, r25832, r25834, MPFR_RNDN);
        mpfr_div(r25836, r25831, r25835, MPFR_RNDN);
        mpfr_log1p(r25837, r25836, MPFR_RNDN);
        mpfr_expm1(r25838, r25837, MPFR_RNDN);
        mpfr_div(r25839, r25821, r25832, MPFR_RNDN);
        mpfr_div(r25840, r25809, r25832, MPFR_RNDN);
        mpfr_mul(r25841, r25839, r25840, MPFR_RNDN);
        mpfr_mul(r25842, r25838, r25841, MPFR_RNDN);
        mpfr_cbrt(r25843, r25807, MPFR_RNDN);
        ;
        mpfr_div(r25845, r25844, r25809, MPFR_RNDN);
        mpfr_div(r25846, r25845, r25809, MPFR_RNDN);
        ;
        mpfr_fma(r25848, r25843, r25846, r25847, MPFR_RNDN);
        mpfr_fma(r25849, r25809, r25815, r25814, MPFR_RNDN);
        mpfr_add(r25850, r25849, r25816, MPFR_RNDN);
        mpfr_div(r25851, r25848, r25850, MPFR_RNDN);
        mpfr_div(r25852, r25809, r25850, MPFR_RNDN);
        mpfr_add(r25853, r25814, r25816, MPFR_RNDN);
        mpfr_add(r25854, r25853, r25809, MPFR_RNDN);
        mpfr_mul(r25855, r25852, r25854, MPFR_RNDN);
        mpfr_mul(r25856, r25851, r25855, MPFR_RNDN);
        if (mpfr_get_si(r25829, MPFR_RNDN)) { mpfr_set(r25857, r25842, MPFR_RNDN); } else { mpfr_set(r25857, r25856, MPFR_RNDN); };
        if (mpfr_get_si(r25826, MPFR_RNDN)) { mpfr_set(r25858, r25827, MPFR_RNDN); } else { mpfr_set(r25858, r25857, MPFR_RNDN); };
        return mpfr_get_d(r25858, MPFR_RNDN);
}

