#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 r29295 = x;
        float r29296 = y;
        float r29297 = r29295 * r29296;
        float r29298 = z;
        float r29299 = t;
        float r29300 = r29298 * r29299;
        float r29301 = r29297 + r29300;
        float r29302 = a;
        float r29303 = b;
        float r29304 = r29302 * r29303;
        float r29305 = r29301 + r29304;
        float r29306 = c;
        float r29307 = i;
        float r29308 = r29306 * r29307;
        float r29309 = r29305 + r29308;
        return r29309;
}

double f_id(double x, double y, double z, double t, double a, double b, double c, double i) {
        double r29310 = x;
        double r29311 = y;
        double r29312 = r29310 * r29311;
        double r29313 = z;
        double r29314 = t;
        double r29315 = r29313 * r29314;
        double r29316 = r29312 + r29315;
        double r29317 = a;
        double r29318 = b;
        double r29319 = r29317 * r29318;
        double r29320 = r29316 + r29319;
        double r29321 = c;
        double r29322 = i;
        double r29323 = r29321 * r29322;
        double r29324 = r29320 + r29323;
        return r29324;
}


double f_of(float x, float y, float z, float t, float a, float b, float c, float i) {
        float r29325 = x;
        float r29326 = y;
        float r29327 = r29325 * r29326;
        float r29328 = z;
        float r29329 = t;
        float r29330 = r29328 * r29329;
        float r29331 = r29327 + r29330;
        float r29332 = a;
        float r29333 = b;
        float r29334 = r29332 * r29333;
        float r29335 = r29331 + r29334;
        float r29336 = c;
        float r29337 = i;
        float r29338 = r29336 * r29337;
        float r29339 = r29335 + r29338;
        return r29339;
}

double f_od(double x, double y, double z, double t, double a, double b, double c, double i) {
        double r29340 = x;
        double r29341 = y;
        double r29342 = r29340 * r29341;
        double r29343 = z;
        double r29344 = t;
        double r29345 = r29343 * r29344;
        double r29346 = r29342 + r29345;
        double r29347 = a;
        double r29348 = b;
        double r29349 = r29347 * r29348;
        double r29350 = r29346 + r29349;
        double r29351 = c;
        double r29352 = i;
        double r29353 = r29351 * r29352;
        double r29354 = r29350 + r29353;
        return r29354;
}

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 r29355, r29356, r29357, r29358, r29359, r29360, r29361, r29362, r29363, r29364, r29365, r29366, r29367, r29368, r29369;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(400);
        mpfr_init(r29355);
        mpfr_init(r29356);
        mpfr_init(r29357);
        mpfr_init(r29358);
        mpfr_init(r29359);
        mpfr_init(r29360);
        mpfr_init(r29361);
        mpfr_init(r29362);
        mpfr_init(r29363);
        mpfr_init(r29364);
        mpfr_init(r29365);
        mpfr_init(r29366);
        mpfr_init(r29367);
        mpfr_init(r29368);
        mpfr_init(r29369);
}

double f_im(double x, double y, double z, double t, double a, double b, double c, double i) {
        mpfr_set_d(r29355, x, MPFR_RNDN);
        mpfr_set_d(r29356, y, MPFR_RNDN);
        mpfr_mul(r29357, r29355, r29356, MPFR_RNDN);
        mpfr_set_d(r29358, z, MPFR_RNDN);
        mpfr_set_d(r29359, t, MPFR_RNDN);
        mpfr_mul(r29360, r29358, r29359, MPFR_RNDN);
        mpfr_add(r29361, r29357, r29360, MPFR_RNDN);
        mpfr_set_d(r29362, a, MPFR_RNDN);
        mpfr_set_d(r29363, b, MPFR_RNDN);
        mpfr_mul(r29364, r29362, r29363, MPFR_RNDN);
        mpfr_add(r29365, r29361, r29364, MPFR_RNDN);
        mpfr_set_d(r29366, c, MPFR_RNDN);
        mpfr_set_d(r29367, i, MPFR_RNDN);
        mpfr_mul(r29368, r29366, r29367, MPFR_RNDN);
        mpfr_add(r29369, r29365, r29368, MPFR_RNDN);
        return mpfr_get_d(r29369, MPFR_RNDN);
}

