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

char *name = "Expanding a square";

double f_if(float x) {
        float r33193 = x;
        float r33194 = 1;
        float r33195 = r33193 + r33194;
        float r33196 = r33195 * r33195;
        float r33197 = r33196 - r33194;
        return r33197;
}

double f_id(double x) {
        double r33198 = x;
        double r33199 = 1;
        double r33200 = r33198 + r33199;
        double r33201 = r33200 * r33200;
        double r33202 = r33201 - r33199;
        return r33202;
}


double f_of(float x) {
        float r33203 = 2;
        float r33204 = x;
        float r33205 = r33203 + r33204;
        float r33206 = r33205 * r33204;
        return r33206;
}

double f_od(double x) {
        double r33207 = 2;
        double r33208 = x;
        double r33209 = r33207 + r33208;
        double r33210 = r33209 * r33208;
        return r33210;
}

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 r33211, r33212, r33213, r33214, r33215;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(1424);
        mpfr_init(r33211);
        mpfr_init_set_str(r33212, "1", 10, MPFR_RNDN);
        mpfr_init(r33213);
        mpfr_init(r33214);
        mpfr_init(r33215);
}

double f_im(double x) {
        mpfr_set_d(r33211, x, MPFR_RNDN);
        ;
        mpfr_add(r33213, r33211, r33212, MPFR_RNDN);
        mpfr_mul(r33214, r33213, r33213, MPFR_RNDN);
        mpfr_sub(r33215, r33214, r33212, MPFR_RNDN);
        return mpfr_get_d(r33215, MPFR_RNDN);
}

static mpfr_t r33216, r33217, r33218, r33219;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(1424);
        mpfr_init_set_str(r33216, "2", 10, MPFR_RNDN);
        mpfr_init(r33217);
        mpfr_init(r33218);
        mpfr_init(r33219);
}

double f_fm(double x) {
        ;
        mpfr_set_d(r33217, x, MPFR_RNDN);
        mpfr_add(r33218, r33216, r33217, MPFR_RNDN);
        mpfr_mul(r33219, r33218, r33217, MPFR_RNDN);
        return mpfr_get_d(r33219, MPFR_RNDN);
}

static mpfr_t r33220, r33221, r33222, r33223;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(1424);
        mpfr_init_set_str(r33220, "2", 10, MPFR_RNDN);
        mpfr_init(r33221);
        mpfr_init(r33222);
        mpfr_init(r33223);
}

double f_dm(double x) {
        ;
        mpfr_set_d(r33221, x, MPFR_RNDN);
        mpfr_add(r33222, r33220, r33221, MPFR_RNDN);
        mpfr_mul(r33223, r33222, r33221, MPFR_RNDN);
        return mpfr_get_d(r33223, MPFR_RNDN);
}

