#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 r29190 = x;
        float r29191 = y;
        float r29192 = r29190 * r29191;
        float r29193 = z;
        float r29194 = t;
        float r29195 = r29193 * r29194;
        float r29196 = r29192 + r29195;
        float r29197 = a;
        float r29198 = b;
        float r29199 = r29197 * r29198;
        float r29200 = r29196 + r29199;
        float r29201 = c;
        float r29202 = i;
        float r29203 = r29201 * r29202;
        float r29204 = r29200 + r29203;
        return r29204;
}

double f_id(double x, double y, double z, double t, double a, double b, double c, double i) {
        double r29205 = x;
        double r29206 = y;
        double r29207 = r29205 * r29206;
        double r29208 = z;
        double r29209 = t;
        double r29210 = r29208 * r29209;
        double r29211 = r29207 + r29210;
        double r29212 = a;
        double r29213 = b;
        double r29214 = r29212 * r29213;
        double r29215 = r29211 + r29214;
        double r29216 = c;
        double r29217 = i;
        double r29218 = r29216 * r29217;
        double r29219 = r29215 + r29218;
        return r29219;
}


double f_of(float x, float y, float z, float t, float a, float b, float c, float i) {
        float r29220 = x;
        float r29221 = y;
        float r29222 = r29220 * r29221;
        float r29223 = z;
        float r29224 = t;
        float r29225 = r29223 * r29224;
        float r29226 = r29222 + r29225;
        float r29227 = a;
        float r29228 = b;
        float r29229 = r29227 * r29228;
        float r29230 = r29226 + r29229;
        float r29231 = c;
        float r29232 = i;
        float r29233 = r29231 * r29232;
        float r29234 = r29230 + r29233;
        return r29234;
}

double f_od(double x, double y, double z, double t, double a, double b, double c, double i) {
        double r29235 = x;
        double r29236 = y;
        double r29237 = r29235 * r29236;
        double r29238 = z;
        double r29239 = t;
        double r29240 = r29238 * r29239;
        double r29241 = r29237 + r29240;
        double r29242 = a;
        double r29243 = b;
        double r29244 = r29242 * r29243;
        double r29245 = r29241 + r29244;
        double r29246 = c;
        double r29247 = i;
        double r29248 = r29246 * r29247;
        double r29249 = r29245 + r29248;
        return r29249;
}

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 r29250, r29251, r29252, r29253, r29254, r29255, r29256, r29257, r29258, r29259, r29260, r29261, r29262, r29263, r29264;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(400);
        mpfr_init(r29250);
        mpfr_init(r29251);
        mpfr_init(r29252);
        mpfr_init(r29253);
        mpfr_init(r29254);
        mpfr_init(r29255);
        mpfr_init(r29256);
        mpfr_init(r29257);
        mpfr_init(r29258);
        mpfr_init(r29259);
        mpfr_init(r29260);
        mpfr_init(r29261);
        mpfr_init(r29262);
        mpfr_init(r29263);
        mpfr_init(r29264);
}

double f_im(double x, double y, double z, double t, double a, double b, double c, double i) {
        mpfr_set_d(r29250, x, MPFR_RNDN);
        mpfr_set_d(r29251, y, MPFR_RNDN);
        mpfr_mul(r29252, r29250, r29251, MPFR_RNDN);
        mpfr_set_d(r29253, z, MPFR_RNDN);
        mpfr_set_d(r29254, t, MPFR_RNDN);
        mpfr_mul(r29255, r29253, r29254, MPFR_RNDN);
        mpfr_add(r29256, r29252, r29255, MPFR_RNDN);
        mpfr_set_d(r29257, a, MPFR_RNDN);
        mpfr_set_d(r29258, b, MPFR_RNDN);
        mpfr_mul(r29259, r29257, r29258, MPFR_RNDN);
        mpfr_add(r29260, r29256, r29259, MPFR_RNDN);
        mpfr_set_d(r29261, c, MPFR_RNDN);
        mpfr_set_d(r29262, i, MPFR_RNDN);
        mpfr_mul(r29263, r29261, r29262, MPFR_RNDN);
        mpfr_add(r29264, r29260, r29263, MPFR_RNDN);
        return mpfr_get_d(r29264, MPFR_RNDN);
}

