#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 r25760 = i;
        float r25761 = alpha;
        float r25762 = beta;
        float r25763 = r25761 + r25762;
        float r25764 = r25763 + r25760;
        float r25765 = r25760 * r25764;
        float r25766 = r25762 * r25761;
        float r25767 = r25766 + r25765;
        float r25768 = r25765 * r25767;
        float r25769 = 2;
        float r25770 = r25769 * r25760;
        float r25771 = r25763 + r25770;
        float r25772 = r25771 * r25771;
        float r25773 = r25768 / r25772;
        float r25774 = 1.0;
        float r25775 = r25772 - r25774;
        float r25776 = r25773 / r25775;
        return r25776;
}

double f_id(double alpha, double beta, double i) {
        double r25777 = i;
        double r25778 = alpha;
        double r25779 = beta;
        double r25780 = r25778 + r25779;
        double r25781 = r25780 + r25777;
        double r25782 = r25777 * r25781;
        double r25783 = r25779 * r25778;
        double r25784 = r25783 + r25782;
        double r25785 = r25782 * r25784;
        double r25786 = 2;
        double r25787 = r25786 * r25777;
        double r25788 = r25780 + r25787;
        double r25789 = r25788 * r25788;
        double r25790 = r25785 / r25789;
        double r25791 = 1.0;
        double r25792 = r25789 - r25791;
        double r25793 = r25790 / r25792;
        return r25793;
}


double f_of(float alpha, float beta, float i) {
        float r25794 = alpha;
        float r25795 = i;
        float r25796 = r25794 + r25795;
        float r25797 = beta;
        float r25798 = r25796 + r25797;
        float r25799 = r25797 * r25794;
        float r25800 = fma(r25798, r25795, r25799);
        float r25801 = 2;
        float r25802 = fma(r25795, r25801, r25794);
        float r25803 = r25802 + r25797;
        float r25804 = 1.0;
        float r25805 = -r25804;
        float r25806 = fma(r25803, r25803, r25805);
        float r25807 = r25800 / r25806;
        float r25808 = cbrt(r25807);
        float r25809 = r25808 * r25808;
        float r25810 = r25798 / r25803;
        float r25811 = r25795 / r25803;
        float r25812 = r25810 * r25811;
        float r25813 = r25808 * r25812;
        float r25814 = r25809 * r25813;
        float r25815 = 0.06250006939290983;
        bool r25816 = r25814 <= r25815;
        float r25817 = sqrt(r25807);
        float r25818 = r25817 * r25812;
        float r25819 = r25817 * r25818;
        float r25820 = 0;
        float r25821 = r25816 ? r25819 : r25820;
        return r25821;
}

double f_od(double alpha, double beta, double i) {
        double r25822 = alpha;
        double r25823 = i;
        double r25824 = r25822 + r25823;
        double r25825 = beta;
        double r25826 = r25824 + r25825;
        double r25827 = r25825 * r25822;
        double r25828 = fma(r25826, r25823, r25827);
        double r25829 = 2;
        double r25830 = fma(r25823, r25829, r25822);
        double r25831 = r25830 + r25825;
        double r25832 = 1.0;
        double r25833 = -r25832;
        double r25834 = fma(r25831, r25831, r25833);
        double r25835 = r25828 / r25834;
        double r25836 = cbrt(r25835);
        double r25837 = r25836 * r25836;
        double r25838 = r25826 / r25831;
        double r25839 = r25823 / r25831;
        double r25840 = r25838 * r25839;
        double r25841 = r25836 * r25840;
        double r25842 = r25837 * r25841;
        double r25843 = 0.06250006939290983;
        bool r25844 = r25842 <= r25843;
        double r25845 = sqrt(r25835);
        double r25846 = r25845 * r25840;
        double r25847 = r25845 * r25846;
        double r25848 = 0;
        double r25849 = r25844 ? r25847 : r25848;
        return r25849;
}

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 r25850, r25851, r25852, r25853, r25854, r25855, r25856, r25857, r25858, r25859, r25860, r25861, r25862, r25863, r25864, r25865, r25866;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(336);
        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);
        mpfr_init_set_str(r25859, "2", 10, MPFR_RNDN);
        mpfr_init(r25860);
        mpfr_init(r25861);
        mpfr_init(r25862);
        mpfr_init(r25863);
        mpfr_init_set_str(r25864, "1.0", 10, MPFR_RNDN);
        mpfr_init(r25865);
        mpfr_init(r25866);
}

