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

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

double f_if(float alpha, float beta) {
        float r26683 = beta;
        float r26684 = alpha;
        float r26685 = r26683 - r26684;
        float r26686 = r26684 + r26683;
        float r26687 = 2.0;
        float r26688 = r26686 + r26687;
        float r26689 = r26685 / r26688;
        float r26690 = 1.0;
        float r26691 = r26689 + r26690;
        float r26692 = r26691 / r26687;
        return r26692;
}

double f_id(double alpha, double beta) {
        double r26693 = beta;
        double r26694 = alpha;
        double r26695 = r26693 - r26694;
        double r26696 = r26694 + r26693;
        double r26697 = 2.0;
        double r26698 = r26696 + r26697;
        double r26699 = r26695 / r26698;
        double r26700 = 1.0;
        double r26701 = r26699 + r26700;
        double r26702 = r26701 / r26697;
        return r26702;
}


double f_of(float alpha, float beta) {
        float r26703 = beta;
        float r26704 = alpha;
        float r26705 = r26703 - r26704;
        float r26706 = r26704 + r26703;
        float r26707 = 2.0;
        float r26708 = r26706 + r26707;
        float r26709 = r26705 / r26708;
        float r26710 = 1.0;
        float r26711 = r26709 + r26710;
        float r26712 = r26711 / r26707;
        float r26713 = 8.49962757384222e-06;
        bool r26714 = r26712 <= r26713;
        float r26715 = r26703 / r26708;
        float r26716 = 4.0;
        float r26717 = 1;
        float r26718 = 2;
        float r26719 = pow(r26704, r26718);
        float r26720 = r26717 / r26719;
        float r26721 = r26716 * r26720;
        float r26722 = 8.0;
        float r26723 = 3;
        float r26724 = pow(r26704, r26723);
        float r26725 = r26717 / r26724;
        float r26726 = r26722 * r26725;
        float r26727 = r26717 / r26704;
        float r26728 = r26707 * r26727;
        float r26729 = r26726 + r26728;
        float r26730 = r26721 - r26729;
        float r26731 = r26715 - r26730;
        float r26732 = r26731 / r26707;
        float r26733 = r26704 / r26708;
        float r26734 = pow(r26733, r26723);
        float r26735 = pow(r26734, r26723);
        float r26736 = pow(r26710, r26723);
        float r26737 = pow(r26736, r26723);
        float r26738 = r26735 - r26737;
        float r26739 = r26734 * r26734;
        float r26740 = r26736 * r26736;
        float r26741 = r26734 * r26736;
        float r26742 = r26740 + r26741;
        float r26743 = r26739 + r26742;
        float r26744 = r26738 / r26743;
        float r26745 = r26733 * r26733;
        float r26746 = r26710 * r26710;
        float r26747 = r26733 * r26710;
        float r26748 = r26746 + r26747;
        float r26749 = r26745 + r26748;
        float r26750 = r26744 / r26749;
        float r26751 = r26715 - r26750;
        float r26752 = r26751 / r26707;
        float r26753 = r26714 ? r26732 : r26752;
        return r26753;
}

