#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 r23428 = x;
        float r23429 = y;
        float r23430 = r23428 * r23429;
        float r23431 = z;
        float r23432 = t;
        float r23433 = r23431 * r23432;
        float r23434 = r23430 + r23433;
        float r23435 = a;
        float r23436 = b;
        float r23437 = r23435 * r23436;
        float r23438 = r23434 + r23437;
        float r23439 = c;
        float r23440 = i;
        float r23441 = r23439 * r23440;
        float r23442 = r23438 + r23441;
        return r23442;
}

double f_id(double x, double y, double z, double t, double a, double b, double c, double i) {
        double r23443 = x;
        double r23444 = y;
        double r23445 = r23443 * r23444;
        double r23446 = z;
        double r23447 = t;
        double r23448 = r23446 * r23447;
        double r23449 = r23445 + r23448;
        double r23450 = a;
        double r23451 = b;
        double r23452 = r23450 * r23451;
        double r23453 = r23449 + r23452;
        double r23454 = c;
        double r23455 = i;
        double r23456 = r23454 * r23455;
        double r23457 = r23453 + r23456;
        return r23457;
}


double f_of(float x, float y, float z, float t, float a, float b, float c, float i) {
        float r23458 = x;
        float r23459 = y;
        float r23460 = r23458 * r23459;
        float r23461 = z;
        float r23462 = t;
        float r23463 = r23461 * r23462;
        float r23464 = r23460 + r23463;
        float r23465 = a;
        float r23466 = b;
        float r23467 = r23465 * r23466;
        float r23468 = r23464 + r23467;
        float r23469 = c;
        float r23470 = i;
        float r23471 = r23469 * r23470;
        float r23472 = r23468 + r23471;
        return r23472;
}

double f_od(double x, double y, double z, double t, double a, double b, double c, double i) {
        double r23473 = x;
        double r23474 = y;
        double r23475 = r23473 * r23474;
        double r23476 = z;
        double r23477 = t;
        double r23478 = r23476 * r23477;
        double r23479 = r23475 + r23478;
        double r23480 = a;
        double r23481 = b;
        double r23482 = r23480 * r23481;
        double r23483 = r23479 + r23482;
        double r23484 = c;
        double r23485 = i;
        double r23486 = r23484 * r23485;
        double r23487 = r23483 + r23486;
        return r23487;
}

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 r23488, r23489, r23490, r23491, r23492, r23493, r23494, r23495, r23496, r23497, r23498, r23499, r23500, r23501, r23502;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(592);
        mpfr_init(r23488);
        mpfr_init(r23489);
        mpfr_init(r23490);
        mpfr_init(r23491);
        mpfr_init(r23492);
        mpfr_init(r23493);
        mpfr_init(r23494);
        mpfr_init(r23495);
        mpfr_init(r23496);
        mpfr_init(r23497);
        mpfr_init(r23498);
        mpfr_init(r23499);
        mpfr_init(r23500);
        mpfr_init(r23501);
        mpfr_init(r23502);
}

double f_im(double x, double y, double z, double t, double a, double b, double c, double i) {
        mpfr_set_d(r23488, x, MPFR_RNDN);
        mpfr_set_d(r23489, y, MPFR_RNDN);
        mpfr_mul(r23490, r23488, r23489, MPFR_RNDN);
        mpfr_set_d(r23491, z, MPFR_RNDN);
        mpfr_set_d(r23492, t, MPFR_RNDN);
        mpfr_mul(r23493, r23491, r23492, MPFR_RNDN);
        mpfr_add(r23494, r23490, r23493, MPFR_RNDN);
        mpfr_set_d(r23495, a, MPFR_RNDN);
        mpfr_set_d(r23496, b, MPFR_RNDN);
        mpfr_mul(r23497, r23495, r23496, MPFR_RNDN);
        mpfr_add(r23498, r23494, r23497, MPFR_RNDN);
        mpfr_set_d(r23499, c, MPFR_RNDN);
        mpfr_set_d(r23500, i, MPFR_RNDN);
        mpfr_mul(r23501, r23499, r23500, MPFR_RNDN);
        mpfr_add(r23502, r23498, r23501, MPFR_RNDN);
        return mpfr_get_d(r23502, MPFR_RNDN);
}