static mpfr_t r29265, r29266, r29267, r29268, r29269, r29270, r29271, r29272, r29273, r29274, r29275, r29276, r29277, r29278, r29279;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(400);
        mpfr_init(r29265);
        mpfr_init(r29266);
        mpfr_init(r29267);
        mpfr_init(r29268);
        mpfr_init(r29269);
        mpfr_init(r29270);
        mpfr_init(r29271);
        mpfr_init(r29272);
        mpfr_init(r29273);
        mpfr_init(r29274);
        mpfr_init(r29275);
        mpfr_init(r29276);
        mpfr_init(r29277);
        mpfr_init(r29278);
        mpfr_init(r29279);
}

double f_fm(double x, double y, double z, double t, double a, double b, double c, double i) {
        mpfr_set_d(r29265, x, MPFR_RNDN);
        mpfr_set_d(r29266, y, MPFR_RNDN);
        mpfr_mul(r29267, r29265, r29266, MPFR_RNDN);
        mpfr_set_d(r29268, z, MPFR_RNDN);
        mpfr_set_d(r29269, t, MPFR_RNDN);
        mpfr_mul(r29270, r29268, r29269, MPFR_RNDN);
        mpfr_add(r29271, r29267, r29270, MPFR_RNDN);
        mpfr_set_d(r29272, a, MPFR_RNDN);
        mpfr_set_d(r29273, b, MPFR_RNDN);
        mpfr_mul(r29274, r29272, r29273, MPFR_RNDN);
        mpfr_add(r29275, r29271, r29274, MPFR_RNDN);
        mpfr_set_d(r29276, c, MPFR_RNDN);
        mpfr_set_d(r29277, i, MPFR_RNDN);
        mpfr_mul(r29278, r29276, r29277, MPFR_RNDN);
        mpfr_add(r29279, r29275, r29278, MPFR_RNDN);
        return mpfr_get_d(r29279, MPFR_RNDN);
}

static mpfr_t r29280, r29281, r29282, r29283, r29284, r29285, r29286, r29287, r29288, r29289, r29290, r29291, r29292, r29293, r29294;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(400);
        mpfr_init(r29280);
        mpfr_init(r29281);
        mpfr_init(r29282);
        mpfr_init(r29283);
        mpfr_init(r29284);
        mpfr_init(r29285);
        mpfr_init(r29286);
        mpfr_init(r29287);
        mpfr_init(r29288);
        mpfr_init(r29289);
        mpfr_init(r29290);
        mpfr_init(r29291);
        mpfr_init(r29292);
        mpfr_init(r29293);
        mpfr_init(r29294);
}

double f_dm(double x, double y, double z, double t, double a, double b, double c, double i) {
        mpfr_set_d(r29280, x, MPFR_RNDN);
        mpfr_set_d(r29281, y, MPFR_RNDN);
        mpfr_mul(r29282, r29280, r29281, MPFR_RNDN);
        mpfr_set_d(r29283, z, MPFR_RNDN);
        mpfr_set_d(r29284, t, MPFR_RNDN);
        mpfr_mul(r29285, r29283, r29284, MPFR_RNDN);
        mpfr_add(r29286, r29282, r29285, MPFR_RNDN);
        mpfr_set_d(r29287, a, MPFR_RNDN);
        mpfr_set_d(r29288, b, MPFR_RNDN);
        mpfr_mul(r29289, r29287, r29288, MPFR_RNDN);
        mpfr_add(r29290, r29286, r29289, MPFR_RNDN);
        mpfr_set_d(r29291, c, MPFR_RNDN);
        mpfr_set_d(r29292, i, MPFR_RNDN);
        mpfr_mul(r29293, r29291, r29292, MPFR_RNDN);
        mpfr_add(r29294, r29290, r29293, MPFR_RNDN);
        return mpfr_get_d(r29294, MPFR_RNDN);
}

