#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 r10728 = beta;
        float r10729 = alpha;
        float r10730 = r10728 - r10729;
        float r10731 = r10729 + r10728;
        float r10732 = 2.0;
        float r10733 = r10731 + r10732;
        float r10734 = r10730 / r10733;
        float r10735 = 1.0;
        float r10736 = r10734 + r10735;
        float r10737 = r10736 / r10732;
        return r10737;
}

double f_id(double alpha, double beta) {
        double r10738 = beta;
        double r10739 = alpha;
        double r10740 = r10738 - r10739;
        double r10741 = r10739 + r10738;
        double r10742 = 2.0;
        double r10743 = r10741 + r10742;
        double r10744 = r10740 / r10743;
        double r10745 = 1.0;
        double r10746 = r10744 + r10745;
        double r10747 = r10746 / r10742;
        return r10747;
}


double f_of(float alpha, float beta) {
        float r10748 = beta;
        float r10749 = alpha;
        float r10750 = r10749 + r10748;
        float r10751 = 2.0;
        float r10752 = r10750 + r10751;
        float r10753 = r10748 / r10752;
        float r10754 = 4.0;
        float r10755 = 1;
        float r10756 = 2;
        float r10757 = pow(r10749, r10756);
        float r10758 = r10755 / r10757;
        float r10759 = r10754 * r10758;
        float r10760 = r10755 / r10749;
        float r10761 = r10751 * r10760;
        float r10762 = 8.0;
        float r10763 = 3;
        float r10764 = pow(r10749, r10763);
        float r10765 = r10755 / r10764;
        float r10766 = r10762 * r10765;
        float r10767 = r10761 + r10766;
        float r10768 = r10759 - r10767;
        float r10769 = r10753 - r10768;
        float r10770 = r10769 / r10751;
        float r10771 = 1.2783782904684599e-301;
        bool r10772 = r10770 <= r10771;
        float r10773 = r10752 / r10748;
        float r10774 = cbrt(r10773);
        float r10775 = r10774 * r10774;
        float r10776 = r10755 / r10775;
        float r10777 = r10776 / r10774;
        float r10778 = r10749 / r10752;
        float r10779 = 1.0;
        float r10780 = r10778 - r10779;
        float r10781 = r10777 - r10780;
        float r10782 = r10781 / r10751;
        float r10783 = 7.459438506580293e-12;
        bool r10784 = r10770 <= r10783;
        float r10785 = sqrt(r10778);
        float r10786 = r10785 * r10785;
        float r10787 = r10786 - r10779;
        float r10788 = exp(r10787);
        float r10789 = log(r10788);
        float r10790 = r10753 - r10789;
        float r10791 = r10790 / r10751;
        float r10792 = r10784 ? r10770 : r10791;
        float r10793 = r10772 ? r10782 : r10792;
        return r10793;
}

double f_od(double alpha, double beta) {
        double r10794 = beta;
        double r10795 = alpha;
        double r10796 = r10795 + r10794;
        double r10797 = 2.0;
        double r10798 = r10796 + r10797;
        double r10799 = r10794 / r10798;
        double r10800 = 4.0;
        double r10801 = 1;
        double r10802 = 2;
        double r10803 = pow(r10795, r10802);
        double r10804 = r10801 / r10803;
        double r10805 = r10800 * r10804;
        double r10806 = r10801 / r10795;
        double r10807 = r10797 * r10806;
        double r10808 = 8.0;
        double r10809 = 3;
        double r10810 = pow(r10795, r10809);
        double r10811 = r10801 / r10810;
        double r10812 = r10808 * r10811;
        double r10813 = r10807 + r10812;
        double r10814 = r10805 - r10813;
        double r10815 = r10799 - r10814;
        double r10816 = r10815 / r10797;
        double r10817 = 1.2783782904684599e-301;
        bool r10818 = r10816 <= r10817;
        double r10819 = r10798 / r10794;
        double r10820 = cbrt(r10819);
        double r10821 = r10820 * r10820;
        double r10822 = r10801 / r10821;
        double r10823 = r10822 / r10820;
        double r10824 = r10795 / r10798;
        double r10825 = 1.0;
        double r10826 = r10824 - r10825;
        double r10827 = r10823 - r10826;
        double r10828 = r10827 / r10797;
        double r10829 = 7.459438506580293e-12;
        bool r10830 = r10816 <= r10829;
        double r10831 = sqrt(r10824);
        double r10832 = r10831 * r10831;
        double r10833 = r10832 - r10825;
        double r10834 = exp(r10833);
        double r10835 = log(r10834);
        double r10836 = r10799 - r10835;
        double r10837 = r10836 / r10797;
        double r10838 = r10830 ? r10816 : r10837;
        double r10839 = r10818 ? r10828 : r10838;
        return r10839;
}

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 r10840, r10841, r10842, r10843, r10844, r10845, r10846, r10847, r10848, r10849;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(1360);
        mpfr_init(r10840);
        mpfr_init(r10841);
        mpfr_init(r10842);
        mpfr_init(r10843);
        mpfr_init_set_str(r10844, "2.0", 10, MPFR_RNDN);
        mpfr_init(r10845);
        mpfr_init(r10846);
        mpfr_init_set_str(r10847, "1.0", 10, MPFR_RNDN);
        mpfr_init(r10848);
        mpfr_init(r10849);
}

