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

char *name = "a parameter of renormalized beta distribution";

double f_if(float m, float v) {
        float r7842 = m;
        float r7843 = 1;
        float r7844 = r7843 - r7842;
        float r7845 = r7842 * r7844;
        float r7846 = v;
        float r7847 = r7845 / r7846;
        float r7848 = r7847 - r7843;
        float r7849 = r7848 * r7842;
        return r7849;
}

double f_id(double m, double v) {
        double r7850 = m;
        double r7851 = 1;
        double r7852 = r7851 - r7850;
        double r7853 = r7850 * r7852;
        double r7854 = v;
        double r7855 = r7853 / r7854;
        double r7856 = r7855 - r7851;
        double r7857 = r7856 * r7850;
        return r7857;
}


double f_of(float m, float v) {
        float r7858 = m;
        float r7859 = v;
        float r7860 = 1;
        float r7861 = r7860 - r7858;
        float r7862 = r7859 / r7861;
        float r7863 = r7858 / r7862;
        float r7864 = r7863 - r7860;
        float r7865 = r7864 * r7858;
        return r7865;
}

double f_od(double m, double v) {
        double r7866 = m;
        double r7867 = v;
        double r7868 = 1;
        double r7869 = r7868 - r7866;
        double r7870 = r7867 / r7869;
        double r7871 = r7866 / r7870;
        double r7872 = r7871 - r7868;
        double r7873 = r7872 * r7866;
        return r7873;
}

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 r7874, r7875, r7876, r7877, r7878, r7879, r7880, r7881;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(592);
        mpfr_init(r7874);
        mpfr_init_set_str(r7875, "1", 10, MPFR_RNDN);
        mpfr_init(r7876);
        mpfr_init(r7877);
        mpfr_init(r7878);
        mpfr_init(r7879);
        mpfr_init(r7880);
        mpfr_init(r7881);
}

double f_im(double m, double v) {
        mpfr_set_d(r7874, m, MPFR_RNDN);
        ;
        mpfr_sub(r7876, r7875, r7874, MPFR_RNDN);
        mpfr_mul(r7877, r7874, r7876, MPFR_RNDN);
        mpfr_set_d(r7878, v, MPFR_RNDN);
        mpfr_div(r7879, r7877, r7878, MPFR_RNDN);
        mpfr_sub(r7880, r7879, r7875, MPFR_RNDN);
        mpfr_mul(r7881, r7880, r7874, MPFR_RNDN);
        return mpfr_get_d(r7881, MPFR_RNDN);
}

static mpfr_t r7882, r7883, r7884, r7885, r7886, r7887, r7888, r7889;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(592);
        mpfr_init(r7882);
        mpfr_init(r7883);
        mpfr_init_set_str(r7884, "1", 10, MPFR_RNDN);
        mpfr_init(r7885);
        mpfr_init(r7886);
        mpfr_init(r7887);
        mpfr_init(r7888);
        mpfr_init(r7889);
}

double f_fm(double m, double v) {
        mpfr_set_d(r7882, m, MPFR_RNDN);
        mpfr_set_d(r7883, v, MPFR_RNDN);
        ;
        mpfr_sub(r7885, r7884, r7882, MPFR_RNDN);
        mpfr_div(r7886, r7883, r7885, MPFR_RNDN);
        mpfr_div(r7887, r7882, r7886, MPFR_RNDN);
        mpfr_sub(r7888, r7887, r7884, MPFR_RNDN);
        mpfr_mul(r7889, r7888, r7882, MPFR_RNDN);
        return mpfr_get_d(r7889, MPFR_RNDN);
}

static mpfr_t r7890, r7891, r7892, r7893, r7894, r7895, r7896, r7897;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(592);
        mpfr_init(r7890);
        mpfr_init(r7891);
        mpfr_init_set_str(r7892, "1", 10, MPFR_RNDN);
        mpfr_init(r7893);
        mpfr_init(r7894);
        mpfr_init(r7895);
        mpfr_init(r7896);
        mpfr_init(r7897);
}

double f_dm(double m, double v) {
        mpfr_set_d(r7890, m, MPFR_RNDN);
        mpfr_set_d(r7891, v, MPFR_RNDN);
        ;
        mpfr_sub(r7893, r7892, r7890, MPFR_RNDN);
        mpfr_div(r7894, r7891, r7893, MPFR_RNDN);
        mpfr_div(r7895, r7890, r7894, MPFR_RNDN);
        mpfr_sub(r7896, r7895, r7892, MPFR_RNDN);
        mpfr_mul(r7897, r7896, r7890, MPFR_RNDN);
        return mpfr_get_d(r7897, MPFR_RNDN);
}

