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

char *name = "3.9.2 real part (p56)";

double f_if() {
        float r8119 = 1.0f;
        float r8120 = -r8119;
        float r8121 = 2.0f;
        float r8122 = r8120 / r8121;
        float r8123 = 3.0f;
        float r8124 = sqrt(r8123);
        float r8125 = r8124 / r8121;
        float r8126 = /* ERROR: no complex support in C */;
        float r8127 = r8126 * r8126;
        float r8128 = r8127 * r8126;
        float r8129 = r8128 * r8126;
        float r8130 = -r8121;
        float r8131 = 0.0f;
        float r8132 = /* ERROR: no complex support in C */;
        float r8133 = r8132 * r8126;
        float r8134 = r8133 * r8126;
        float r8135 = r8134 * r8126;
        float r8136 = r8129 + r8135;
        float r8137 = 5.0f;
        float r8138 = /* ERROR: no complex support in C */;
        float r8139 = r8138 * r8126;
        float r8140 = r8139 * r8126;
        float r8141 = r8136 + r8140;
        float r8142 = 4.0f;
        float r8143 = /* ERROR: no complex support in C */;
        float r8144 = r8143 * r8126;
        float r8145 = r8141 + r8144;
        float r8146 = 7.0f;
        float r8147 = /* ERROR: no complex support in C */;
        float r8148 = r8145 + r8147;
        float r8149 = /* ERROR: no complex support in C */;
        return r8149;
}

double f_id() {
        double r8150 = 1.0;
        double r8151 = -r8150;
        double r8152 = 2.0;
        double r8153 = r8151 / r8152;
        double r8154 = 3.0;
        double r8155 = sqrt(r8154);
        double r8156 = r8155 / r8152;
        double r8157 = /* ERROR: no complex support in C */;
        double r8158 = r8157 * r8157;
        double r8159 = r8158 * r8157;
        double r8160 = r8159 * r8157;
        double r8161 = -r8152;
        double r8162 = 0.0;
        double r8163 = /* ERROR: no complex support in C */;
        double r8164 = r8163 * r8157;
        double r8165 = r8164 * r8157;
        double r8166 = r8165 * r8157;
        double r8167 = r8160 + r8166;
        double r8168 = 5.0;
        double r8169 = /* ERROR: no complex support in C */;
        double r8170 = r8169 * r8157;
        double r8171 = r8170 * r8157;
        double r8172 = r8167 + r8171;
        double r8173 = 4.0;
        double r8174 = /* ERROR: no complex support in C */;
        double r8175 = r8174 * r8157;
        double r8176 = r8172 + r8175;
        double r8177 = 7.0;
        double r8178 = /* ERROR: no complex support in C */;
        double r8179 = r8176 + r8178;
        double r8180 = /* ERROR: no complex support in C */;
        return r8180;
}


double f_of() {
        float r8181 = 2.0f;
        float r8182 = r8181 / r8181;
        float r8183 = 5.0f;
        float r8184 = r8182 + r8183;
        float r8185 = -r8181;
        float r8186 = 3.0f;
        float r8187 = sqrt(r8186);
        float r8188 = r8187 / r8181;
        float r8189 = r8185 * r8188;
        float r8190 = /* ERROR: no complex support in C */;
        float r8191 = 1.0f;
        float r8192 = r8191 / r8181;
        float r8193 = -r8192;
        float r8194 = /* ERROR: no complex support in C */;
        float r8195 = r8194 * r8194;
        float r8196 = r8190 + r8195;
        float r8197 = r8196 * r8195;
        float r8198 = 7.0f;
        float r8199 = 4.0f;
        float r8200 = r8199 / r8181;
        float r8201 = r8198 - r8200;
        float r8202 = r8187 * r8200;
        float r8203 = /* ERROR: no complex support in C */;
        float r8204 = r8197 + r8203;
        float r8205 = /* ERROR: no complex support in C */;
        return r8205;
}

