#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 r29359 = x;
        float r29360 = y;
        float r29361 = r29359 * r29360;
        float r29362 = z;
        float r29363 = t;
        float r29364 = r29362 * r29363;
        float r29365 = r29361 + r29364;
        float r29366 = a;
        float r29367 = b;
        float r29368 = r29366 * r29367;
        float r29369 = r29365 + r29368;
        float r29370 = c;
        float r29371 = i;
        float r29372 = r29370 * r29371;
        float r29373 = r29369 + r29372;
        return r29373;
}

double f_id(double x, double y, double z, double t, double a, double b, double c, double i) {
        double r29374 = x;
        double r29375 = y;
        double r29376 = r29374 * r29375;
        double r29377 = z;
        double r29378 = t;
        double r29379 = r29377 * r29378;
        double r29380 = r29376 + r29379;
        double r29381 = a;
        double r29382 = b;
        double r29383 = r29381 * r29382;
        double r29384 = r29380 + r29383;
        double r29385 = c;
        double r29386 = i;
        double r29387 = r29385 * r29386;
        double r29388 = r29384 + r29387;
        return r29388;
}


double f_of(float x, float y, float z, float t, float a, float b, float c, float i) {
        float r29389 = x;
        float r29390 = y;
        float r29391 = r29389 * r29390;
        float r29392 = z;
        float r29393 = t;
        float r29394 = r29392 * r29393;
        float r29395 = r29391 + r29394;
        float r29396 = a;
        float r29397 = b;
        float r29398 = r29396 * r29397;
        float r29399 = r29395 + r29398;
        float r29400 = c;
        float r29401 = i;
        float r29402 = r29400 * r29401;
        float r29403 = r29399 + r29402;
        return r29403;
}

double f_od(double x, double y, double z, double t, double a, double b, double c, double i) {
        double r29404 = x;
        double r29405 = y;
        double r29406 = r29404 * r29405;
        double r29407 = z;
        double r29408 = t;
        double r29409 = r29407 * r29408;
        double r29410 = r29406 + r29409;
        double r29411 = a;
        double r29412 = b;
        double r29413 = r29411 * r29412;
        double r29414 = r29410 + r29413;
        double r29415 = c;
        double r29416 = i;
        double r29417 = r29415 * r29416;
        double r29418 = r29414 + r29417;
        return r29418;
}

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 r29419, r29420, r29421, r29422, r29423, r29424, r29425, r29426, r29427, r29428, r29429, r29430, r29431, r29432, r29433;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(400);
        mpfr_init(r29419);
        mpfr_init(r29420);
        mpfr_init(r29421);
        mpfr_init(r29422);
        mpfr_init(r29423);
        mpfr_init(r29424);
        mpfr_init(r29425);
        mpfr_init(r29426);
        mpfr_init(r29427);
        mpfr_init(r29428);
        mpfr_init(r29429);
        mpfr_init(r29430);
        mpfr_init(r29431);
        mpfr_init(r29432);
        mpfr_init(r29433);
}

double f_im(double x, double y, double z, double t, double a, double b, double c, double i) {
        mpfr_set_d(r29419, x, MPFR_RNDN);
        mpfr_set_d(r29420, y, MPFR_RNDN);
        mpfr_mul(r29421, r29419, r29420, MPFR_RNDN);
        mpfr_set_d(r29422, z, MPFR_RNDN);
        mpfr_set_d(r29423, t, MPFR_RNDN);
        mpfr_mul(r29424, r29422, r29423, MPFR_RNDN);
        mpfr_add(r29425, r29421, r29424, MPFR_RNDN);
        mpfr_set_d(r29426, a, MPFR_RNDN);
        mpfr_set_d(r29427, b, MPFR_RNDN);
        mpfr_mul(r29428, r29426, r29427, MPFR_RNDN);
        mpfr_add(r29429, r29425, r29428, MPFR_RNDN);
        mpfr_set_d(r29430, c, MPFR_RNDN);
        mpfr_set_d(r29431, i, MPFR_RNDN);
        mpfr_mul(r29432, r29430, r29431, MPFR_RNDN);
        mpfr_add(r29433, r29429, r29432, MPFR_RNDN);
        return mpfr_get_d(r29433, MPFR_RNDN);
}