double f_od(double alpha, double beta) {
        double r26754 = beta;
        double r26755 = alpha;
        double r26756 = r26754 - r26755;
        double r26757 = r26755 + r26754;
        double r26758 = 2.0;
        double r26759 = r26757 + r26758;
        double r26760 = r26756 / r26759;
        double r26761 = 1.0;
        double r26762 = r26760 + r26761;
        double r26763 = r26762 / r26758;
        double r26764 = 8.49962757384222e-06;
        bool r26765 = r26763 <= r26764;
        double r26766 = r26754 / r26759;
        double r26767 = 4.0;
        double r26768 = 1;
        double r26769 = 2;
        double r26770 = pow(r26755, r26769);
        double r26771 = r26768 / r26770;
        double r26772 = r26767 * r26771;
        double r26773 = 8.0;
        double r26774 = 3;
        double r26775 = pow(r26755, r26774);
        double r26776 = r26768 / r26775;
        double r26777 = r26773 * r26776;
        double r26778 = r26768 / r26755;
        double r26779 = r26758 * r26778;
        double r26780 = r26777 + r26779;
        double r26781 = r26772 - r26780;
        double r26782 = r26766 - r26781;
        double r26783 = r26782 / r26758;
        double r26784 = r26755 / r26759;
        double r26785 = pow(r26784, r26774);
        double r26786 = pow(r26785, r26774);
        double r26787 = pow(r26761, r26774);
        double r26788 = pow(r26787, r26774);
        double r26789 = r26786 - r26788;
        double r26790 = r26785 * r26785;
        double r26791 = r26787 * r26787;
        double r26792 = r26785 * r26787;
        double r26793 = r26791 + r26792;
        double r26794 = r26790 + r26793;
        double r26795 = r26789 / r26794;
        double r26796 = r26784 * r26784;
        double r26797 = r26761 * r26761;
        double r26798 = r26784 * r26761;
        double r26799 = r26797 + r26798;
        double r26800 = r26796 + r26799;
        double r26801 = r26795 / r26800;
        double r26802 = r26766 - r26801;
        double r26803 = r26802 / r26758;
        double r26804 = r26765 ? r26783 : r26803;
        return r26804;
}

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 r26805, r26806, r26807, r26808, r26809, r26810, r26811, r26812, r26813, r26814;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(1360);
        mpfr_init(r26805);
        mpfr_init(r26806);
        mpfr_init(r26807);
        mpfr_init(r26808);
        mpfr_init_set_str(r26809, "2.0", 10, MPFR_RNDN);
        mpfr_init(r26810);
        mpfr_init(r26811);
        mpfr_init_set_str(r26812, "1.0", 10, MPFR_RNDN);
        mpfr_init(r26813);
        mpfr_init(r26814);
}

double f_im(double alpha, double beta) {
        mpfr_set_d(r26805, beta, MPFR_RNDN);
        mpfr_set_d(r26806, alpha, MPFR_RNDN);
        mpfr_sub(r26807, r26805, r26806, MPFR_RNDN);
        mpfr_add(r26808, r26806, r26805, MPFR_RNDN);
        ;
        mpfr_add(r26810, r26808, r26809, MPFR_RNDN);
        mpfr_div(r26811, r26807, r26810, MPFR_RNDN);
        ;
        mpfr_add(r26813, r26811, r26812, MPFR_RNDN);
        mpfr_div(r26814, r26813, r26809, MPFR_RNDN);
        return mpfr_get_d(r26814, MPFR_RNDN);
}