double f_im(double alpha, double beta) {
        mpfr_set_d(r10840, beta, MPFR_RNDN);
        mpfr_set_d(r10841, alpha, MPFR_RNDN);
        mpfr_sub(r10842, r10840, r10841, MPFR_RNDN);
        mpfr_add(r10843, r10841, r10840, MPFR_RNDN);
        ;
        mpfr_add(r10845, r10843, r10844, MPFR_RNDN);
        mpfr_div(r10846, r10842, r10845, MPFR_RNDN);
        ;
        mpfr_add(r10848, r10846, r10847, MPFR_RNDN);
        mpfr_div(r10849, r10848, r10844, MPFR_RNDN);
        return mpfr_get_d(r10849, MPFR_RNDN);
}

static mpfr_t 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;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(1360);
        mpfr_init(r10850);
        mpfr_init(r10851);
        mpfr_init(r10852);
        mpfr_init_set_str(r10853, "2.0", 10, MPFR_RNDN);
        mpfr_init(r10854);
        mpfr_init(r10855);
        mpfr_init_set_str(r10856, "4.0", 10, MPFR_RNDN);
        mpfr_init_set_str(r10857, "1", 10, MPFR_RNDN);
        mpfr_init_set_str(r10858, "2", 10, MPFR_RNDN);
        mpfr_init(r10859);
        mpfr_init(r10860);
        mpfr_init(r10861);
        mpfr_init(r10862);
        mpfr_init(r10863);
        mpfr_init_set_str(r10864, "8.0", 10, MPFR_RNDN);
        mpfr_init_set_str(r10865, "3", 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_set_str(r10873, "1.2783782904684599e-301", 10, MPFR_RNDN);
        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, "1.0", 10, MPFR_RNDN);
        mpfr_init(r10882);
        mpfr_init(r10883);
        mpfr_init(r10884);
        mpfr_init_set_str(r10885, "7.459438506580293e-12", 10, MPFR_RNDN);
        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);
}

