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

char *name = "Numeric.SpecFunctions:incompleteBetaWorker from math-functions-0.1.5.2";

double f_if(float x, float y, float z, float t, float a, float b) {
        float r9692 = x;
        float r9693 = y;
        float r9694 = z;
        float r9695 = log(r9694);
        float r9696 = r9693 * r9695;
        float r9697 = t;
        float r9698 = 1.0;
        float r9699 = r9697 - r9698;
        float r9700 = a;
        float r9701 = log(r9700);
        float r9702 = r9699 * r9701;
        float r9703 = r9696 + r9702;
        float r9704 = b;
        float r9705 = r9703 - r9704;
        float r9706 = exp(r9705);
        float r9707 = r9692 * r9706;
        float r9708 = r9707 / r9693;
        return r9708;
}

double f_id(double x, double y, double z, double t, double a, double b) {
        double r9709 = x;
        double r9710 = y;
        double r9711 = z;
        double r9712 = log(r9711);
        double r9713 = r9710 * r9712;
        double r9714 = t;
        double r9715 = 1.0;
        double r9716 = r9714 - r9715;
        double r9717 = a;
        double r9718 = log(r9717);
        double r9719 = r9716 * r9718;
        double r9720 = r9713 + r9719;
        double r9721 = b;
        double r9722 = r9720 - r9721;
        double r9723 = exp(r9722);
        double r9724 = r9709 * r9723;
        double r9725 = r9724 / r9710;
        return r9725;
}


double f_of(float x, float y, float z, float t, float a, float b) {
        float r9726 = x;
        float r9727 = z;
        float r9728 = y;
        float r9729 = pow(r9727, r9728);
        float r9730 = a;
        float r9731 = t;
        float r9732 = pow(r9730, r9731);
        float r9733 = r9729 * r9732;
        float r9734 = sqrt(r9733);
        float r9735 = b;
        float r9736 = exp(r9735);
        float r9737 = r9729 / r9736;
        float r9738 = r9737 * r9732;
        float r9739 = sqrt(r9738);
        float r9740 = r9734 * r9739;
        float r9741 = r9726 * r9740;
        float r9742 = 1.0;
        float r9743 = pow(r9730, r9742);
        float r9744 = r9736 * r9743;
        float r9745 = sqrt(r9744);
        float r9746 = sqrt(r9743);
        float r9747 = r9745 * r9746;
        float r9748 = r9728 * r9747;
        float r9749 = r9741 / r9748;
        float r9750 = 5.2119627451565103e+272;
        bool r9751 = r9749 <= r9750;
        float r9752 = exp(1.0);
        float r9753 = log(r9730);
        float r9754 = r9731 - r9742;
        float r9755 = log(r9727);
        float r9756 = -r9735;
        float r9757 = fma(r9728, r9755, r9756);
        float r9758 = fma(r9753, r9754, r9757);
        float r9759 = cbrt(r9758);
        float r9760 = r9759 * r9759;
        float r9761 = pow(r9752, r9760);
        float r9762 = r9728 * r9755;
        float r9763 = r9754 * r9753;
        float r9764 = r9762 + r9763;
        float r9765 = r9764 - r9735;
        float r9766 = cbrt(r9765);
        float r9767 = pow(r9761, r9766);
        float r9768 = r9726 * r9767;
        float r9769 = r9768 / r9728;
        float r9770 = r9751 ? r9749 : r9769;
        return r9770;
}

