#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 r29167 = x;
        float r29168 = y;
        float r29169 = r29167 * r29168;
        float r29170 = z;
        float r29171 = t;
        float r29172 = r29170 * r29171;
        float r29173 = r29169 + r29172;
        float r29174 = a;
        float r29175 = b;
        float r29176 = r29174 * r29175;
        float r29177 = r29173 + r29176;
        float r29178 = c;
        float r29179 = i;
        float r29180 = r29178 * r29179;
        float r29181 = r29177 + r29180;
        return r29181;
}

double f_id(double x, double y, double z, double t, double a, double b, double c, double i) {
        double r29182 = x;
        double r29183 = y;
        double r29184 = r29182 * r29183;
        double r29185 = z;
        double r29186 = t;
        double r29187 = r29185 * r29186;
        double r29188 = r29184 + r29187;
        double r29189 = a;
        double r29190 = b;
        double r29191 = r29189 * r29190;
        double r29192 = r29188 + r29191;
        double r29193 = c;
        double r29194 = i;
        double r29195 = r29193 * r29194;
        double r29196 = r29192 + r29195;
        return r29196;
}


double f_of(float x, float y, float z, float t, float a, float b, float c, float i) {
        float r29197 = x;
        float r29198 = y;
        float r29199 = r29197 * r29198;
        float r29200 = z;
        float r29201 = t;
        float r29202 = r29200 * r29201;
        float r29203 = r29199 + r29202;
        float r29204 = a;
        float r29205 = b;
        float r29206 = r29204 * r29205;
        float r29207 = r29203 + r29206;
        float r29208 = c;
        float r29209 = i;
        float r29210 = r29208 * r29209;
        float r29211 = r29207 + r29210;
        return r29211;
}

double f_od(double x, double y, double z, double t, double a, double b, double c, double i) {
        double r29212 = x;
        double r29213 = y;
        double r29214 = r29212 * r29213;
        double r29215 = z;
        double r29216 = t;
        double r29217 = r29215 * r29216;
        double r29218 = r29214 + r29217;
        double r29219 = a;
        double r29220 = b;
        double r29221 = r29219 * r29220;
        double r29222 = r29218 + r29221;
        double r29223 = c;
        double r29224 = i;
        double r29225 = r29223 * r29224;
        double r29226 = r29222 + r29225;
        return r29226;
}

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 r29227, r29228, r29229, r29230, r29231, r29232, r29233, r29234, r29235, r29236, r29237, r29238, r29239, r29240, r29241;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(400);
        mpfr_init(r29227);
        mpfr_init(r29228);
        mpfr_init(r29229);
        mpfr_init(r29230);
        mpfr_init(r29231);
        mpfr_init(r29232);
        mpfr_init(r29233);
        mpfr_init(r29234);
        mpfr_init(r29235);
        mpfr_init(r29236);
        mpfr_init(r29237);
        mpfr_init(r29238);
        mpfr_init(r29239);
        mpfr_init(r29240);
        mpfr_init(r29241);
}

double f_im(double x, double y, double z, double t, double a, double b, double c, double i) {
        mpfr_set_d(r29227, x, MPFR_RNDN);
        mpfr_set_d(r29228, y, MPFR_RNDN);
        mpfr_mul(r29229, r29227, r29228, MPFR_RNDN);
        mpfr_set_d(r29230, z, MPFR_RNDN);
        mpfr_set_d(r29231, t, MPFR_RNDN);
        mpfr_mul(r29232, r29230, r29231, MPFR_RNDN);
        mpfr_add(r29233, r29229, r29232, MPFR_RNDN);
        mpfr_set_d(r29234, a, MPFR_RNDN);
        mpfr_set_d(r29235, b, MPFR_RNDN);
        mpfr_mul(r29236, r29234, r29235, MPFR_RNDN);
        mpfr_add(r29237, r29233, r29236, MPFR_RNDN);
        mpfr_set_d(r29238, c, MPFR_RNDN);
        mpfr_set_d(r29239, i, MPFR_RNDN);
        mpfr_mul(r29240, r29238, r29239, MPFR_RNDN);
        mpfr_add(r29241, r29237, r29240, MPFR_RNDN);
        return mpfr_get_d(r29241, MPFR_RNDN);
}