double f_fm(double alpha, double beta) {
        mpfr_set_d(r10850, beta, MPFR_RNDN);
        mpfr_set_d(r10851, alpha, MPFR_RNDN);
        mpfr_add(r10852, r10851, r10850, MPFR_RNDN);
        ;
        mpfr_add(r10854, r10852, r10853, MPFR_RNDN);
        mpfr_div(r10855, r10850, r10854, MPFR_RNDN);
        ;
        ;
        ;
        mpfr_pow(r10859, r10851, r10858, MPFR_RNDN);
        mpfr_div(r10860, r10857, r10859, MPFR_RNDN);
        mpfr_mul(r10861, r10856, r10860, MPFR_RNDN);
        mpfr_div(r10862, r10857, r10851, MPFR_RNDN);
        mpfr_mul(r10863, r10853, r10862, MPFR_RNDN);
        ;
        ;
        mpfr_pow(r10866, r10851, r10865, MPFR_RNDN);
        mpfr_div(r10867, r10857, r10866, MPFR_RNDN);
        mpfr_mul(r10868, r10864, r10867, MPFR_RNDN);
        mpfr_add(r10869, r10863, r10868, MPFR_RNDN);
        mpfr_sub(r10870, r10861, r10869, MPFR_RNDN);
        mpfr_sub(r10871, r10855, r10870, MPFR_RNDN);
        mpfr_div(r10872, r10871, r10853, MPFR_RNDN);
        ;
        mpfr_set_si(r10874, mpfr_cmp(r10872, r10873) <= 0, MPFR_RNDN);
        mpfr_div(r10875, r10854, r10850, MPFR_RNDN);
        mpfr_cbrt(r10876, r10875, MPFR_RNDN);
        mpfr_mul(r10877, r10876, r10876, MPFR_RNDN);
        mpfr_div(r10878, r10857, r10877, MPFR_RNDN);
        mpfr_div(r10879, r10878, r10876, MPFR_RNDN);
        mpfr_div(r10880, r10851, r10854, MPFR_RNDN);
        ;
        mpfr_sub(r10882, r10880, r10881, MPFR_RNDN);
        mpfr_sub(r10883, r10879, r10882, MPFR_RNDN);
        mpfr_div(r10884, r10883, r10853, MPFR_RNDN);
        ;
        mpfr_set_si(r10886, mpfr_cmp(r10872, r10885) <= 0, MPFR_RNDN);
        mpfr_sqrt(r10887, r10880, MPFR_RNDN);
        mpfr_mul(r10888, r10887, r10887, MPFR_RNDN);
        mpfr_sub(r10889, r10888, r10881, MPFR_RNDN);
        mpfr_exp(r10890, r10889, MPFR_RNDN);
        mpfr_log(r10891, r10890, MPFR_RNDN);
        mpfr_sub(r10892, r10855, r10891, MPFR_RNDN);
        mpfr_div(r10893, r10892, r10853, MPFR_RNDN);
        if (mpfr_get_si(r10886, MPFR_RNDN)) { mpfr_set(r10894, r10872, MPFR_RNDN); } else { mpfr_set(r10894, r10893, MPFR_RNDN); };
        if (mpfr_get_si(r10874, MPFR_RNDN)) { mpfr_set(r10895, r10884, MPFR_RNDN); } else { mpfr_set(r10895, r10894, MPFR_RNDN); };
        return mpfr_get_d(r10895, MPFR_RNDN);
}

static mpfr_t r10896, r10897, r10898, r10899, r10900, r10901, r10902, r10903, r10904, r10905, r10906, r10907, r10908, r10909, r10910, r10911, r10912, r10913, r10914, r10915, r10916, r10917, r10918, r10919, r10920, r10921, r10922, r10923, r10924, r10925, r10926, r10927, r10928, r10929, r10930, r10931, r10932, r10933, r10934, r10935, r10936, r10937, r10938, r10939, r10940, r10941;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(1360);
        mpfr_init(r10896);
        mpfr_init(r10897);
        mpfr_init(r10898);
        mpfr_init_set_str(r10899, "2.0", 10, MPFR_RNDN);
        mpfr_init(r10900);
        mpfr_init(r10901);
        mpfr_init_set_str(r10902, "4.0", 10, MPFR_RNDN);
        mpfr_init_set_str(r10903, "1", 10, MPFR_RNDN);
        mpfr_init_set_str(r10904, "2", 10, MPFR_RNDN);
        mpfr_init(r10905);
        mpfr_init(r10906);
        mpfr_init(r10907);
        mpfr_init(r10908);
        mpfr_init(r10909);
        mpfr_init_set_str(r10910, "8.0", 10, MPFR_RNDN);
        mpfr_init_set_str(r10911, "3", 10, MPFR_RNDN);
        mpfr_init(r10912);
        mpfr_init(r10913);
        mpfr_init(r10914);
        mpfr_init(r10915);
        mpfr_init(r10916);
        mpfr_init(r10917);
        mpfr_init(r10918);
        mpfr_init_set_str(r10919, "1.2783782904684599e-301", 10, MPFR_RNDN);
        mpfr_init(r10920);
        mpfr_init(r10921);
        mpfr_init(r10922);
        mpfr_init(r10923);
        mpfr_init(r10924);
        mpfr_init(r10925);
        mpfr_init(r10926);
        mpfr_init_set_str(r10927, "1.0", 10, MPFR_RNDN);
        mpfr_init(r10928);
        mpfr_init(r10929);
        mpfr_init(r10930);
        mpfr_init_set_str(r10931, "7.459438506580293e-12", 10, MPFR_RNDN);
        mpfr_init(r10932);
        mpfr_init(r10933);
        mpfr_init(r10934);
        mpfr_init(r10935);
        mpfr_init(r10936);
        mpfr_init(r10937);
        mpfr_init(r10938);
        mpfr_init(r10939);
        mpfr_init(r10940);
        mpfr_init(r10941);
}