double f_od() {
        double r8206 = 2.0;
        double r8207 = r8206 / r8206;
        double r8208 = 5.0;
        double r8209 = r8207 + r8208;
        double r8210 = -r8206;
        double r8211 = 3.0;
        double r8212 = sqrt(r8211);
        double r8213 = r8212 / r8206;
        double r8214 = r8210 * r8213;
        double r8215 = /* ERROR: no complex support in C */;
        double r8216 = 1.0;
        double r8217 = r8216 / r8206;
        double r8218 = -r8217;
        double r8219 = /* ERROR: no complex support in C */;
        double r8220 = r8219 * r8219;
        double r8221 = r8215 + r8220;
        double r8222 = r8221 * r8220;
        double r8223 = 7.0;
        double r8224 = 4.0;
        double r8225 = r8224 / r8206;
        double r8226 = r8223 - r8225;
        double r8227 = r8212 * r8225;
        double r8228 = /* ERROR: no complex support in C */;
        double r8229 = r8222 + r8228;
        double r8230 = /* ERROR: no complex support in C */;
        return r8230;
}

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 r8231, r8232, r8233, r8234, r8235, r8236, r8237, r8238, r8239, r8240, r8241, r8242, r8243, r8244, r8245, r8246, r8247, r8248, r8249, r8250, r8251, r8252, r8253, r8254, r8255, r8256, r8257, r8258, r8259, r8260, r8261;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(1104);
        mpfr_init_set_str(r8231, "1", 10, MPFR_RNDN);
        mpfr_init(r8232);
        mpfr_init_set_str(r8233, "2", 10, MPFR_RNDN);
        mpfr_init(r8234);
        mpfr_init_set_str(r8235, "3", 10, MPFR_RNDN);
        mpfr_init(r8236);
        mpfr_init(r8237);
        mpfr_init(r8238);
        mpfr_init(r8239);
        mpfr_init(r8240);
        mpfr_init(r8241);
        mpfr_init(r8242);
        mpfr_init_set_str(r8243, "0", 10, MPFR_RNDN);
        mpfr_init(r8244);
        mpfr_init(r8245);
        mpfr_init(r8246);
        mpfr_init(r8247);
        mpfr_init(r8248);
        mpfr_init_set_str(r8249, "5", 10, MPFR_RNDN);
        mpfr_init(r8250);
        mpfr_init(r8251);
        mpfr_init(r8252);
        mpfr_init(r8253);
        mpfr_init_set_str(r8254, "4", 10, MPFR_RNDN);
        mpfr_init(r8255);
        mpfr_init(r8256);
        mpfr_init(r8257);
        mpfr_init_set_str(r8258, "7", 10, MPFR_RNDN);
        mpfr_init(r8259);
        mpfr_init(r8260);
        mpfr_init(r8261);
}

double f_im() {
        ;
        mpfr_neg(r8232, r8231, MPFR_RNDN);
        ;
        mpfr_div(r8234, r8232, r8233, MPFR_RNDN);
        ;
        mpfr_sqrt(r8236, r8235, MPFR_RNDN);
        mpfr_div(r8237, r8236, r8233, MPFR_RNDN);
        /* ERROR: no complex support in C */;
        /* ERROR: no complex support in C */;
        /* ERROR: no complex support in C */;
        /* ERROR: no complex support in C */;
        mpfr_neg(r8242, r8233, MPFR_RNDN);
        ;
        /* ERROR: no complex support in C */;
        /* ERROR: no complex support in C */;
        /* ERROR: no complex support in C */;
        /* ERROR: no complex support in C */;
        /* ERROR: no complex support in C */;
        ;
        /* ERROR: no complex support in C */;
        /* ERROR: no complex support in C */;
        /* ERROR: no complex support in C */;
        /* ERROR: no complex support in C */;
        ;
        /* ERROR: no complex support in C */;
        /* ERROR: no complex support in C */;
        /* ERROR: no complex support in C */;
        ;
        /* ERROR: no complex support in C */;
        /* ERROR: no complex support in C */;
        /* ERROR: no complex support in C */;
        return mpfr_get_d(r8261, MPFR_RNDN);
}

static mpfr_t r8262, r8263, r8264, r8265, r8266, r8267, r8268, r8269, r8270, r8271, r8272, r8273, r8274, r8275, r8276, r8277, r8278, r8279, r8280, r8281, r8282, r8283, r8284, r8285, r8286;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(1104);
        mpfr_init_set_str(r8262, "2", 10, MPFR_RNDN);
        mpfr_init(r8263);
        mpfr_init_set_str(r8264, "5", 10, MPFR_RNDN);
        mpfr_init(r8265);
        mpfr_init(r8266);
        mpfr_init_set_str(r8267, "3", 10, MPFR_RNDN);
        mpfr_init(r8268);
        mpfr_init(r8269);
        mpfr_init(r8270);
        mpfr_init(r8271);
        mpfr_init_set_str(r8272, "1", 10, MPFR_RNDN);
        mpfr_init(r8273);
        mpfr_init(r8274);
        mpfr_init(r8275);
        mpfr_init(r8276);
        mpfr_init(r8277);
        mpfr_init(r8278);
        mpfr_init_set_str(r8279, "7", 10, MPFR_RNDN);
        mpfr_init_set_str(r8280, "4", 10, MPFR_RNDN);
        mpfr_init(r8281);
        mpfr_init(r8282);
        mpfr_init(r8283);
        mpfr_init(r8284);
        mpfr_init(r8285);
        mpfr_init(r8286);
}