static mpfr_t r29434, r29435, r29436, r29437, r29438, r29439, r29440, r29441, r29442, r29443, r29444, r29445, r29446, r29447, r29448;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(400);
        mpfr_init(r29434);
        mpfr_init(r29435);
        mpfr_init(r29436);
        mpfr_init(r29437);
        mpfr_init(r29438);
        mpfr_init(r29439);
        mpfr_init(r29440);
        mpfr_init(r29441);
        mpfr_init(r29442);
        mpfr_init(r29443);
        mpfr_init(r29444);
        mpfr_init(r29445);
        mpfr_init(r29446);
        mpfr_init(r29447);
        mpfr_init(r29448);
}

double f_fm(double x, double y, double z, double t, double a, double b, double c, double i) {
        mpfr_set_d(r29434, x, MPFR_RNDN);
        mpfr_set_d(r29435, y, MPFR_RNDN);
        mpfr_mul(r29436, r29434, r29435, MPFR_RNDN);
        mpfr_set_d(r29437, z, MPFR_RNDN);
        mpfr_set_d(r29438, t, MPFR_RNDN);
        mpfr_mul(r29439, r29437, r29438, MPFR_RNDN);
        mpfr_add(r29440, r29436, r29439, MPFR_RNDN);
        mpfr_set_d(r29441, a, MPFR_RNDN);
        mpfr_set_d(r29442, b, MPFR_RNDN);
        mpfr_mul(r29443, r29441, r29442, MPFR_RNDN);
        mpfr_add(r29444, r29440, r29443, MPFR_RNDN);
        mpfr_set_d(r29445, c, MPFR_RNDN);
        mpfr_set_d(r29446, i, MPFR_RNDN);
        mpfr_mul(r29447, r29445, r29446, MPFR_RNDN);
        mpfr_add(r29448, r29444, r29447, MPFR_RNDN);
        return mpfr_get_d(r29448, MPFR_RNDN);
}

static mpfr_t r29449, r29450, r29451, r29452, r29453, r29454, r29455, r29456, r29457, r29458, r29459, r29460, r29461, r29462, r29463;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(400);
        mpfr_init(r29449);
        mpfr_init(r29450);
        mpfr_init(r29451);
        mpfr_init(r29452);
        mpfr_init(r29453);
        mpfr_init(r29454);
        mpfr_init(r29455);
        mpfr_init(r29456);
        mpfr_init(r29457);
        mpfr_init(r29458);
        mpfr_init(r29459);
        mpfr_init(r29460);
        mpfr_init(r29461);
        mpfr_init(r29462);
        mpfr_init(r29463);
}

double f_dm(double x, double y, double z, double t, double a, double b, double c, double i) {
        mpfr_set_d(r29449, x, MPFR_RNDN);
        mpfr_set_d(r29450, y, MPFR_RNDN);
        mpfr_mul(r29451, r29449, r29450, MPFR_RNDN);
        mpfr_set_d(r29452, z, MPFR_RNDN);
        mpfr_set_d(r29453, t, MPFR_RNDN);
        mpfr_mul(r29454, r29452, r29453, MPFR_RNDN);
        mpfr_add(r29455, r29451, r29454, MPFR_RNDN);
        mpfr_set_d(r29456, a, MPFR_RNDN);
        mpfr_set_d(r29457, b, MPFR_RNDN);
        mpfr_mul(r29458, r29456, r29457, MPFR_RNDN);
        mpfr_add(r29459, r29455, r29458, MPFR_RNDN);
        mpfr_set_d(r29460, c, MPFR_RNDN);
        mpfr_set_d(r29461, i, MPFR_RNDN);
        mpfr_mul(r29462, r29460, r29461, MPFR_RNDN);
        mpfr_add(r29463, r29459, r29462, MPFR_RNDN);
        return mpfr_get_d(r29463, MPFR_RNDN);
}