static mpfr_t r29370, r29371, r29372, r29373, r29374, r29375, r29376, r29377, r29378, r29379, r29380, r29381, r29382, r29383, r29384;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(400);
        mpfr_init(r29370);
        mpfr_init(r29371);
        mpfr_init(r29372);
        mpfr_init(r29373);
        mpfr_init(r29374);
        mpfr_init(r29375);
        mpfr_init(r29376);
        mpfr_init(r29377);
        mpfr_init(r29378);
        mpfr_init(r29379);
        mpfr_init(r29380);
        mpfr_init(r29381);
        mpfr_init(r29382);
        mpfr_init(r29383);
        mpfr_init(r29384);
}

double f_fm(double x, double y, double z, double t, double a, double b, double c, double i) {
        mpfr_set_d(r29370, x, MPFR_RNDN);
        mpfr_set_d(r29371, y, MPFR_RNDN);
        mpfr_mul(r29372, r29370, r29371, MPFR_RNDN);
        mpfr_set_d(r29373, z, MPFR_RNDN);
        mpfr_set_d(r29374, t, MPFR_RNDN);
        mpfr_mul(r29375, r29373, r29374, MPFR_RNDN);
        mpfr_add(r29376, r29372, r29375, MPFR_RNDN);
        mpfr_set_d(r29377, a, MPFR_RNDN);
        mpfr_set_d(r29378, b, MPFR_RNDN);
        mpfr_mul(r29379, r29377, r29378, MPFR_RNDN);
        mpfr_add(r29380, r29376, r29379, MPFR_RNDN);
        mpfr_set_d(r29381, c, MPFR_RNDN);
        mpfr_set_d(r29382, i, MPFR_RNDN);
        mpfr_mul(r29383, r29381, r29382, MPFR_RNDN);
        mpfr_add(r29384, r29380, r29383, MPFR_RNDN);
        return mpfr_get_d(r29384, MPFR_RNDN);
}

static mpfr_t r29385, r29386, r29387, r29388, r29389, r29390, r29391, r29392, r29393, r29394, r29395, r29396, r29397, r29398, r29399;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(400);
        mpfr_init(r29385);
        mpfr_init(r29386);
        mpfr_init(r29387);
        mpfr_init(r29388);
        mpfr_init(r29389);
        mpfr_init(r29390);
        mpfr_init(r29391);
        mpfr_init(r29392);
        mpfr_init(r29393);
        mpfr_init(r29394);
        mpfr_init(r29395);
        mpfr_init(r29396);
        mpfr_init(r29397);
        mpfr_init(r29398);
        mpfr_init(r29399);
}

double f_dm(double x, double y, double z, double t, double a, double b, double c, double i) {
        mpfr_set_d(r29385, x, MPFR_RNDN);
        mpfr_set_d(r29386, y, MPFR_RNDN);
        mpfr_mul(r29387, r29385, r29386, MPFR_RNDN);
        mpfr_set_d(r29388, z, MPFR_RNDN);
        mpfr_set_d(r29389, t, MPFR_RNDN);
        mpfr_mul(r29390, r29388, r29389, MPFR_RNDN);
        mpfr_add(r29391, r29387, r29390, MPFR_RNDN);
        mpfr_set_d(r29392, a, MPFR_RNDN);
        mpfr_set_d(r29393, b, MPFR_RNDN);
        mpfr_mul(r29394, r29392, r29393, MPFR_RNDN);
        mpfr_add(r29395, r29391, r29394, MPFR_RNDN);
        mpfr_set_d(r29396, c, MPFR_RNDN);
        mpfr_set_d(r29397, i, MPFR_RNDN);
        mpfr_mul(r29398, r29396, r29397, MPFR_RNDN);
        mpfr_add(r29399, r29395, r29398, MPFR_RNDN);
        return mpfr_get_d(r29399, MPFR_RNDN);
}