double f_im(double alpha, double beta, double i) {
        mpfr_set_d(r25850, i, MPFR_RNDN);
        mpfr_set_d(r25851, alpha, MPFR_RNDN);
        mpfr_set_d(r25852, beta, MPFR_RNDN);
        mpfr_add(r25853, r25851, r25852, MPFR_RNDN);
        mpfr_add(r25854, r25853, r25850, MPFR_RNDN);
        mpfr_mul(r25855, r25850, r25854, MPFR_RNDN);
        mpfr_mul(r25856, r25852, r25851, MPFR_RNDN);
        mpfr_add(r25857, r25856, r25855, MPFR_RNDN);
        mpfr_mul(r25858, r25855, r25857, MPFR_RNDN);
        ;
        mpfr_mul(r25860, r25859, r25850, MPFR_RNDN);
        mpfr_add(r25861, r25853, r25860, MPFR_RNDN);
        mpfr_mul(r25862, r25861, r25861, MPFR_RNDN);
        mpfr_div(r25863, r25858, r25862, MPFR_RNDN);
        ;
        mpfr_sub(r25865, r25862, r25864, MPFR_RNDN);
        mpfr_div(r25866, r25863, r25865, MPFR_RNDN);
        return mpfr_get_d(r25866, MPFR_RNDN);
}

static mpfr_t r25867, r25868, r25869, r25870, r25871, r25872, r25873, r25874, r25875, r25876, r25877, r25878, r25879, r25880, r25881, r25882, r25883, r25884, r25885, r25886, r25887, r25888, r25889, r25890, r25891, r25892, r25893, r25894;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(336);
        mpfr_init(r25867);
        mpfr_init(r25868);
        mpfr_init(r25869);
        mpfr_init(r25870);
        mpfr_init(r25871);
        mpfr_init(r25872);
        mpfr_init(r25873);
        mpfr_init_set_str(r25874, "2", 10, MPFR_RNDN);
        mpfr_init(r25875);
        mpfr_init(r25876);
        mpfr_init_set_str(r25877, "1.0", 10, MPFR_RNDN);
        mpfr_init(r25878);
        mpfr_init(r25879);
        mpfr_init(r25880);
        mpfr_init(r25881);
        mpfr_init(r25882);
        mpfr_init(r25883);
        mpfr_init(r25884);
        mpfr_init(r25885);
        mpfr_init(r25886);
        mpfr_init(r25887);
        mpfr_init_set_str(r25888, "0.06250006939290983", 10, MPFR_RNDN);
        mpfr_init(r25889);
        mpfr_init(r25890);
        mpfr_init(r25891);
        mpfr_init(r25892);
        mpfr_init_set_str(r25893, "0", 10, MPFR_RNDN);
        mpfr_init(r25894);
}

double f_fm(double alpha, double beta, double i) {
        mpfr_set_d(r25867, alpha, MPFR_RNDN);
        mpfr_set_d(r25868, i, MPFR_RNDN);
        mpfr_add(r25869, r25867, r25868, MPFR_RNDN);
        mpfr_set_d(r25870, beta, MPFR_RNDN);
        mpfr_add(r25871, r25869, r25870, MPFR_RNDN);
        mpfr_mul(r25872, r25870, r25867, MPFR_RNDN);
        mpfr_fma(r25873, r25871, r25868, r25872, MPFR_RNDN);
        ;
        mpfr_fma(r25875, r25868, r25874, r25867, MPFR_RNDN);
        mpfr_add(r25876, r25875, r25870, MPFR_RNDN);
        ;
        mpfr_neg(r25878, r25877, MPFR_RNDN);
        mpfr_fma(r25879, r25876, r25876, r25878, MPFR_RNDN);
        mpfr_div(r25880, r25873, r25879, MPFR_RNDN);
        mpfr_cbrt(r25881, r25880, MPFR_RNDN);
        mpfr_mul(r25882, r25881, r25881, MPFR_RNDN);
        mpfr_div(r25883, r25871, r25876, MPFR_RNDN);
        mpfr_div(r25884, r25868, r25876, MPFR_RNDN);
        mpfr_mul(r25885, r25883, r25884, MPFR_RNDN);
        mpfr_mul(r25886, r25881, r25885, MPFR_RNDN);
        mpfr_mul(r25887, r25882, r25886, MPFR_RNDN);
        ;
        mpfr_set_si(r25889, mpfr_cmp(r25887, r25888) <= 0, MPFR_RNDN);
        mpfr_sqrt(r25890, r25880, MPFR_RNDN);
        mpfr_mul(r25891, r25890, r25885, MPFR_RNDN);
        mpfr_mul(r25892, r25890, r25891, MPFR_RNDN);
        ;
        if (mpfr_get_si(r25889, MPFR_RNDN)) { mpfr_set(r25894, r25892, MPFR_RNDN); } else { mpfr_set(r25894, r25893, MPFR_RNDN); };
        return mpfr_get_d(r25894, MPFR_RNDN);
}

