#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, C";

double f_if(float x, float y, float z, float t, float a, float b, float c, float i) {
        float r29254 = x;
        float r29255 = y;
        float r29256 = r29254 * r29255;
        float r29257 = z;
        float r29258 = t;
        float r29259 = r29257 * r29258;
        float r29260 = r29256 + r29259;
        float r29261 = a;
        float r29262 = b;
        float r29263 = r29261 * r29262;
        float r29264 = r29260 + r29263;
        float r29265 = c;
        float r29266 = i;
        float r29267 = r29265 * r29266;
        float r29268 = r29264 + r29267;
        return r29268;
}

double f_id(double x, double y, double z, double t, double a, double b, double c, double i) {
        double r29269 = x;
        double r29270 = y;
        double r29271 = r29269 * r29270;
        double r29272 = z;
        double r29273 = t;
        double r29274 = r29272 * r29273;
        double r29275 = r29271 + r29274;
        double r29276 = a;
        double r29277 = b;
        double r29278 = r29276 * r29277;
        double r29279 = r29275 + r29278;
        double r29280 = c;
        double r29281 = i;
        double r29282 = r29280 * r29281;
        double r29283 = r29279 + r29282;
        return r29283;
}


double f_of(float x, float y, float z, float t, float a, float b, float c, float i) {
        float r29284 = x;
        float r29285 = y;
        float r29286 = r29284 * r29285;
        float r29287 = z;
        float r29288 = t;
        float r29289 = r29287 * r29288;
        float r29290 = r29286 + r29289;
        float r29291 = a;
        float r29292 = b;
        float r29293 = r29291 * r29292;
        float r29294 = r29290 + r29293;
        float r29295 = c;
        float r29296 = i;
        float r29297 = r29295 * r29296;
        float r29298 = r29294 + r29297;
        return r29298;
}

double f_od(double x, double y, double z, double t, double a, double b, double c, double i) {
        double r29299 = x;
        double r29300 = y;
        double r29301 = r29299 * r29300;
        double r29302 = z;
        double r29303 = t;
        double r29304 = r29302 * r29303;
        double r29305 = r29301 + r29304;
        double r29306 = a;
        double r29307 = b;
        double r29308 = r29306 * r29307;
        double r29309 = r29305 + r29308;
        double r29310 = c;
        double r29311 = i;
        double r29312 = r29310 * r29311;
        double r29313 = r29309 + r29312;
        return r29313;
}

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 r29314, r29315, r29316, r29317, r29318, r29319, r29320, r29321, r29322, r29323, r29324, r29325, r29326, r29327, r29328;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(400);
        mpfr_init(r29314);
        mpfr_init(r29315);
        mpfr_init(r29316);
        mpfr_init(r29317);
        mpfr_init(r29318);
        mpfr_init(r29319);
        mpfr_init(r29320);
        mpfr_init(r29321);
        mpfr_init(r29322);
        mpfr_init(r29323);
        mpfr_init(r29324);
        mpfr_init(r29325);
        mpfr_init(r29326);
        mpfr_init(r29327);
        mpfr_init(r29328);
}

double f_im(double x, double y, double z, double t, double a, double b, double c, double i) {
        mpfr_set_d(r29314, x, MPFR_RNDN);
        mpfr_set_d(r29315, y, MPFR_RNDN);
        mpfr_mul(r29316, r29314, r29315, MPFR_RNDN);
        mpfr_set_d(r29317, z, MPFR_RNDN);
        mpfr_set_d(r29318, t, MPFR_RNDN);
        mpfr_mul(r29319, r29317, r29318, MPFR_RNDN);
        mpfr_add(r29320, r29316, r29319, MPFR_RNDN);
        mpfr_set_d(r29321, a, MPFR_RNDN);
        mpfr_set_d(r29322, b, MPFR_RNDN);
        mpfr_mul(r29323, r29321, r29322, MPFR_RNDN);
        mpfr_add(r29324, r29320, r29323, MPFR_RNDN);
        mpfr_set_d(r29325, c, MPFR_RNDN);
        mpfr_set_d(r29326, i, MPFR_RNDN);
        mpfr_mul(r29327, r29325, r29326, MPFR_RNDN);
        mpfr_add(r29328, r29324, r29327, MPFR_RNDN);
        return mpfr_get_d(r29328, MPFR_RNDN);
}

