#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 r28986 = x;
        float r28987 = y;
        float r28988 = r28986 * r28987;
        float r28989 = z;
        float r28990 = t;
        float r28991 = r28989 * r28990;
        float r28992 = r28988 + r28991;
        float r28993 = a;
        float r28994 = b;
        float r28995 = r28993 * r28994;
        float r28996 = r28992 + r28995;
        float r28997 = c;
        float r28998 = i;
        float r28999 = r28997 * r28998;
        float r29000 = r28996 + r28999;
        return r29000;
}

double f_id(double x, double y, double z, double t, double a, double b, double c, double i) {
        double r29001 = x;
        double r29002 = y;
        double r29003 = r29001 * r29002;
        double r29004 = z;
        double r29005 = t;
        double r29006 = r29004 * r29005;
        double r29007 = r29003 + r29006;
        double r29008 = a;
        double r29009 = b;
        double r29010 = r29008 * r29009;
        double r29011 = r29007 + r29010;
        double r29012 = c;
        double r29013 = i;
        double r29014 = r29012 * r29013;
        double r29015 = r29011 + r29014;
        return r29015;
}


double f_of(float x, float y, float z, float t, float a, float b, float c, float i) {
        float r29016 = x;
        float r29017 = y;
        float r29018 = r29016 * r29017;
        float r29019 = z;
        float r29020 = t;
        float r29021 = r29019 * r29020;
        float r29022 = r29018 + r29021;
        float r29023 = a;
        float r29024 = b;
        float r29025 = r29023 * r29024;
        float r29026 = r29022 + r29025;
        float r29027 = c;
        float r29028 = i;
        float r29029 = r29027 * r29028;
        float r29030 = r29026 + r29029;
        return r29030;
}

double f_od(double x, double y, double z, double t, double a, double b, double c, double i) {
        double r29031 = x;
        double r29032 = y;
        double r29033 = r29031 * r29032;
        double r29034 = z;
        double r29035 = t;
        double r29036 = r29034 * r29035;
        double r29037 = r29033 + r29036;
        double r29038 = a;
        double r29039 = b;
        double r29040 = r29038 * r29039;
        double r29041 = r29037 + r29040;
        double r29042 = c;
        double r29043 = i;
        double r29044 = r29042 * r29043;
        double r29045 = r29041 + r29044;
        return r29045;
}

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 r29046, r29047, r29048, r29049, r29050, r29051, r29052, r29053, r29054, r29055, r29056, r29057, r29058, r29059, r29060;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(400);
        mpfr_init(r29046);
        mpfr_init(r29047);
        mpfr_init(r29048);
        mpfr_init(r29049);
        mpfr_init(r29050);
        mpfr_init(r29051);
        mpfr_init(r29052);
        mpfr_init(r29053);
        mpfr_init(r29054);
        mpfr_init(r29055);
        mpfr_init(r29056);
        mpfr_init(r29057);
        mpfr_init(r29058);
        mpfr_init(r29059);
        mpfr_init(r29060);
}

double f_im(double x, double y, double z, double t, double a, double b, double c, double i) {
        mpfr_set_d(r29046, x, MPFR_RNDN);
        mpfr_set_d(r29047, y, MPFR_RNDN);
        mpfr_mul(r29048, r29046, r29047, MPFR_RNDN);
        mpfr_set_d(r29049, z, MPFR_RNDN);
        mpfr_set_d(r29050, t, MPFR_RNDN);
        mpfr_mul(r29051, r29049, r29050, MPFR_RNDN);
        mpfr_add(r29052, r29048, r29051, MPFR_RNDN);
        mpfr_set_d(r29053, a, MPFR_RNDN);
        mpfr_set_d(r29054, b, MPFR_RNDN);
        mpfr_mul(r29055, r29053, r29054, MPFR_RNDN);
        mpfr_add(r29056, r29052, r29055, MPFR_RNDN);
        mpfr_set_d(r29057, c, MPFR_RNDN);
        mpfr_set_d(r29058, i, MPFR_RNDN);
        mpfr_mul(r29059, r29057, r29058, MPFR_RNDN);
        mpfr_add(r29060, r29056, r29059, MPFR_RNDN);
        return mpfr_get_d(r29060, MPFR_RNDN);
}

