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

char *name = "Linear.V4:$cdot from linear-1.19.1.3";

double f_if(float x, float y, float z, float t, float a, float b, float c, float i) {
        float r27237 = x;
        float r27238 = y;
        float r27239 = r27237 * r27238;
        float r27240 = z;
        float r27241 = t;
        float r27242 = r27240 * r27241;
        float r27243 = r27239 + r27242;
        float r27244 = a;
        float r27245 = b;
        float r27246 = r27244 * r27245;
        float r27247 = r27243 + r27246;
        float r27248 = c;
        float r27249 = i;
        float r27250 = r27248 * r27249;
        float r27251 = r27247 + r27250;
        return r27251;
}

double f_id(double x, double y, double z, double t, double a, double b, double c, double i) {
        double r27252 = x;
        double r27253 = y;
        double r27254 = r27252 * r27253;
        double r27255 = z;
        double r27256 = t;
        double r27257 = r27255 * r27256;
        double r27258 = r27254 + r27257;
        double r27259 = a;
        double r27260 = b;
        double r27261 = r27259 * r27260;
        double r27262 = r27258 + r27261;
        double r27263 = c;
        double r27264 = i;
        double r27265 = r27263 * r27264;
        double r27266 = r27262 + r27265;
        return r27266;
}


double f_of(float x, float y, float z, float t, float a, float b, float c, float i) {
        float r27267 = x;
        float r27268 = y;
        float r27269 = r27267 * r27268;
        float r27270 = z;
        float r27271 = t;
        float r27272 = r27270 * r27271;
        float r27273 = r27269 + r27272;
        float r27274 = a;
        float r27275 = b;
        float r27276 = r27274 * r27275;
        float r27277 = r27273 + r27276;
        float r27278 = c;
        float r27279 = i;
        float r27280 = r27278 * r27279;
        float r27281 = r27277 + r27280;
        return r27281;
}

double f_od(double x, double y, double z, double t, double a, double b, double c, double i) {
        double r27282 = x;
        double r27283 = y;
        double r27284 = r27282 * r27283;
        double r27285 = z;
        double r27286 = t;
        double r27287 = r27285 * r27286;
        double r27288 = r27284 + r27287;
        double r27289 = a;
        double r27290 = b;
        double r27291 = r27289 * r27290;
        double r27292 = r27288 + r27291;
        double r27293 = c;
        double r27294 = i;
        double r27295 = r27293 * r27294;
        double r27296 = r27292 + r27295;
        return r27296;
}

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 r27297, r27298, r27299, r27300, r27301, r27302, r27303, r27304, r27305, r27306, r27307, r27308, r27309, r27310, r27311;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(144);
        mpfr_init(r27297);
        mpfr_init(r27298);
        mpfr_init(r27299);
        mpfr_init(r27300);
        mpfr_init(r27301);
        mpfr_init(r27302);
        mpfr_init(r27303);
        mpfr_init(r27304);
        mpfr_init(r27305);
        mpfr_init(r27306);
        mpfr_init(r27307);
        mpfr_init(r27308);
        mpfr_init(r27309);
        mpfr_init(r27310);
        mpfr_init(r27311);
}

double f_im(double x, double y, double z, double t, double a, double b, double c, double i) {
        mpfr_set_d(r27297, x, MPFR_RNDN);
        mpfr_set_d(r27298, y, MPFR_RNDN);
        mpfr_mul(r27299, r27297, r27298, MPFR_RNDN);
        mpfr_set_d(r27300, z, MPFR_RNDN);
        mpfr_set_d(r27301, t, MPFR_RNDN);
        mpfr_mul(r27302, r27300, r27301, MPFR_RNDN);
        mpfr_add(r27303, r27299, r27302, MPFR_RNDN);
        mpfr_set_d(r27304, a, MPFR_RNDN);
        mpfr_set_d(r27305, b, MPFR_RNDN);
        mpfr_mul(r27306, r27304, r27305, MPFR_RNDN);
        mpfr_add(r27307, r27303, r27306, MPFR_RNDN);
        mpfr_set_d(r27308, c, MPFR_RNDN);
        mpfr_set_d(r27309, i, MPFR_RNDN);
        mpfr_mul(r27310, r27308, r27309, MPFR_RNDN);
        mpfr_add(r27311, r27307, r27310, MPFR_RNDN);
        return mpfr_get_d(r27311, MPFR_RNDN);
}