double f_od(double x, double y, double z, double t, double a, double b) {
        double r9771 = x;
        double r9772 = z;
        double r9773 = y;
        double r9774 = pow(r9772, r9773);
        double r9775 = a;
        double r9776 = t;
        double r9777 = pow(r9775, r9776);
        double r9778 = r9774 * r9777;
        double r9779 = sqrt(r9778);
        double r9780 = b;
        double r9781 = exp(r9780);
        double r9782 = r9774 / r9781;
        double r9783 = r9782 * r9777;
        double r9784 = sqrt(r9783);
        double r9785 = r9779 * r9784;
        double r9786 = r9771 * r9785;
        double r9787 = 1.0;
        double r9788 = pow(r9775, r9787);
        double r9789 = r9781 * r9788;
        double r9790 = sqrt(r9789);
        double r9791 = sqrt(r9788);
        double r9792 = r9790 * r9791;
        double r9793 = r9773 * r9792;
        double r9794 = r9786 / r9793;
        double r9795 = 5.2119627451565103e+272;
        bool r9796 = r9794 <= r9795;
        double r9797 = exp(1.0);
        double r9798 = log(r9775);
        double r9799 = r9776 - r9787;
        double r9800 = log(r9772);
        double r9801 = -r9780;
        double r9802 = fma(r9773, r9800, r9801);
        double r9803 = fma(r9798, r9799, r9802);
        double r9804 = cbrt(r9803);
        double r9805 = r9804 * r9804;
        double r9806 = pow(r9797, r9805);
        double r9807 = r9773 * r9800;
        double r9808 = r9799 * r9798;
        double r9809 = r9807 + r9808;
        double r9810 = r9809 - r9780;
        double r9811 = cbrt(r9810);
        double r9812 = pow(r9806, r9811);
        double r9813 = r9771 * r9812;
        double r9814 = r9813 / r9773;
        double r9815 = r9796 ? r9794 : r9814;
        return r9815;
}

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 r9816, r9817, r9818, r9819, r9820, r9821, r9822, r9823, r9824, r9825, r9826, r9827, r9828, r9829, r9830, r9831, r9832;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(592);
        mpfr_init(r9816);
        mpfr_init(r9817);
        mpfr_init(r9818);
        mpfr_init(r9819);
        mpfr_init(r9820);
        mpfr_init(r9821);
        mpfr_init_set_str(r9822, "1.0", 10, MPFR_RNDN);
        mpfr_init(r9823);
        mpfr_init(r9824);
        mpfr_init(r9825);
        mpfr_init(r9826);
        mpfr_init(r9827);
        mpfr_init(r9828);
        mpfr_init(r9829);
        mpfr_init(r9830);
        mpfr_init(r9831);
        mpfr_init(r9832);
}

double f_im(double x, double y, double z, double t, double a, double b) {
        mpfr_set_d(r9816, x, MPFR_RNDN);
        mpfr_set_d(r9817, y, MPFR_RNDN);
        mpfr_set_d(r9818, z, MPFR_RNDN);
        mpfr_log(r9819, r9818, MPFR_RNDN);
        mpfr_mul(r9820, r9817, r9819, MPFR_RNDN);
        mpfr_set_d(r9821, t, MPFR_RNDN);
        ;
        mpfr_sub(r9823, r9821, r9822, MPFR_RNDN);
        mpfr_set_d(r9824, a, MPFR_RNDN);
        mpfr_log(r9825, r9824, MPFR_RNDN);
        mpfr_mul(r9826, r9823, r9825, MPFR_RNDN);
        mpfr_add(r9827, r9820, r9826, MPFR_RNDN);
        mpfr_set_d(r9828, b, MPFR_RNDN);
        mpfr_sub(r9829, r9827, r9828, MPFR_RNDN);
        mpfr_exp(r9830, r9829, MPFR_RNDN);
        mpfr_mul(r9831, r9816, r9830, MPFR_RNDN);
        mpfr_div(r9832, r9831, r9817, MPFR_RNDN);
        return mpfr_get_d(r9832, MPFR_RNDN);
}

static mpfr_t r9833, r9834, r9835, r9836, r9837, r9838, r9839, r9840, r9841, r9842, r9843, r9844, r9845, r9846, r9847, r9848, r9849, r9850, r9851, r9852, r9853, r9854, r9855, r9856, r9857, r9858, r9859, r9860, r9861, r9862, r9863, r9864, r9865, r9866, r9867, r9868, r9869, r9870, r9871, r9872, r9873, r9874, r9875, r9876, r9877;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(592);
        mpfr_init(r9833);
        mpfr_init(r9834);
        mpfr_init(r9835);
        mpfr_init(r9836);
        mpfr_init(r9837);
        mpfr_init(r9838);
        mpfr_init(r9839);
        mpfr_init(r9840);
        mpfr_init(r9841);
        mpfr_init(r9842);
        mpfr_init(r9843);
        mpfr_init(r9844);
        mpfr_init(r9845);
        mpfr_init(r9846);
        mpfr_init(r9847);
        mpfr_init(r9848);
        mpfr_init_set_str(r9849, "1.0", 10, MPFR_RNDN);
        mpfr_init(r9850);
        mpfr_init(r9851);
        mpfr_init(r9852);
        mpfr_init(r9853);
        mpfr_init(r9854);
        mpfr_init(r9855);
        mpfr_init(r9856);
        mpfr_init_set_str(r9857, "5.2119627451565103e+272", 10, MPFR_RNDN);
        mpfr_init(r9858);
        mpfr_init(r9859);
        mpfr_init(r9860);
        mpfr_init(r9861);
        mpfr_init(r9862);
        mpfr_init(r9863);
        mpfr_init(r9864);
        mpfr_init(r9865);
        mpfr_init(r9866);
        mpfr_init(r9867);
        mpfr_init(r9868);
        mpfr_init(r9869);
        mpfr_init(r9870);
        mpfr_init(r9871);
        mpfr_init(r9872);
        mpfr_init(r9873);
        mpfr_init(r9874);
        mpfr_init(r9875);
        mpfr_init(r9876);
        mpfr_init(r9877);
}