static mpfr_t r29061, r29062, r29063, r29064, r29065, r29066, r29067, r29068, r29069, r29070, r29071, r29072, r29073, r29074, r29075;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(400);
        mpfr_init(r29061);
        mpfr_init(r29062);
        mpfr_init(r29063);
        mpfr_init(r29064);
        mpfr_init(r29065);
        mpfr_init(r29066);
        mpfr_init(r29067);
        mpfr_init(r29068);
        mpfr_init(r29069);
        mpfr_init(r29070);
        mpfr_init(r29071);
        mpfr_init(r29072);
        mpfr_init(r29073);
        mpfr_init(r29074);
        mpfr_init(r29075);
}

double f_fm(double x, double y, double z, double t, double a, double b, double c, double i) {
        mpfr_set_d(r29061, x, MPFR_RNDN);
        mpfr_set_d(r29062, y, MPFR_RNDN);
        mpfr_mul(r29063, r29061, r29062, MPFR_RNDN);
        mpfr_set_d(r29064, z, MPFR_RNDN);
        mpfr_set_d(r29065, t, MPFR_RNDN);
        mpfr_mul(r29066, r29064, r29065, MPFR_RNDN);
        mpfr_add(r29067, r29063, r29066, MPFR_RNDN);
        mpfr_set_d(r29068, a, MPFR_RNDN);
        mpfr_set_d(r29069, b, MPFR_RNDN);
        mpfr_mul(r29070, r29068, r29069, MPFR_RNDN);
        mpfr_add(r29071, r29067, r29070, MPFR_RNDN);
        mpfr_set_d(r29072, c, MPFR_RNDN);
        mpfr_set_d(r29073, i, MPFR_RNDN);
        mpfr_mul(r29074, r29072, r29073, MPFR_RNDN);
        mpfr_add(r29075, r29071, r29074, MPFR_RNDN);
        return mpfr_get_d(r29075, MPFR_RNDN);
}

static mpfr_t r29076, r29077, r29078, r29079, r29080, r29081, r29082, r29083, r29084, r29085, r29086, r29087, r29088, r29089, r29090;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(400);
        mpfr_init(r29076);
        mpfr_init(r29077);
        mpfr_init(r29078);
        mpfr_init(r29079);
        mpfr_init(r29080);
        mpfr_init(r29081);
        mpfr_init(r29082);
        mpfr_init(r29083);
        mpfr_init(r29084);
        mpfr_init(r29085);
        mpfr_init(r29086);
        mpfr_init(r29087);
        mpfr_init(r29088);
        mpfr_init(r29089);
        mpfr_init(r29090);
}

double f_dm(double x, double y, double z, double t, double a, double b, double c, double i) {
        mpfr_set_d(r29076, x, MPFR_RNDN);
        mpfr_set_d(r29077, y, MPFR_RNDN);
        mpfr_mul(r29078, r29076, r29077, MPFR_RNDN);
        mpfr_set_d(r29079, z, MPFR_RNDN);
        mpfr_set_d(r29080, t, MPFR_RNDN);
        mpfr_mul(r29081, r29079, r29080, MPFR_RNDN);
        mpfr_add(r29082, r29078, r29081, MPFR_RNDN);
        mpfr_set_d(r29083, a, MPFR_RNDN);
        mpfr_set_d(r29084, b, MPFR_RNDN);
        mpfr_mul(r29085, r29083, r29084, MPFR_RNDN);
        mpfr_add(r29086, r29082, r29085, MPFR_RNDN);
        mpfr_set_d(r29087, c, MPFR_RNDN);
        mpfr_set_d(r29088, i, MPFR_RNDN);
        mpfr_mul(r29089, r29087, r29088, MPFR_RNDN);
        mpfr_add(r29090, r29086, r29089, MPFR_RNDN);
        return mpfr_get_d(r29090, MPFR_RNDN);
}