static mpfr_t r27312, r27313, r27314, r27315, r27316, r27317, r27318, r27319, r27320, r27321, r27322, r27323, r27324, r27325, r27326;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(144);
        mpfr_init(r27312);
        mpfr_init(r27313);
        mpfr_init(r27314);
        mpfr_init(r27315);
        mpfr_init(r27316);
        mpfr_init(r27317);
        mpfr_init(r27318);
        mpfr_init(r27319);
        mpfr_init(r27320);
        mpfr_init(r27321);
        mpfr_init(r27322);
        mpfr_init(r27323);
        mpfr_init(r27324);
        mpfr_init(r27325);
        mpfr_init(r27326);
}

double f_fm(double x, double y, double z, double t, double a, double b, double c, double i) {
        mpfr_set_d(r27312, x, MPFR_RNDN);
        mpfr_set_d(r27313, y, MPFR_RNDN);
        mpfr_mul(r27314, r27312, r27313, MPFR_RNDN);
        mpfr_set_d(r27315, z, MPFR_RNDN);
        mpfr_set_d(r27316, t, MPFR_RNDN);
        mpfr_mul(r27317, r27315, r27316, MPFR_RNDN);
        mpfr_add(r27318, r27314, r27317, MPFR_RNDN);
        mpfr_set_d(r27319, a, MPFR_RNDN);
        mpfr_set_d(r27320, b, MPFR_RNDN);
        mpfr_mul(r27321, r27319, r27320, MPFR_RNDN);
        mpfr_add(r27322, r27318, r27321, MPFR_RNDN);
        mpfr_set_d(r27323, c, MPFR_RNDN);
        mpfr_set_d(r27324, i, MPFR_RNDN);
        mpfr_mul(r27325, r27323, r27324, MPFR_RNDN);
        mpfr_add(r27326, r27322, r27325, MPFR_RNDN);
        return mpfr_get_d(r27326, MPFR_RNDN);
}

static mpfr_t r27327, r27328, r27329, r27330, r27331, r27332, r27333, r27334, r27335, r27336, r27337, r27338, r27339, r27340, r27341;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(144);
        mpfr_init(r27327);
        mpfr_init(r27328);
        mpfr_init(r27329);
        mpfr_init(r27330);
        mpfr_init(r27331);
        mpfr_init(r27332);
        mpfr_init(r27333);
        mpfr_init(r27334);
        mpfr_init(r27335);
        mpfr_init(r27336);
        mpfr_init(r27337);
        mpfr_init(r27338);
        mpfr_init(r27339);
        mpfr_init(r27340);
        mpfr_init(r27341);
}

double f_dm(double x, double y, double z, double t, double a, double b, double c, double i) {
        mpfr_set_d(r27327, x, MPFR_RNDN);
        mpfr_set_d(r27328, y, MPFR_RNDN);
        mpfr_mul(r27329, r27327, r27328, MPFR_RNDN);
        mpfr_set_d(r27330, z, MPFR_RNDN);
        mpfr_set_d(r27331, t, MPFR_RNDN);
        mpfr_mul(r27332, r27330, r27331, MPFR_RNDN);
        mpfr_add(r27333, r27329, r27332, MPFR_RNDN);
        mpfr_set_d(r27334, a, MPFR_RNDN);
        mpfr_set_d(r27335, b, MPFR_RNDN);
        mpfr_mul(r27336, r27334, r27335, MPFR_RNDN);
        mpfr_add(r27337, r27333, r27336, MPFR_RNDN);
        mpfr_set_d(r27338, c, MPFR_RNDN);
        mpfr_set_d(r27339, i, MPFR_RNDN);
        mpfr_mul(r27340, r27338, r27339, MPFR_RNDN);
        mpfr_add(r27341, r27337, r27340, MPFR_RNDN);
        return mpfr_get_d(r27341, MPFR_RNDN);
}

