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

char *name = "Data.Random.Distribution.T:$ccdf from random-fu-0.2.6.2";

double f_if(float x, float y) {
        float r54571 = x;
        float r54572 = y;
        float r54573 = r54571 + r54572;
        float r54574 = r54572 + r54572;
        float r54575 = r54573 / r54574;
        return r54575;
}

double f_id(double x, double y) {
        double r54576 = x;
        double r54577 = y;
        double r54578 = r54576 + r54577;
        double r54579 = r54577 + r54577;
        double r54580 = r54578 / r54579;
        return r54580;
}


double f_of(float x, float y) {
        float r54581 = x;
        float r54582 = y;
        float r54583 = r54581 + r54582;
        float r54584 = r54582 + r54582;
        float r54585 = r54583 / r54584;
        return r54585;
}

double f_od(double x, double y) {
        double r54586 = x;
        double r54587 = y;
        double r54588 = r54586 + r54587;
        double r54589 = r54587 + r54587;
        double r54590 = r54588 / r54589;
        return r54590;
}

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 r54591, r54592, r54593, r54594, r54595;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(400);
        mpfr_init(r54591);
        mpfr_init(r54592);
        mpfr_init(r54593);
        mpfr_init(r54594);
        mpfr_init(r54595);
}

double f_im(double x, double y) {
        mpfr_set_d(r54591, x, MPFR_RNDN);
        mpfr_set_d(r54592, y, MPFR_RNDN);
        mpfr_add(r54593, r54591, r54592, MPFR_RNDN);
        mpfr_add(r54594, r54592, r54592, MPFR_RNDN);
        mpfr_div(r54595, r54593, r54594, MPFR_RNDN);
        return mpfr_get_d(r54595, MPFR_RNDN);
}

static mpfr_t r54596, r54597, r54598, r54599, r54600;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(400);
        mpfr_init(r54596);
        mpfr_init(r54597);
        mpfr_init(r54598);
        mpfr_init(r54599);
        mpfr_init(r54600);
}

double f_fm(double x, double y) {
        mpfr_set_d(r54596, x, MPFR_RNDN);
        mpfr_set_d(r54597, y, MPFR_RNDN);
        mpfr_add(r54598, r54596, r54597, MPFR_RNDN);
        mpfr_add(r54599, r54597, r54597, MPFR_RNDN);
        mpfr_div(r54600, r54598, r54599, MPFR_RNDN);
        return mpfr_get_d(r54600, MPFR_RNDN);
}

static mpfr_t r54601, r54602, r54603, r54604, r54605;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(400);
        mpfr_init(r54601);
        mpfr_init(r54602);
        mpfr_init(r54603);
        mpfr_init(r54604);
        mpfr_init(r54605);
}

double f_dm(double x, double y) {
        mpfr_set_d(r54601, x, MPFR_RNDN);
        mpfr_set_d(r54602, y, MPFR_RNDN);
        mpfr_add(r54603, r54601, r54602, MPFR_RNDN);
        mpfr_add(r54604, r54602, r54602, MPFR_RNDN);
        mpfr_div(r54605, r54603, r54604, MPFR_RNDN);
        return mpfr_get_d(r54605, MPFR_RNDN);
}