static mpfr_t r29329, r29330, r29331, r29332, r29333, r29334, r29335, r29336, r29337, r29338, r29339, r29340, r29341, r29342, r29343;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(400);
        mpfr_init(r29329);
        mpfr_init(r29330);
        mpfr_init(r29331);
        mpfr_init(r29332);
        mpfr_init(r29333);
        mpfr_init(r29334);
        mpfr_init(r29335);
        mpfr_init(r29336);
        mpfr_init(r29337);
        mpfr_init(r29338);
        mpfr_init(r29339);
        mpfr_init(r29340);
        mpfr_init(r29341);
        mpfr_init(r29342);
        mpfr_init(r29343);
}

double f_fm(double x, double y, double z, double t, double a, double b, double c, double i) {
        mpfr_set_d(r29329, x, MPFR_RNDN);
        mpfr_set_d(r29330, y, MPFR_RNDN);
        mpfr_mul(r29331, r29329, r29330, MPFR_RNDN);
        mpfr_set_d(r29332, z, MPFR_RNDN);
        mpfr_set_d(r29333, t, MPFR_RNDN);
        mpfr_mul(r29334, r29332, r29333, MPFR_RNDN);
        mpfr_add(r29335, r29331, r29334, MPFR_RNDN);
        mpfr_set_d(r29336, a, MPFR_RNDN);
        mpfr_set_d(r29337, b, MPFR_RNDN);
        mpfr_mul(r29338, r29336, r29337, MPFR_RNDN);
        mpfr_add(r29339, r29335, r29338, MPFR_RNDN);
        mpfr_set_d(r29340, c, MPFR_RNDN);
        mpfr_set_d(r29341, i, MPFR_RNDN);
        mpfr_mul(r29342, r29340, r29341, MPFR_RNDN);
        mpfr_add(r29343, r29339, r29342, MPFR_RNDN);
        return mpfr_get_d(r29343, MPFR_RNDN);
}

static mpfr_t r29344, r29345, r29346, r29347, r29348, r29349, r29350, r29351, r29352, r29353, r29354, r29355, r29356, r29357, r29358;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(400);
        mpfr_init(r29344);
        mpfr_init(r29345);
        mpfr_init(r29346);
        mpfr_init(r29347);
        mpfr_init(r29348);
        mpfr_init(r29349);
        mpfr_init(r29350);
        mpfr_init(r29351);
        mpfr_init(r29352);
        mpfr_init(r29353);
        mpfr_init(r29354);
        mpfr_init(r29355);
        mpfr_init(r29356);
        mpfr_init(r29357);
        mpfr_init(r29358);
}

double f_dm(double x, double y, double z, double t, double a, double b, double c, double i) {
        mpfr_set_d(r29344, x, MPFR_RNDN);
        mpfr_set_d(r29345, y, MPFR_RNDN);
        mpfr_mul(r29346, r29344, r29345, MPFR_RNDN);
        mpfr_set_d(r29347, z, MPFR_RNDN);
        mpfr_set_d(r29348, t, MPFR_RNDN);
        mpfr_mul(r29349, r29347, r29348, MPFR_RNDN);
        mpfr_add(r29350, r29346, r29349, MPFR_RNDN);
        mpfr_set_d(r29351, a, MPFR_RNDN);
        mpfr_set_d(r29352, b, MPFR_RNDN);
        mpfr_mul(r29353, r29351, r29352, MPFR_RNDN);
        mpfr_add(r29354, r29350, r29353, MPFR_RNDN);
        mpfr_set_d(r29355, c, MPFR_RNDN);
        mpfr_set_d(r29356, i, MPFR_RNDN);
        mpfr_mul(r29357, r29355, r29356, MPFR_RNDN);
        mpfr_add(r29358, r29354, r29357, MPFR_RNDN);
        return mpfr_get_d(r29358, MPFR_RNDN);
}

