#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 r10063 = x;
        float r10064 = y;
        float r10065 = r10063 * r10064;
        float r10066 = z;
        float r10067 = t;
        float r10068 = r10066 * r10067;
        float r10069 = r10065 + r10068;
        float r10070 = a;
        float r10071 = b;
        float r10072 = r10070 * r10071;
        float r10073 = r10069 + r10072;
        float r10074 = c;
        float r10075 = i;
        float r10076 = r10074 * r10075;
        float r10077 = r10073 + r10076;
        return r10077;
}

double f_id(double x, double y, double z, double t, double a, double b, double c, double i) {
        double r10078 = x;
        double r10079 = y;
        double r10080 = r10078 * r10079;
        double r10081 = z;
        double r10082 = t;
        double r10083 = r10081 * r10082;
        double r10084 = r10080 + r10083;
        double r10085 = a;
        double r10086 = b;
        double r10087 = r10085 * r10086;
        double r10088 = r10084 + r10087;
        double r10089 = c;
        double r10090 = i;
        double r10091 = r10089 * r10090;
        double r10092 = r10088 + r10091;
        return r10092;
}


double f_of(float x, float y, float z, float t, float a, float b, float c, float i) {
        float r10093 = x;
        float r10094 = y;
        float r10095 = r10093 * r10094;
        float r10096 = z;
        float r10097 = t;
        float r10098 = r10096 * r10097;
        float r10099 = r10095 + r10098;
        float r10100 = a;
        float r10101 = b;
        float r10102 = r10100 * r10101;
        float r10103 = r10099 + r10102;
        float r10104 = c;
        float r10105 = i;
        float r10106 = r10104 * r10105;
        float r10107 = r10103 + r10106;
        return r10107;
}

double f_od(double x, double y, double z, double t, double a, double b, double c, double i) {
        double r10108 = x;
        double r10109 = y;
        double r10110 = r10108 * r10109;
        double r10111 = z;
        double r10112 = t;
        double r10113 = r10111 * r10112;
        double r10114 = r10110 + r10113;
        double r10115 = a;
        double r10116 = b;
        double r10117 = r10115 * r10116;
        double r10118 = r10114 + r10117;
        double r10119 = c;
        double r10120 = i;
        double r10121 = r10119 * r10120;
        double r10122 = r10118 + r10121;
        return r10122;
}

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 r10123, r10124, r10125, r10126, r10127, r10128, r10129, r10130, r10131, r10132, r10133, r10134, r10135, r10136, r10137;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(592);
        mpfr_init(r10123);
        mpfr_init(r10124);
        mpfr_init(r10125);
        mpfr_init(r10126);
        mpfr_init(r10127);
        mpfr_init(r10128);
        mpfr_init(r10129);
        mpfr_init(r10130);
        mpfr_init(r10131);
        mpfr_init(r10132);
        mpfr_init(r10133);
        mpfr_init(r10134);
        mpfr_init(r10135);
        mpfr_init(r10136);
        mpfr_init(r10137);
}

double f_im(double x, double y, double z, double t, double a, double b, double c, double i) {
        mpfr_set_d(r10123, x, MPFR_RNDN);
        mpfr_set_d(r10124, y, MPFR_RNDN);
        mpfr_mul(r10125, r10123, r10124, MPFR_RNDN);
        mpfr_set_d(r10126, z, MPFR_RNDN);
        mpfr_set_d(r10127, t, MPFR_RNDN);
        mpfr_mul(r10128, r10126, r10127, MPFR_RNDN);
        mpfr_add(r10129, r10125, r10128, MPFR_RNDN);
        mpfr_set_d(r10130, a, MPFR_RNDN);
        mpfr_set_d(r10131, b, MPFR_RNDN);
        mpfr_mul(r10132, r10130, r10131, MPFR_RNDN);
        mpfr_add(r10133, r10129, r10132, MPFR_RNDN);
        mpfr_set_d(r10134, c, MPFR_RNDN);
        mpfr_set_d(r10135, i, MPFR_RNDN);
        mpfr_mul(r10136, r10134, r10135, MPFR_RNDN);
        mpfr_add(r10137, r10133, r10136, MPFR_RNDN);
        return mpfr_get_d(r10137, MPFR_RNDN);
}