static mpfr_t r25895, r25896, r25897, r25898, r25899, r25900, r25901, r25902, r25903, r25904, r25905, r25906, r25907, r25908, r25909, r25910, r25911, r25912, r25913, r25914, r25915, r25916, r25917, r25918, r25919, r25920, r25921, r25922;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(336);
        mpfr_init(r25895);
        mpfr_init(r25896);
        mpfr_init(r25897);
        mpfr_init(r25898);
        mpfr_init(r25899);
        mpfr_init(r25900);
        mpfr_init(r25901);
        mpfr_init_set_str(r25902, "2", 10, MPFR_RNDN);
        mpfr_init(r25903);
        mpfr_init(r25904);
        mpfr_init_set_str(r25905, "1.0", 10, MPFR_RNDN);
        mpfr_init(r25906);
        mpfr_init(r25907);
        mpfr_init(r25908);
        mpfr_init(r25909);
        mpfr_init(r25910);
        mpfr_init(r25911);
        mpfr_init(r25912);
        mpfr_init(r25913);
        mpfr_init(r25914);
        mpfr_init(r25915);
        mpfr_init_set_str(r25916, "0.06250006939290983", 10, MPFR_RNDN);
        mpfr_init(r25917);
        mpfr_init(r25918);
        mpfr_init(r25919);
        mpfr_init(r25920);
        mpfr_init_set_str(r25921, "0", 10, MPFR_RNDN);
        mpfr_init(r25922);
}

double f_dm(double alpha, double beta, double i) {
        mpfr_set_d(r25895, alpha, MPFR_RNDN);
        mpfr_set_d(r25896, i, MPFR_RNDN);
        mpfr_add(r25897, r25895, r25896, MPFR_RNDN);
        mpfr_set_d(r25898, beta, MPFR_RNDN);
        mpfr_add(r25899, r25897, r25898, MPFR_RNDN);
        mpfr_mul(r25900, r25898, r25895, MPFR_RNDN);
        mpfr_fma(r25901, r25899, r25896, r25900, MPFR_RNDN);
        ;
        mpfr_fma(r25903, r25896, r25902, r25895, MPFR_RNDN);
        mpfr_add(r25904, r25903, r25898, MPFR_RNDN);
        ;
        mpfr_neg(r25906, r25905, MPFR_RNDN);
        mpfr_fma(r25907, r25904, r25904, r25906, MPFR_RNDN);
        mpfr_div(r25908, r25901, r25907, MPFR_RNDN);
        mpfr_cbrt(r25909, r25908, MPFR_RNDN);
        mpfr_mul(r25910, r25909, r25909, MPFR_RNDN);
        mpfr_div(r25911, r25899, r25904, MPFR_RNDN);
        mpfr_div(r25912, r25896, r25904, MPFR_RNDN);
        mpfr_mul(r25913, r25911, r25912, MPFR_RNDN);
        mpfr_mul(r25914, r25909, r25913, MPFR_RNDN);
        mpfr_mul(r25915, r25910, r25914, MPFR_RNDN);
        ;
        mpfr_set_si(r25917, mpfr_cmp(r25915, r25916) <= 0, MPFR_RNDN);
        mpfr_sqrt(r25918, r25908, MPFR_RNDN);
        mpfr_mul(r25919, r25918, r25913, MPFR_RNDN);
        mpfr_mul(r25920, r25918, r25919, MPFR_RNDN);
        ;
        if (mpfr_get_si(r25917, MPFR_RNDN)) { mpfr_set(r25922, r25920, MPFR_RNDN); } else { mpfr_set(r25922, r25921, MPFR_RNDN); };
        return mpfr_get_d(r25922, MPFR_RNDN);
}