double f_fm(double x, double y, double z, double t, double a, double b) {
        mpfr_set_d(r9833, x, MPFR_RNDN);
        mpfr_set_d(r9834, z, MPFR_RNDN);
        mpfr_set_d(r9835, y, MPFR_RNDN);
        mpfr_pow(r9836, r9834, r9835, MPFR_RNDN);
        mpfr_set_d(r9837, a, MPFR_RNDN);
        mpfr_set_d(r9838, t, MPFR_RNDN);
        mpfr_pow(r9839, r9837, r9838, MPFR_RNDN);
        mpfr_mul(r9840, r9836, r9839, MPFR_RNDN);
        mpfr_sqrt(r9841, r9840, MPFR_RNDN);
        mpfr_set_d(r9842, b, MPFR_RNDN);
        mpfr_exp(r9843, r9842, MPFR_RNDN);
        mpfr_div(r9844, r9836, r9843, MPFR_RNDN);
        mpfr_mul(r9845, r9844, r9839, MPFR_RNDN);
        mpfr_sqrt(r9846, r9845, MPFR_RNDN);
        mpfr_mul(r9847, r9841, r9846, MPFR_RNDN);
        mpfr_mul(r9848, r9833, r9847, MPFR_RNDN);
        ;
        mpfr_pow(r9850, r9837, r9849, MPFR_RNDN);
        mpfr_mul(r9851, r9843, r9850, MPFR_RNDN);
        mpfr_sqrt(r9852, r9851, MPFR_RNDN);
        mpfr_sqrt(r9853, r9850, MPFR_RNDN);
        mpfr_mul(r9854, r9852, r9853, MPFR_RNDN);
        mpfr_mul(r9855, r9835, r9854, MPFR_RNDN);
        mpfr_div(r9856, r9848, r9855, MPFR_RNDN);
        ;
        mpfr_set_si(r9858, mpfr_cmp(r9856, r9857) <= 0, MPFR_RNDN);
        mpfr_set_si(r9859, 1, MPFR_RNDN), mpfr_const_exp(r9859, r9859, MPFR_RNDN);
        mpfr_log(r9860, r9837, MPFR_RNDN);
        mpfr_sub(r9861, r9838, r9849, MPFR_RNDN);
        mpfr_log(r9862, r9834, MPFR_RNDN);
        mpfr_neg(r9863, r9842, MPFR_RNDN);
        mpfr_fma(r9864, r9835, r9862, r9863, MPFR_RNDN);
        mpfr_fma(r9865, r9860, r9861, r9864, MPFR_RNDN);
        mpfr_cbrt(r9866, r9865, MPFR_RNDN);
        mpfr_mul(r9867, r9866, r9866, MPFR_RNDN);
        mpfr_pow(r9868, r9859, r9867, MPFR_RNDN);
        mpfr_mul(r9869, r9835, r9862, MPFR_RNDN);
        mpfr_mul(r9870, r9861, r9860, MPFR_RNDN);
        mpfr_add(r9871, r9869, r9870, MPFR_RNDN);
        mpfr_sub(r9872, r9871, r9842, MPFR_RNDN);
        mpfr_cbrt(r9873, r9872, MPFR_RNDN);
        mpfr_pow(r9874, r9868, r9873, MPFR_RNDN);
        mpfr_mul(r9875, r9833, r9874, MPFR_RNDN);
        mpfr_div(r9876, r9875, r9835, MPFR_RNDN);
        if (mpfr_get_si(r9858, MPFR_RNDN)) { mpfr_set(r9877, r9856, MPFR_RNDN); } else { mpfr_set(r9877, r9876, MPFR_RNDN); };
        return mpfr_get_d(r9877, MPFR_RNDN);
}

