#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 r29107 = x;
        float r29108 = y;
        float r29109 = r29107 * r29108;
        float r29110 = z;
        float r29111 = t;
        float r29112 = r29110 * r29111;
        float r29113 = r29109 + r29112;
        float r29114 = a;
        float r29115 = b;
        float r29116 = r29114 * r29115;
        float r29117 = r29113 + r29116;
        float r29118 = c;
        float r29119 = i;
        float r29120 = r29118 * r29119;
        float r29121 = r29117 + r29120;
        return r29121;
}

double f_id(double x, double y, double z, double t, double a, double b, double c, double i) {
        double r29122 = x;
        double r29123 = y;
        double r29124 = r29122 * r29123;
        double r29125 = z;
        double r29126 = t;
        double r29127 = r29125 * r29126;
        double r29128 = r29124 + r29127;
        double r29129 = a;
        double r29130 = b;
        double r29131 = r29129 * r29130;
        double r29132 = r29128 + r29131;
        double r29133 = c;
        double r29134 = i;
        double r29135 = r29133 * r29134;
        double r29136 = r29132 + r29135;
        return r29136;
}


double f_of(float x, float y, float z, float t, float a, float b, float c, float i) {
        float r29137 = x;
        float r29138 = y;
        float r29139 = r29137 * r29138;
        float r29140 = z;
        float r29141 = t;
        float r29142 = r29140 * r29141;
        float r29143 = r29139 + r29142;
        float r29144 = a;
        float r29145 = b;
        float r29146 = r29144 * r29145;
        float r29147 = r29143 + r29146;
        float r29148 = c;
        float r29149 = i;
        float r29150 = r29148 * r29149;
        float r29151 = r29147 + r29150;
        return r29151;
}

double f_od(double x, double y, double z, double t, double a, double b, double c, double i) {
        double r29152 = x;
        double r29153 = y;
        double r29154 = r29152 * r29153;
        double r29155 = z;
        double r29156 = t;
        double r29157 = r29155 * r29156;
        double r29158 = r29154 + r29157;
        double r29159 = a;
        double r29160 = b;
        double r29161 = r29159 * r29160;
        double r29162 = r29158 + r29161;
        double r29163 = c;
        double r29164 = i;
        double r29165 = r29163 * r29164;
        double r29166 = r29162 + r29165;
        return r29166;
}

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 r29167, r29168, r29169, r29170, r29171, r29172, r29173, r29174, r29175, r29176, r29177, r29178, r29179, r29180, r29181;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(400);
        mpfr_init(r29167);
        mpfr_init(r29168);
        mpfr_init(r29169);
        mpfr_init(r29170);
        mpfr_init(r29171);
        mpfr_init(r29172);
        mpfr_init(r29173);
        mpfr_init(r29174);
        mpfr_init(r29175);
        mpfr_init(r29176);
        mpfr_init(r29177);
        mpfr_init(r29178);
        mpfr_init(r29179);
        mpfr_init(r29180);
        mpfr_init(r29181);
}

double f_im(double x, double y, double z, double t, double a, double b, double c, double i) {
        mpfr_set_d(r29167, x, MPFR_RNDN);
        mpfr_set_d(r29168, y, MPFR_RNDN);
        mpfr_mul(r29169, r29167, r29168, MPFR_RNDN);
        mpfr_set_d(r29170, z, MPFR_RNDN);
        mpfr_set_d(r29171, t, MPFR_RNDN);
        mpfr_mul(r29172, r29170, r29171, MPFR_RNDN);
        mpfr_add(r29173, r29169, r29172, MPFR_RNDN);
        mpfr_set_d(r29174, a, MPFR_RNDN);
        mpfr_set_d(r29175, b, MPFR_RNDN);
        mpfr_mul(r29176, r29174, r29175, MPFR_RNDN);
        mpfr_add(r29177, r29173, r29176, MPFR_RNDN);
        mpfr_set_d(r29178, c, MPFR_RNDN);
        mpfr_set_d(r29179, i, MPFR_RNDN);
        mpfr_mul(r29180, r29178, r29179, MPFR_RNDN);
        mpfr_add(r29181, r29177, r29180, MPFR_RNDN);
        return mpfr_get_d(r29181, MPFR_RNDN);
}

