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

char *name = "Statistics.Sample:$skurtosis from math-functions-0.1.5.2";

double f_if(float x, float y) {
        float r40347 = x;
        float r40348 = y;
        float r40349 = r40348 * r40348;
        float r40350 = r40347 / r40349;
        float r40351 = 3.0;
        float r40352 = r40350 - r40351;
        return r40352;
}

double f_id(double x, double y) {
        double r40353 = x;
        double r40354 = y;
        double r40355 = r40354 * r40354;
        double r40356 = r40353 / r40355;
        double r40357 = 3.0;
        double r40358 = r40356 - r40357;
        return r40358;
}


double f_of(float x, float y) {
        float r40359 = x;
        float r40360 = y;
        float r40361 = r40359 / r40360;
        float r40362 = r40361 / r40360;
        float r40363 = 3.0;
        float r40364 = r40362 - r40363;
        return r40364;
}

double f_od(double x, double y) {
        double r40365 = x;
        double r40366 = y;
        double r40367 = r40365 / r40366;
        double r40368 = r40367 / r40366;
        double r40369 = 3.0;
        double r40370 = r40368 - r40369;
        return r40370;
}

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 r40371, r40372, r40373, r40374, r40375, r40376;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(400);
        mpfr_init(r40371);
        mpfr_init(r40372);
        mpfr_init(r40373);
        mpfr_init(r40374);
        mpfr_init_set_str(r40375, "3.0", 10, MPFR_RNDN);
        mpfr_init(r40376);
}

double f_im(double x, double y) {
        mpfr_set_d(r40371, x, MPFR_RNDN);
        mpfr_set_d(r40372, y, MPFR_RNDN);
        mpfr_mul(r40373, r40372, r40372, MPFR_RNDN);
        mpfr_div(r40374, r40371, r40373, MPFR_RNDN);
        ;
        mpfr_sub(r40376, r40374, r40375, MPFR_RNDN);
        return mpfr_get_d(r40376, MPFR_RNDN);
}

static mpfr_t r40377, r40378, r40379, r40380, r40381, r40382;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(400);
        mpfr_init(r40377);
        mpfr_init(r40378);
        mpfr_init(r40379);
        mpfr_init(r40380);
        mpfr_init_set_str(r40381, "3.0", 10, MPFR_RNDN);
        mpfr_init(r40382);
}

double f_fm(double x, double y) {
        mpfr_set_d(r40377, x, MPFR_RNDN);
        mpfr_set_d(r40378, y, MPFR_RNDN);
        mpfr_div(r40379, r40377, r40378, MPFR_RNDN);
        mpfr_div(r40380, r40379, r40378, MPFR_RNDN);
        ;
        mpfr_sub(r40382, r40380, r40381, MPFR_RNDN);
        return mpfr_get_d(r40382, MPFR_RNDN);
}

static mpfr_t r40383, r40384, r40385, r40386, r40387, r40388;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(400);
        mpfr_init(r40383);
        mpfr_init(r40384);
        mpfr_init(r40385);
        mpfr_init(r40386);
        mpfr_init_set_str(r40387, "3.0", 10, MPFR_RNDN);
        mpfr_init(r40388);
}

double f_dm(double x, double y) {
        mpfr_set_d(r40383, x, MPFR_RNDN);
        mpfr_set_d(r40384, y, MPFR_RNDN);
        mpfr_div(r40385, r40383, r40384, MPFR_RNDN);
        mpfr_div(r40386, r40385, r40384, MPFR_RNDN);
        ;
        mpfr_sub(r40388, r40386, r40387, MPFR_RNDN);
        return mpfr_get_d(r40388, MPFR_RNDN);
}