static mpfr_t r26815, r26816, r26817, r26818, r26819, r26820, r26821, r26822, r26823, r26824, r26825, r26826, r26827, r26828, r26829, r26830, r26831, r26832, r26833, r26834, r26835, r26836, r26837, r26838, r26839, r26840, r26841, r26842, r26843, r26844, r26845, r26846, r26847, r26848, r26849, r26850, r26851, r26852, r26853, r26854, r26855, r26856, r26857, r26858, r26859, r26860, r26861, r26862, r26863, r26864, r26865;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(1360);
        mpfr_init(r26815);
        mpfr_init(r26816);
        mpfr_init(r26817);
        mpfr_init(r26818);
        mpfr_init_set_str(r26819, "2.0", 10, MPFR_RNDN);
        mpfr_init(r26820);
        mpfr_init(r26821);
        mpfr_init_set_str(r26822, "1.0", 10, MPFR_RNDN);
        mpfr_init(r26823);
        mpfr_init(r26824);
        mpfr_init_set_str(r26825, "8.49962757384222e-06", 10, MPFR_RNDN);
        mpfr_init(r26826);
        mpfr_init(r26827);
        mpfr_init_set_str(r26828, "4.0", 10, MPFR_RNDN);
        mpfr_init_set_str(r26829, "1", 10, MPFR_RNDN);
        mpfr_init_set_str(r26830, "2", 10, MPFR_RNDN);
        mpfr_init(r26831);
        mpfr_init(r26832);
        mpfr_init(r26833);
        mpfr_init_set_str(r26834, "8.0", 10, MPFR_RNDN);
        mpfr_init_set_str(r26835, "3", 10, MPFR_RNDN);
        mpfr_init(r26836);
        mpfr_init(r26837);
        mpfr_init(r26838);
        mpfr_init(r26839);
        mpfr_init(r26840);
        mpfr_init(r26841);
        mpfr_init(r26842);
        mpfr_init(r26843);
        mpfr_init(r26844);
        mpfr_init(r26845);
        mpfr_init(r26846);
        mpfr_init(r26847);
        mpfr_init(r26848);
        mpfr_init(r26849);
        mpfr_init(r26850);
        mpfr_init(r26851);
        mpfr_init(r26852);
        mpfr_init(r26853);
        mpfr_init(r26854);
        mpfr_init(r26855);
        mpfr_init(r26856);
        mpfr_init(r26857);
        mpfr_init(r26858);
        mpfr_init(r26859);
        mpfr_init(r26860);
        mpfr_init(r26861);
        mpfr_init(r26862);
        mpfr_init(r26863);
        mpfr_init(r26864);
        mpfr_init(r26865);
}

double f_fm(double alpha, double beta) {
        mpfr_set_d(r26815, beta, MPFR_RNDN);
        mpfr_set_d(r26816, alpha, MPFR_RNDN);
        mpfr_sub(r26817, r26815, r26816, MPFR_RNDN);
        mpfr_add(r26818, r26816, r26815, MPFR_RNDN);
        ;
        mpfr_add(r26820, r26818, r26819, MPFR_RNDN);
        mpfr_div(r26821, r26817, r26820, MPFR_RNDN);
        ;
        mpfr_add(r26823, r26821, r26822, MPFR_RNDN);
        mpfr_div(r26824, r26823, r26819, MPFR_RNDN);
        ;
        mpfr_set_si(r26826, mpfr_cmp(r26824, r26825) <= 0, MPFR_RNDN);
        mpfr_div(r26827, r26815, r26820, MPFR_RNDN);
        ;
        ;
        ;
        mpfr_pow(r26831, r26816, r26830, MPFR_RNDN);
        mpfr_div(r26832, r26829, r26831, MPFR_RNDN);
        mpfr_mul(r26833, r26828, r26832, MPFR_RNDN);
        ;
        ;
        mpfr_pow(r26836, r26816, r26835, MPFR_RNDN);
        mpfr_div(r26837, r26829, r26836, MPFR_RNDN);
        mpfr_mul(r26838, r26834, r26837, MPFR_RNDN);
        mpfr_div(r26839, r26829, r26816, MPFR_RNDN);
        mpfr_mul(r26840, r26819, r26839, MPFR_RNDN);
        mpfr_add(r26841, r26838, r26840, MPFR_RNDN);
        mpfr_sub(r26842, r26833, r26841, MPFR_RNDN);
        mpfr_sub(r26843, r26827, r26842, MPFR_RNDN);
        mpfr_div(r26844, r26843, r26819, MPFR_RNDN);
        mpfr_div(r26845, r26816, r26820, MPFR_RNDN);
        mpfr_pow(r26846, r26845, r26835, MPFR_RNDN);
        mpfr_pow(r26847, r26846, r26835, MPFR_RNDN);
        mpfr_pow(r26848, r26822, r26835, MPFR_RNDN);
        mpfr_pow(r26849, r26848, r26835, MPFR_RNDN);
        mpfr_sub(r26850, r26847, r26849, MPFR_RNDN);
        mpfr_mul(r26851, r26846, r26846, MPFR_RNDN);
        mpfr_mul(r26852, r26848, r26848, MPFR_RNDN);
        mpfr_mul(r26853, r26846, r26848, MPFR_RNDN);
        mpfr_add(r26854, r26852, r26853, MPFR_RNDN);
        mpfr_add(r26855, r26851, r26854, MPFR_RNDN);
        mpfr_div(r26856, r26850, r26855, MPFR_RNDN);
        mpfr_mul(r26857, r26845, r26845, MPFR_RNDN);
        mpfr_mul(r26858, r26822, r26822, MPFR_RNDN);
        mpfr_mul(r26859, r26845, r26822, MPFR_RNDN);
        mpfr_add(r26860, r26858, r26859, MPFR_RNDN);
        mpfr_add(r26861, r26857, r26860, MPFR_RNDN);
        mpfr_div(r26862, r26856, r26861, MPFR_RNDN);
        mpfr_sub(r26863, r26827, r26862, MPFR_RNDN);
        mpfr_div(r26864, r26863, r26819, MPFR_RNDN);
        if (mpfr_get_si(r26826, MPFR_RNDN)) { mpfr_set(r26865, r26844, MPFR_RNDN); } else { mpfr_set(r26865, r26864, MPFR_RNDN); };
        return mpfr_get_d(r26865, MPFR_RNDN);
}