double f_dm(double alpha, double beta) {
        mpfr_set_d(r10896, beta, MPFR_RNDN);
        mpfr_set_d(r10897, alpha, MPFR_RNDN);
        mpfr_add(r10898, r10897, r10896, MPFR_RNDN);
        ;
        mpfr_add(r10900, r10898, r10899, MPFR_RNDN);
        mpfr_div(r10901, r10896, r10900, MPFR_RNDN);
        ;
        ;
        ;
        mpfr_pow(r10905, r10897, r10904, MPFR_RNDN);
        mpfr_div(r10906, r10903, r10905, MPFR_RNDN);
        mpfr_mul(r10907, r10902, r10906, MPFR_RNDN);
        mpfr_div(r10908, r10903, r10897, MPFR_RNDN);
        mpfr_mul(r10909, r10899, r10908, MPFR_RNDN);
        ;
        ;
        mpfr_pow(r10912, r10897, r10911, MPFR_RNDN);
        mpfr_div(r10913, r10903, r10912, MPFR_RNDN);
        mpfr_mul(r10914, r10910, r10913, MPFR_RNDN);
        mpfr_add(r10915, r10909, r10914, MPFR_RNDN);
        mpfr_sub(r10916, r10907, r10915, MPFR_RNDN);
        mpfr_sub(r10917, r10901, r10916, MPFR_RNDN);
        mpfr_div(r10918, r10917, r10899, MPFR_RNDN);
        ;
        mpfr_set_si(r10920, mpfr_cmp(r10918, r10919) <= 0, MPFR_RNDN);
        mpfr_div(r10921, r10900, r10896, MPFR_RNDN);
        mpfr_cbrt(r10922, r10921, MPFR_RNDN);
        mpfr_mul(r10923, r10922, r10922, MPFR_RNDN);
        mpfr_div(r10924, r10903, r10923, MPFR_RNDN);
        mpfr_div(r10925, r10924, r10922, MPFR_RNDN);
        mpfr_div(r10926, r10897, r10900, MPFR_RNDN);
        ;
        mpfr_sub(r10928, r10926, r10927, MPFR_RNDN);
        mpfr_sub(r10929, r10925, r10928, MPFR_RNDN);
        mpfr_div(r10930, r10929, r10899, MPFR_RNDN);
        ;
        mpfr_set_si(r10932, mpfr_cmp(r10918, r10931) <= 0, MPFR_RNDN);
        mpfr_sqrt(r10933, r10926, MPFR_RNDN);
        mpfr_mul(r10934, r10933, r10933, MPFR_RNDN);
        mpfr_sub(r10935, r10934, r10927, MPFR_RNDN);
        mpfr_exp(r10936, r10935, MPFR_RNDN);
        mpfr_log(r10937, r10936, MPFR_RNDN);
        mpfr_sub(r10938, r10901, r10937, MPFR_RNDN);
        mpfr_div(r10939, r10938, r10899, MPFR_RNDN);
        if (mpfr_get_si(r10932, MPFR_RNDN)) { mpfr_set(r10940, r10918, MPFR_RNDN); } else { mpfr_set(r10940, r10939, MPFR_RNDN); };
        if (mpfr_get_si(r10920, MPFR_RNDN)) { mpfr_set(r10941, r10930, MPFR_RNDN); } else { mpfr_set(r10941, r10940, MPFR_RNDN); };
        return mpfr_get_d(r10941, MPFR_RNDN);
}