double f_fm() {
        ;
        mpfr_div(r8263, r8262, r8262, MPFR_RNDN);
        ;
        mpfr_add(r8265, r8263, r8264, MPFR_RNDN);
        mpfr_neg(r8266, r8262, MPFR_RNDN);
        ;
        mpfr_sqrt(r8268, r8267, MPFR_RNDN);
        mpfr_div(r8269, r8268, r8262, MPFR_RNDN);
        mpfr_mul(r8270, r8266, r8269, MPFR_RNDN);
        /* ERROR: no complex support in C */;
        ;
        mpfr_div(r8273, r8272, r8262, MPFR_RNDN);
        mpfr_neg(r8274, r8273, MPFR_RNDN);
        /* ERROR: no complex support in C */;
        /* ERROR: no complex support in C */;
        /* ERROR: no complex support in C */;
        /* ERROR: no complex support in C */;
        ;
        ;
        mpfr_div(r8281, r8280, r8262, MPFR_RNDN);
        mpfr_sub(r8282, r8279, r8281, MPFR_RNDN);
        mpfr_mul(r8283, r8268, r8281, MPFR_RNDN);
        /* ERROR: no complex support in C */;
        /* ERROR: no complex support in C */;
        /* ERROR: no complex support in C */;
        return mpfr_get_d(r8286, MPFR_RNDN);
}

static mpfr_t r8287, r8288, r8289, r8290, r8291, r8292, r8293, r8294, r8295, r8296, r8297, r8298, r8299, r8300, r8301, r8302, r8303, r8304, r8305, r8306, r8307, r8308, r8309, r8310, r8311;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(1104);
        mpfr_init_set_str(r8287, "2", 10, MPFR_RNDN);
        mpfr_init(r8288);
        mpfr_init_set_str(r8289, "5", 10, MPFR_RNDN);
        mpfr_init(r8290);
        mpfr_init(r8291);
        mpfr_init_set_str(r8292, "3", 10, MPFR_RNDN);
        mpfr_init(r8293);
        mpfr_init(r8294);
        mpfr_init(r8295);
        mpfr_init(r8296);
        mpfr_init_set_str(r8297, "1", 10, MPFR_RNDN);
        mpfr_init(r8298);
        mpfr_init(r8299);
        mpfr_init(r8300);
        mpfr_init(r8301);
        mpfr_init(r8302);
        mpfr_init(r8303);
        mpfr_init_set_str(r8304, "7", 10, MPFR_RNDN);
        mpfr_init_set_str(r8305, "4", 10, MPFR_RNDN);
        mpfr_init(r8306);
        mpfr_init(r8307);
        mpfr_init(r8308);
        mpfr_init(r8309);
        mpfr_init(r8310);
        mpfr_init(r8311);
}

double f_dm() {
        ;
        mpfr_div(r8288, r8287, r8287, MPFR_RNDN);
        ;
        mpfr_add(r8290, r8288, r8289, MPFR_RNDN);
        mpfr_neg(r8291, r8287, MPFR_RNDN);
        ;
        mpfr_sqrt(r8293, r8292, MPFR_RNDN);
        mpfr_div(r8294, r8293, r8287, MPFR_RNDN);
        mpfr_mul(r8295, r8291, r8294, MPFR_RNDN);
        /* ERROR: no complex support in C */;
        ;
        mpfr_div(r8298, r8297, r8287, MPFR_RNDN);
        mpfr_neg(r8299, r8298, MPFR_RNDN);
        /* ERROR: no complex support in C */;
        /* ERROR: no complex support in C */;
        /* ERROR: no complex support in C */;
        /* ERROR: no complex support in C */;
        ;
        ;
        mpfr_div(r8306, r8305, r8287, MPFR_RNDN);
        mpfr_sub(r8307, r8304, r8306, MPFR_RNDN);
        mpfr_mul(r8308, r8293, r8306, MPFR_RNDN);
        /* ERROR: no complex support in C */;
        /* ERROR: no complex support in C */;
        /* ERROR: no complex support in C */;
        return mpfr_get_d(r8311, MPFR_RNDN);
}