static mpfr_t r29182, r29183, r29184, r29185, r29186, r29187, r29188, r29189, r29190, r29191, r29192, r29193, r29194, r29195, r29196;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(400);
        mpfr_init(r29182);
        mpfr_init(r29183);
        mpfr_init(r29184);
        mpfr_init(r29185);
        mpfr_init(r29186);
        mpfr_init(r29187);
        mpfr_init(r29188);
        mpfr_init(r29189);
        mpfr_init(r29190);
        mpfr_init(r29191);
        mpfr_init(r29192);
        mpfr_init(r29193);
        mpfr_init(r29194);
        mpfr_init(r29195);
        mpfr_init(r29196);
}

double f_fm(double x, double y, double z, double t, double a, double b, double c, double i) {
        mpfr_set_d(r29182, x, MPFR_RNDN);
        mpfr_set_d(r29183, y, MPFR_RNDN);
        mpfr_mul(r29184, r29182, r29183, MPFR_RNDN);
        mpfr_set_d(r29185, z, MPFR_RNDN);
        mpfr_set_d(r29186, t, MPFR_RNDN);
        mpfr_mul(r29187, r29185, r29186, MPFR_RNDN);
        mpfr_add(r29188, r29184, r29187, MPFR_RNDN);
        mpfr_set_d(r29189, a, MPFR_RNDN);
        mpfr_set_d(r29190, b, MPFR_RNDN);
        mpfr_mul(r29191, r29189, r29190, MPFR_RNDN);
        mpfr_add(r29192, r29188, r29191, MPFR_RNDN);
        mpfr_set_d(r29193, c, MPFR_RNDN);
        mpfr_set_d(r29194, i, MPFR_RNDN);
        mpfr_mul(r29195, r29193, r29194, MPFR_RNDN);
        mpfr_add(r29196, r29192, r29195, MPFR_RNDN);
        return mpfr_get_d(r29196, MPFR_RNDN);
}

static mpfr_t r29197, r29198, r29199, r29200, r29201, r29202, r29203, r29204, r29205, r29206, r29207, r29208, r29209, r29210, r29211;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(400);
        mpfr_init(r29197);
        mpfr_init(r29198);
        mpfr_init(r29199);
        mpfr_init(r29200);
        mpfr_init(r29201);
        mpfr_init(r29202);
        mpfr_init(r29203);
        mpfr_init(r29204);
        mpfr_init(r29205);
        mpfr_init(r29206);
        mpfr_init(r29207);
        mpfr_init(r29208);
        mpfr_init(r29209);
        mpfr_init(r29210);
        mpfr_init(r29211);
}

double f_dm(double x, double y, double z, double t, double a, double b, double c, double i) {
        mpfr_set_d(r29197, x, MPFR_RNDN);
        mpfr_set_d(r29198, y, MPFR_RNDN);
        mpfr_mul(r29199, r29197, r29198, MPFR_RNDN);
        mpfr_set_d(r29200, z, MPFR_RNDN);
        mpfr_set_d(r29201, t, MPFR_RNDN);
        mpfr_mul(r29202, r29200, r29201, MPFR_RNDN);
        mpfr_add(r29203, r29199, r29202, MPFR_RNDN);
        mpfr_set_d(r29204, a, MPFR_RNDN);
        mpfr_set_d(r29205, b, MPFR_RNDN);
        mpfr_mul(r29206, r29204, r29205, MPFR_RNDN);
        mpfr_add(r29207, r29203, r29206, MPFR_RNDN);
        mpfr_set_d(r29208, c, MPFR_RNDN);
        mpfr_set_d(r29209, i, MPFR_RNDN);
        mpfr_mul(r29210, r29208, r29209, MPFR_RNDN);
        mpfr_add(r29211, r29207, r29210, MPFR_RNDN);
        return mpfr_get_d(r29211, MPFR_RNDN);
}