static mpfr_t r26866, r26867, r26868, r26869, r26870, r26871, r26872, r26873, r26874, r26875, r26876, r26877, r26878, r26879, r26880, r26881, r26882, r26883, r26884, r26885, r26886, r26887, r26888, r26889, r26890, r26891, r26892, r26893, r26894, r26895, r26896, r26897, r26898, r26899, r26900, r26901, r26902, r26903, r26904, r26905, r26906, r26907, r26908, r26909, r26910, r26911, r26912, r26913, r26914, r26915, r26916;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(1360);
        mpfr_init(r26866);
        mpfr_init(r26867);
        mpfr_init(r26868);
        mpfr_init(r26869);
        mpfr_init_set_str(r26870, "2.0", 10, MPFR_RNDN);
        mpfr_init(r26871);
        mpfr_init(r26872);
        mpfr_init_set_str(r26873, "1.0", 10, MPFR_RNDN);
        mpfr_init(r26874);
        mpfr_init(r26875);
        mpfr_init_set_str(r26876, "8.49962757384222e-06", 10, MPFR_RNDN);
        mpfr_init(r26877);
        mpfr_init(r26878);
        mpfr_init_set_str(r26879, "4.0", 10, MPFR_RNDN);
        mpfr_init_set_str(r26880, "1", 10, MPFR_RNDN);
        mpfr_init_set_str(r26881, "2", 10, MPFR_RNDN);
        mpfr_init(r26882);
        mpfr_init(r26883);
        mpfr_init(r26884);
        mpfr_init_set_str(r26885, "8.0", 10, MPFR_RNDN);
        mpfr_init_set_str(r26886, "3", 10, MPFR_RNDN);
        mpfr_init(r26887);
        mpfr_init(r26888);
        mpfr_init(r26889);
        mpfr_init(r26890);
        mpfr_init(r26891);
        mpfr_init(r26892);
        mpfr_init(r26893);
        mpfr_init(r26894);
        mpfr_init(r26895);
        mpfr_init(r26896);
        mpfr_init(r26897);
        mpfr_init(r26898);
        mpfr_init(r26899);
        mpfr_init(r26900);
        mpfr_init(r26901);
        mpfr_init(r26902);
        mpfr_init(r26903);
        mpfr_init(r26904);
        mpfr_init(r26905);
        mpfr_init(r26906);
        mpfr_init(r26907);
        mpfr_init(r26908);
        mpfr_init(r26909);
        mpfr_init(r26910);
        mpfr_init(r26911);
        mpfr_init(r26912);
        mpfr_init(r26913);
        mpfr_init(r26914);
        mpfr_init(r26915);
        mpfr_init(r26916);
}