static mpfr_t r10138, r10139, r10140, r10141, r10142, r10143, r10144, r10145, r10146, r10147, r10148, r10149, r10150, r10151, r10152;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(592);
        mpfr_init(r10138);
        mpfr_init(r10139);
        mpfr_init(r10140);
        mpfr_init(r10141);
        mpfr_init(r10142);
        mpfr_init(r10143);
        mpfr_init(r10144);
        mpfr_init(r10145);
        mpfr_init(r10146);
        mpfr_init(r10147);
        mpfr_init(r10148);
        mpfr_init(r10149);
        mpfr_init(r10150);
        mpfr_init(r10151);
        mpfr_init(r10152);
}

double f_fm(double x, double y, double z, double t, double a, double b, double c, double i) {
        mpfr_set_d(r10138, x, MPFR_RNDN);
        mpfr_set_d(r10139, y, MPFR_RNDN);
        mpfr_mul(r10140, r10138, r10139, MPFR_RNDN);
        mpfr_set_d(r10141, z, MPFR_RNDN);
        mpfr_set_d(r10142, t, MPFR_RNDN);
        mpfr_mul(r10143, r10141, r10142, MPFR_RNDN);
        mpfr_add(r10144, r10140, r10143, MPFR_RNDN);
        mpfr_set_d(r10145, a, MPFR_RNDN);
        mpfr_set_d(r10146, b, MPFR_RNDN);
        mpfr_mul(r10147, r10145, r10146, MPFR_RNDN);
        mpfr_add(r10148, r10144, r10147, MPFR_RNDN);
        mpfr_set_d(r10149, c, MPFR_RNDN);
        mpfr_set_d(r10150, i, MPFR_RNDN);
        mpfr_mul(r10151, r10149, r10150, MPFR_RNDN);
        mpfr_add(r10152, r10148, r10151, MPFR_RNDN);
        return mpfr_get_d(r10152, MPFR_RNDN);
}

static mpfr_t r10153, r10154, r10155, r10156, r10157, r10158, r10159, r10160, r10161, r10162, r10163, r10164, r10165, r10166, r10167;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(592);
        mpfr_init(r10153);
        mpfr_init(r10154);
        mpfr_init(r10155);
        mpfr_init(r10156);
        mpfr_init(r10157);
        mpfr_init(r10158);
        mpfr_init(r10159);
        mpfr_init(r10160);
        mpfr_init(r10161);
        mpfr_init(r10162);
        mpfr_init(r10163);
        mpfr_init(r10164);
        mpfr_init(r10165);
        mpfr_init(r10166);
        mpfr_init(r10167);
}

double f_dm(double x, double y, double z, double t, double a, double b, double c, double i) {
        mpfr_set_d(r10153, x, MPFR_RNDN);
        mpfr_set_d(r10154, y, MPFR_RNDN);
        mpfr_mul(r10155, r10153, r10154, MPFR_RNDN);
        mpfr_set_d(r10156, z, MPFR_RNDN);
        mpfr_set_d(r10157, t, MPFR_RNDN);
        mpfr_mul(r10158, r10156, r10157, MPFR_RNDN);
        mpfr_add(r10159, r10155, r10158, MPFR_RNDN);
        mpfr_set_d(r10160, a, MPFR_RNDN);
        mpfr_set_d(r10161, b, MPFR_RNDN);
        mpfr_mul(r10162, r10160, r10161, MPFR_RNDN);
        mpfr_add(r10163, r10159, r10162, MPFR_RNDN);
        mpfr_set_d(r10164, c, MPFR_RNDN);
        mpfr_set_d(r10165, i, MPFR_RNDN);
        mpfr_mul(r10166, r10164, r10165, MPFR_RNDN);
        mpfr_add(r10167, r10163, r10166, MPFR_RNDN);
        return mpfr_get_d(r10167, MPFR_RNDN);
}

