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

char *name = "Numeric.SpecFunctions:invIncompleteBetaWorker from math-functions-0.1.5.2, E";

double f_if(float x, float y) {
        float r43843 = 1.0;
        float r43844 = x;
        float r43845 = r43843 - r43844;
        float r43846 = y;
        float r43847 = sqrt(r43844);
        float r43848 = r43846 * r43847;
        float r43849 = r43845 + r43848;
        return r43849;
}

double f_id(double x, double y) {
        double r43850 = 1.0;
        double r43851 = x;
        double r43852 = r43850 - r43851;
        double r43853 = y;
        double r43854 = sqrt(r43851);
        double r43855 = r43853 * r43854;
        double r43856 = r43852 + r43855;
        return r43856;
}


double f_of(float x, float y) {
        float r43857 = 1.0;
        float r43858 = x;
        float r43859 = r43857 - r43858;
        float r43860 = y;
        float r43861 = sqrt(r43858);
        float r43862 = r43860 * r43861;
        float r43863 = r43859 + r43862;
        return r43863;
}

double f_od(double x, double y) {
        double r43864 = 1.0;
        double r43865 = x;
        double r43866 = r43864 - r43865;
        double r43867 = y;
        double r43868 = sqrt(r43865);
        double r43869 = r43867 * r43868;
        double r43870 = r43866 + r43869;
        return r43870;
}

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 r43871, r43872, r43873, r43874, r43875, r43876, r43877;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(400);
        mpfr_init_set_str(r43871, "1.0", 10, MPFR_RNDN);
        mpfr_init(r43872);
        mpfr_init(r43873);
        mpfr_init(r43874);
        mpfr_init(r43875);
        mpfr_init(r43876);
        mpfr_init(r43877);
}

double f_im(double x, double y) {
        ;
        mpfr_set_d(r43872, x, MPFR_RNDN);
        mpfr_sub(r43873, r43871, r43872, MPFR_RNDN);
        mpfr_set_d(r43874, y, MPFR_RNDN);
        mpfr_sqrt(r43875, r43872, MPFR_RNDN);
        mpfr_mul(r43876, r43874, r43875, MPFR_RNDN);
        mpfr_add(r43877, r43873, r43876, MPFR_RNDN);
        return mpfr_get_d(r43877, MPFR_RNDN);
}

static mpfr_t r43878, r43879, r43880, r43881, r43882, r43883, r43884;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(400);
        mpfr_init_set_str(r43878, "1.0", 10, MPFR_RNDN);
        mpfr_init(r43879);
        mpfr_init(r43880);
        mpfr_init(r43881);
        mpfr_init(r43882);
        mpfr_init(r43883);
        mpfr_init(r43884);
}

double f_fm(double x, double y) {
        ;
        mpfr_set_d(r43879, x, MPFR_RNDN);
        mpfr_sub(r43880, r43878, r43879, MPFR_RNDN);
        mpfr_set_d(r43881, y, MPFR_RNDN);
        mpfr_sqrt(r43882, r43879, MPFR_RNDN);
        mpfr_mul(r43883, r43881, r43882, MPFR_RNDN);
        mpfr_add(r43884, r43880, r43883, MPFR_RNDN);
        return mpfr_get_d(r43884, MPFR_RNDN);
}

static mpfr_t r43885, r43886, r43887, r43888, r43889, r43890, r43891;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(400);
        mpfr_init_set_str(r43885, "1.0", 10, MPFR_RNDN);
        mpfr_init(r43886);
        mpfr_init(r43887);
        mpfr_init(r43888);
        mpfr_init(r43889);
        mpfr_init(r43890);
        mpfr_init(r43891);
}

double f_dm(double x, double y) {
        ;
        mpfr_set_d(r43886, x, MPFR_RNDN);
        mpfr_sub(r43887, r43885, r43886, MPFR_RNDN);
        mpfr_set_d(r43888, y, MPFR_RNDN);
        mpfr_sqrt(r43889, r43886, MPFR_RNDN);
        mpfr_mul(r43890, r43888, r43889, MPFR_RNDN);
        mpfr_add(r43891, r43887, r43890, MPFR_RNDN);
        return mpfr_get_d(r43891, MPFR_RNDN);
}