double f_dm(double alpha, double beta) {
        mpfr_set_d(r26866, beta, MPFR_RNDN);
        mpfr_set_d(r26867, alpha, MPFR_RNDN);
        mpfr_sub(r26868, r26866, r26867, MPFR_RNDN);
        mpfr_add(r26869, r26867, r26866, MPFR_RNDN);
        ;
        mpfr_add(r26871, r26869, r26870, MPFR_RNDN);
        mpfr_div(r26872, r26868, r26871, MPFR_RNDN);
        ;
        mpfr_add(r26874, r26872, r26873, MPFR_RNDN);
        mpfr_div(r26875, r26874, r26870, MPFR_RNDN);
        ;
        mpfr_set_si(r26877, mpfr_cmp(r26875, r26876) <= 0, MPFR_RNDN);
        mpfr_div(r26878, r26866, r26871, MPFR_RNDN);
        ;
        ;
        ;
        mpfr_pow(r26882, r26867, r26881, MPFR_RNDN);
        mpfr_div(r26883, r26880, r26882, MPFR_RNDN);
        mpfr_mul(r26884, r26879, r26883, MPFR_RNDN);
        ;
        ;
        mpfr_pow(r26887, r26867, r26886, MPFR_RNDN);
        mpfr_div(r26888, r26880, r26887, MPFR_RNDN);
        mpfr_mul(r26889, r26885, r26888, MPFR_RNDN);
        mpfr_div(r26890, r26880, r26867, MPFR_RNDN);
        mpfr_mul(r26891, r26870, r26890, MPFR_RNDN);
        mpfr_add(r26892, r26889, r26891, MPFR_RNDN);
        mpfr_sub(r26893, r26884, r26892, MPFR_RNDN);
        mpfr_sub(r26894, r26878, r26893, MPFR_RNDN);
        mpfr_div(r26895, r26894, r26870, MPFR_RNDN);
        mpfr_div(r26896, r26867, r26871, MPFR_RNDN);
        mpfr_pow(r26897, r26896, r26886, MPFR_RNDN);
        mpfr_pow(r26898, r26897, r26886, MPFR_RNDN);
        mpfr_pow(r26899, r26873, r26886, MPFR_RNDN);
        mpfr_pow(r26900, r26899, r26886, MPFR_RNDN);
        mpfr_sub(r26901, r26898, r26900, MPFR_RNDN);
        mpfr_mul(r26902, r26897, r26897, MPFR_RNDN);
        mpfr_mul(r26903, r26899, r26899, MPFR_RNDN);
        mpfr_mul(r26904, r26897, r26899, MPFR_RNDN);
        mpfr_add(r26905, r26903, r26904, MPFR_RNDN);
        mpfr_add(r26906, r26902, r26905, MPFR_RNDN);
        mpfr_div(r26907, r26901, r26906, MPFR_RNDN);
        mpfr_mul(r26908, r26896, r26896, MPFR_RNDN);
        mpfr_mul(r26909, r26873, r26873, MPFR_RNDN);
        mpfr_mul(r26910, r26896, r26873, MPFR_RNDN);
        mpfr_add(r26911, r26909, r26910, MPFR_RNDN);
        mpfr_add(r26912, r26908, r26911, MPFR_RNDN);
        mpfr_div(r26913, r26907, r26912, MPFR_RNDN);
        mpfr_sub(r26914, r26878, r26913, MPFR_RNDN);
        mpfr_div(r26915, r26914, r26870, MPFR_RNDN);
        if (mpfr_get_si(r26877, MPFR_RNDN)) { mpfr_set(r26916, r26895, MPFR_RNDN); } else { mpfr_set(r26916, r26915, MPFR_RNDN); };
        return mpfr_get_d(r26916, MPFR_RNDN);
}