static mpfr_t r9878, r9879, r9880, r9881, r9882, r9883, r9884, r9885, r9886, r9887, r9888, r9889, r9890, r9891, r9892, r9893, r9894, r9895, r9896, r9897, r9898, r9899, r9900, r9901, r9902, r9903, r9904, r9905, r9906, r9907, r9908, r9909, r9910, r9911, r9912, r9913, r9914, r9915, r9916, r9917, r9918, r9919, r9920, r9921, r9922;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(592);
        mpfr_init(r9878);
        mpfr_init(r9879);
        mpfr_init(r9880);
        mpfr_init(r9881);
        mpfr_init(r9882);
        mpfr_init(r9883);
        mpfr_init(r9884);
        mpfr_init(r9885);
        mpfr_init(r9886);
        mpfr_init(r9887);
        mpfr_init(r9888);
        mpfr_init(r9889);
        mpfr_init(r9890);
        mpfr_init(r9891);
        mpfr_init(r9892);
        mpfr_init(r9893);
        mpfr_init_set_str(r9894, "1.0", 10, MPFR_RNDN);
        mpfr_init(r9895);
        mpfr_init(r9896);
        mpfr_init(r9897);
        mpfr_init(r9898);
        mpfr_init(r9899);
        mpfr_init(r9900);
        mpfr_init(r9901);
        mpfr_init_set_str(r9902, "5.2119627451565103e+272", 10, MPFR_RNDN);
        mpfr_init(r9903);
        mpfr_init(r9904);
        mpfr_init(r9905);
        mpfr_init(r9906);
        mpfr_init(r9907);
        mpfr_init(r9908);
        mpfr_init(r9909);
        mpfr_init(r9910);
        mpfr_init(r9911);
        mpfr_init(r9912);
        mpfr_init(r9913);
        mpfr_init(r9914);
        mpfr_init(r9915);
        mpfr_init(r9916);
        mpfr_init(r9917);
        mpfr_init(r9918);
        mpfr_init(r9919);
        mpfr_init(r9920);
        mpfr_init(r9921);
        mpfr_init(r9922);
}

double f_dm(double x, double y, double z, double t, double a, double b) {
        mpfr_set_d(r9878, x, MPFR_RNDN);
        mpfr_set_d(r9879, z, MPFR_RNDN);
        mpfr_set_d(r9880, y, MPFR_RNDN);
        mpfr_pow(r9881, r9879, r9880, MPFR_RNDN);
        mpfr_set_d(r9882, a, MPFR_RNDN);
        mpfr_set_d(r9883, t, MPFR_RNDN);
        mpfr_pow(r9884, r9882, r9883, MPFR_RNDN);
        mpfr_mul(r9885, r9881, r9884, MPFR_RNDN);
        mpfr_sqrt(r9886, r9885, MPFR_RNDN);
        mpfr_set_d(r9887, b, MPFR_RNDN);
        mpfr_exp(r9888, r9887, MPFR_RNDN);
        mpfr_div(r9889, r9881, r9888, MPFR_RNDN);
        mpfr_mul(r9890, r9889, r9884, MPFR_RNDN);
        mpfr_sqrt(r9891, r9890, MPFR_RNDN);
        mpfr_mul(r9892, r9886, r9891, MPFR_RNDN);
        mpfr_mul(r9893, r9878, r9892, MPFR_RNDN);
        ;
        mpfr_pow(r9895, r9882, r9894, MPFR_RNDN);
        mpfr_mul(r9896, r9888, r9895, MPFR_RNDN);
        mpfr_sqrt(r9897, r9896, MPFR_RNDN);
        mpfr_sqrt(r9898, r9895, MPFR_RNDN);
        mpfr_mul(r9899, r9897, r9898, MPFR_RNDN);
        mpfr_mul(r9900, r9880, r9899, MPFR_RNDN);
        mpfr_div(r9901, r9893, r9900, MPFR_RNDN);
        ;
        mpfr_set_si(r9903, mpfr_cmp(r9901, r9902) <= 0, MPFR_RNDN);
        mpfr_set_si(r9904, 1, MPFR_RNDN), mpfr_const_exp(r9904, r9904, MPFR_RNDN);
        mpfr_log(r9905, r9882, MPFR_RNDN);
        mpfr_sub(r9906, r9883, r9894, MPFR_RNDN);
        mpfr_log(r9907, r9879, MPFR_RNDN);
        mpfr_neg(r9908, r9887, MPFR_RNDN);
        mpfr_fma(r9909, r9880, r9907, r9908, MPFR_RNDN);
        mpfr_fma(r9910, r9905, r9906, r9909, MPFR_RNDN);
        mpfr_cbrt(r9911, r9910, MPFR_RNDN);
        mpfr_mul(r9912, r9911, r9911, MPFR_RNDN);
        mpfr_pow(r9913, r9904, r9912, MPFR_RNDN);
        mpfr_mul(r9914, r9880, r9907, MPFR_RNDN);
        mpfr_mul(r9915, r9906, r9905, MPFR_RNDN);
        mpfr_add(r9916, r9914, r9915, MPFR_RNDN);
        mpfr_sub(r9917, r9916, r9887, MPFR_RNDN);
        mpfr_cbrt(r9918, r9917, MPFR_RNDN);
        mpfr_pow(r9919, r9913, r9918, MPFR_RNDN);
        mpfr_mul(r9920, r9878, r9919, MPFR_RNDN);
        mpfr_div(r9921, r9920, r9880, MPFR_RNDN);
        if (mpfr_get_si(r9903, MPFR_RNDN)) { mpfr_set(r9922, r9901, MPFR_RNDN); } else { mpfr_set(r9922, r9921, MPFR_RNDN); };
        return mpfr_get_d(r9922, MPFR_RNDN);
}