static mpfr_t r29242, r29243, r29244, r29245, r29246, r29247, r29248, r29249, r29250, r29251, r29252, r29253, r29254, r29255, r29256;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(400);
        mpfr_init(r29242);
        mpfr_init(r29243);
        mpfr_init(r29244);
        mpfr_init(r29245);
        mpfr_init(r29246);
        mpfr_init(r29247);
        mpfr_init(r29248);
        mpfr_init(r29249);
        mpfr_init(r29250);
        mpfr_init(r29251);
        mpfr_init(r29252);
        mpfr_init(r29253);
        mpfr_init(r29254);
        mpfr_init(r29255);
        mpfr_init(r29256);
}

double f_fm(double x, double y, double z, double t, double a, double b, double c, double i) {
        mpfr_set_d(r29242, x, MPFR_RNDN);
        mpfr_set_d(r29243, y, MPFR_RNDN);
        mpfr_mul(r29244, r29242, r29243, MPFR_RNDN);
        mpfr_set_d(r29245, z, MPFR_RNDN);
        mpfr_set_d(r29246, t, MPFR_RNDN);
        mpfr_mul(r29247, r29245, r29246, MPFR_RNDN);
        mpfr_add(r29248, r29244, r29247, MPFR_RNDN);
        mpfr_set_d(r29249, a, MPFR_RNDN);
        mpfr_set_d(r29250, b, MPFR_RNDN);
        mpfr_mul(r29251, r29249, r29250, MPFR_RNDN);
        mpfr_add(r29252, r29248, r29251, MPFR_RNDN);
        mpfr_set_d(r29253, c, MPFR_RNDN);
        mpfr_set_d(r29254, i, MPFR_RNDN);
        mpfr_mul(r29255, r29253, r29254, MPFR_RNDN);
        mpfr_add(r29256, r29252, r29255, MPFR_RNDN);
        return mpfr_get_d(r29256, MPFR_RNDN);
}

static mpfr_t r29257, r29258, r29259, r29260, r29261, r29262, r29263, r29264, r29265, r29266, r29267, r29268, r29269, r29270, r29271;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(400);
        mpfr_init(r29257);
        mpfr_init(r29258);
        mpfr_init(r29259);
        mpfr_init(r29260);
        mpfr_init(r29261);
        mpfr_init(r29262);
        mpfr_init(r29263);
        mpfr_init(r29264);
        mpfr_init(r29265);
        mpfr_init(r29266);
        mpfr_init(r29267);
        mpfr_init(r29268);
        mpfr_init(r29269);
        mpfr_init(r29270);
        mpfr_init(r29271);
}

double f_dm(double x, double y, double z, double t, double a, double b, double c, double i) {
        mpfr_set_d(r29257, x, MPFR_RNDN);
        mpfr_set_d(r29258, y, MPFR_RNDN);
        mpfr_mul(r29259, r29257, r29258, MPFR_RNDN);
        mpfr_set_d(r29260, z, MPFR_RNDN);
        mpfr_set_d(r29261, t, MPFR_RNDN);
        mpfr_mul(r29262, r29260, r29261, MPFR_RNDN);
        mpfr_add(r29263, r29259, r29262, MPFR_RNDN);
        mpfr_set_d(r29264, a, MPFR_RNDN);
        mpfr_set_d(r29265, b, MPFR_RNDN);
        mpfr_mul(r29266, r29264, r29265, MPFR_RNDN);
        mpfr_add(r29267, r29263, r29266, MPFR_RNDN);
        mpfr_set_d(r29268, c, MPFR_RNDN);
        mpfr_set_d(r29269, i, MPFR_RNDN);
        mpfr_mul(r29270, r29268, r29269, MPFR_RNDN);
        mpfr_add(r29271, r29267, r29270, MPFR_RNDN);
        return mpfr_get_d(r29271, MPFR_RNDN);
}