static mpfr_t r23503, r23504, r23505, r23506, r23507, r23508, r23509, r23510, r23511, r23512, r23513, r23514, r23515, r23516, r23517;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(592);
        mpfr_init(r23503);
        mpfr_init(r23504);
        mpfr_init(r23505);
        mpfr_init(r23506);
        mpfr_init(r23507);
        mpfr_init(r23508);
        mpfr_init(r23509);
        mpfr_init(r23510);
        mpfr_init(r23511);
        mpfr_init(r23512);
        mpfr_init(r23513);
        mpfr_init(r23514);
        mpfr_init(r23515);
        mpfr_init(r23516);
        mpfr_init(r23517);
}

double f_fm(double x, double y, double z, double t, double a, double b, double c, double i) {
        mpfr_set_d(r23503, x, MPFR_RNDN);
        mpfr_set_d(r23504, y, MPFR_RNDN);
        mpfr_mul(r23505, r23503, r23504, MPFR_RNDN);
        mpfr_set_d(r23506, z, MPFR_RNDN);
        mpfr_set_d(r23507, t, MPFR_RNDN);
        mpfr_mul(r23508, r23506, r23507, MPFR_RNDN);
        mpfr_add(r23509, r23505, r23508, MPFR_RNDN);
        mpfr_set_d(r23510, a, MPFR_RNDN);
        mpfr_set_d(r23511, b, MPFR_RNDN);
        mpfr_mul(r23512, r23510, r23511, MPFR_RNDN);
        mpfr_add(r23513, r23509, r23512, MPFR_RNDN);
        mpfr_set_d(r23514, c, MPFR_RNDN);
        mpfr_set_d(r23515, i, MPFR_RNDN);
        mpfr_mul(r23516, r23514, r23515, MPFR_RNDN);
        mpfr_add(r23517, r23513, r23516, MPFR_RNDN);
        return mpfr_get_d(r23517, MPFR_RNDN);
}

static mpfr_t r23518, r23519, r23520, r23521, r23522, r23523, r23524, r23525, r23526, r23527, r23528, r23529, r23530, r23531, r23532;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(592);
        mpfr_init(r23518);
        mpfr_init(r23519);
        mpfr_init(r23520);
        mpfr_init(r23521);
        mpfr_init(r23522);
        mpfr_init(r23523);
        mpfr_init(r23524);
        mpfr_init(r23525);
        mpfr_init(r23526);
        mpfr_init(r23527);
        mpfr_init(r23528);
        mpfr_init(r23529);
        mpfr_init(r23530);
        mpfr_init(r23531);
        mpfr_init(r23532);
}

double f_dm(double x, double y, double z, double t, double a, double b, double c, double i) {
        mpfr_set_d(r23518, x, MPFR_RNDN);
        mpfr_set_d(r23519, y, MPFR_RNDN);
        mpfr_mul(r23520, r23518, r23519, MPFR_RNDN);
        mpfr_set_d(r23521, z, MPFR_RNDN);
        mpfr_set_d(r23522, t, MPFR_RNDN);
        mpfr_mul(r23523, r23521, r23522, MPFR_RNDN);
        mpfr_add(r23524, r23520, r23523, MPFR_RNDN);
        mpfr_set_d(r23525, a, MPFR_RNDN);
        mpfr_set_d(r23526, b, MPFR_RNDN);
        mpfr_mul(r23527, r23525, r23526, MPFR_RNDN);
        mpfr_add(r23528, r23524, r23527, MPFR_RNDN);
        mpfr_set_d(r23529, c, MPFR_RNDN);
        mpfr_set_d(r23530, i, MPFR_RNDN);
        mpfr_mul(r23531, r23529, r23530, MPFR_RNDN);
        mpfr_add(r23532, r23528, r23531, MPFR_RNDN);
        return mpfr_get_d(r23532, MPFR_RNDN);
}

