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

char *name = "Numeric.Integration.TanhSinh:everywhere from integration-0.2.1";

double f_if(float x, float y) {
        float r46106 = x;
        float r46107 = 1.0;
        float r46108 = y;
        float r46109 = r46108 * r46108;
        float r46110 = r46107 + r46109;
        float r46111 = r46106 * r46110;
        return r46111;
}

double f_id(double x, double y) {
        double r46112 = x;
        double r46113 = 1.0;
        double r46114 = y;
        double r46115 = r46114 * r46114;
        double r46116 = r46113 + r46115;
        double r46117 = r46112 * r46116;
        return r46117;
}


double f_of(float x, float y) {
        float r46118 = x;
        float r46119 = 1.0;
        float r46120 = y;
        float r46121 = r46120 * r46120;
        float r46122 = r46119 + r46121;
        float r46123 = r46118 * r46122;
        return r46123;
}

double f_od(double x, double y) {
        double r46124 = x;
        double r46125 = 1.0;
        double r46126 = y;
        double r46127 = r46126 * r46126;
        double r46128 = r46125 + r46127;
        double r46129 = r46124 * r46128;
        return r46129;
}

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 r46130, r46131, r46132, r46133, r46134, r46135;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(400);
        mpfr_init(r46130);
        mpfr_init_set_str(r46131, "1.0", 10, MPFR_RNDN);
        mpfr_init(r46132);
        mpfr_init(r46133);
        mpfr_init(r46134);
        mpfr_init(r46135);
}

double f_im(double x, double y) {
        mpfr_set_d(r46130, x, MPFR_RNDN);
        ;
        mpfr_set_d(r46132, y, MPFR_RNDN);
        mpfr_mul(r46133, r46132, r46132, MPFR_RNDN);
        mpfr_add(r46134, r46131, r46133, MPFR_RNDN);
        mpfr_mul(r46135, r46130, r46134, MPFR_RNDN);
        return mpfr_get_d(r46135, MPFR_RNDN);
}

static mpfr_t r46136, r46137, r46138, r46139, r46140, r46141;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(400);
        mpfr_init(r46136);
        mpfr_init_set_str(r46137, "1.0", 10, MPFR_RNDN);
        mpfr_init(r46138);
        mpfr_init(r46139);
        mpfr_init(r46140);
        mpfr_init(r46141);
}

double f_fm(double x, double y) {
        mpfr_set_d(r46136, x, MPFR_RNDN);
        ;
        mpfr_set_d(r46138, y, MPFR_RNDN);
        mpfr_mul(r46139, r46138, r46138, MPFR_RNDN);
        mpfr_add(r46140, r46137, r46139, MPFR_RNDN);
        mpfr_mul(r46141, r46136, r46140, MPFR_RNDN);
        return mpfr_get_d(r46141, MPFR_RNDN);
}

static mpfr_t r46142, r46143, r46144, r46145, r46146, r46147;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(400);
        mpfr_init(r46142);
        mpfr_init_set_str(r46143, "1.0", 10, MPFR_RNDN);
        mpfr_init(r46144);
        mpfr_init(r46145);
        mpfr_init(r46146);
        mpfr_init(r46147);
}

double f_dm(double x, double y) {
        mpfr_set_d(r46142, x, MPFR_RNDN);
        ;
        mpfr_set_d(r46144, y, MPFR_RNDN);
        mpfr_mul(r46145, r46144, r46144, MPFR_RNDN);
        mpfr_add(r46146, r46143, r46145, MPFR_RNDN);
        mpfr_mul(r46147, r46142, r46146, MPFR_RNDN);
        return mpfr_get_d(r46147, MPFR_RNDN);
}

