#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 r23419 = x;
        float r23420 = y;
        float r23421 = r23419 * r23420;
        float r23422 = z;
        float r23423 = t;
        float r23424 = r23422 * r23423;
        float r23425 = r23421 + r23424;
        float r23426 = a;
        float r23427 = b;
        float r23428 = r23426 * r23427;
        float r23429 = r23425 + r23428;
        float r23430 = c;
        float r23431 = i;
        float r23432 = r23430 * r23431;
        float r23433 = r23429 + r23432;
        return r23433;
}

double f_id(double x, double y, double z, double t, double a, double b, double c, double i) {
        double r23434 = x;
        double r23435 = y;
        double r23436 = r23434 * r23435;
        double r23437 = z;
        double r23438 = t;
        double r23439 = r23437 * r23438;
        double r23440 = r23436 + r23439;
        double r23441 = a;
        double r23442 = b;
        double r23443 = r23441 * r23442;
        double r23444 = r23440 + r23443;
        double r23445 = c;
        double r23446 = i;
        double r23447 = r23445 * r23446;
        double r23448 = r23444 + r23447;
        return r23448;
}


double f_of(float x, float y, float z, float t, float a, float b, float c, float i) {
        float r23449 = x;
        float r23450 = y;
        float r23451 = r23449 * r23450;
        float r23452 = z;
        float r23453 = t;
        float r23454 = r23452 * r23453;
        float r23455 = r23451 + r23454;
        float r23456 = a;
        float r23457 = b;
        float r23458 = r23456 * r23457;
        float r23459 = r23455 + r23458;
        float r23460 = c;
        float r23461 = i;
        float r23462 = r23460 * r23461;
        float r23463 = r23459 + r23462;
        return r23463;
}

double f_od(double x, double y, double z, double t, double a, double b, double c, double i) {
        double r23464 = x;
        double r23465 = y;
        double r23466 = r23464 * r23465;
        double r23467 = z;
        double r23468 = t;
        double r23469 = r23467 * r23468;
        double r23470 = r23466 + r23469;
        double r23471 = a;
        double r23472 = b;
        double r23473 = r23471 * r23472;
        double r23474 = r23470 + r23473;
        double r23475 = c;
        double r23476 = i;
        double r23477 = r23475 * r23476;
        double r23478 = r23474 + r23477;
        return r23478;
}

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 r23479, r23480, r23481, r23482, r23483, r23484, r23485, r23486, r23487, r23488, r23489, r23490, r23491, r23492, r23493;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(592);
        mpfr_init(r23479);
        mpfr_init(r23480);
        mpfr_init(r23481);
        mpfr_init(r23482);
        mpfr_init(r23483);
        mpfr_init(r23484);
        mpfr_init(r23485);
        mpfr_init(r23486);
        mpfr_init(r23487);
        mpfr_init(r23488);
        mpfr_init(r23489);
        mpfr_init(r23490);
        mpfr_init(r23491);
        mpfr_init(r23492);
        mpfr_init(r23493);
}

double f_im(double x, double y, double z, double t, double a, double b, double c, double i) {
        mpfr_set_d(r23479, x, MPFR_RNDN);
        mpfr_set_d(r23480, y, MPFR_RNDN);
        mpfr_mul(r23481, r23479, r23480, MPFR_RNDN);
        mpfr_set_d(r23482, z, MPFR_RNDN);
        mpfr_set_d(r23483, t, MPFR_RNDN);
        mpfr_mul(r23484, r23482, r23483, MPFR_RNDN);
        mpfr_add(r23485, r23481, r23484, MPFR_RNDN);
        mpfr_set_d(r23486, a, MPFR_RNDN);
        mpfr_set_d(r23487, b, MPFR_RNDN);
        mpfr_mul(r23488, r23486, r23487, MPFR_RNDN);
        mpfr_add(r23489, r23485, r23488, MPFR_RNDN);
        mpfr_set_d(r23490, c, MPFR_RNDN);
        mpfr_set_d(r23491, i, MPFR_RNDN);
        mpfr_mul(r23492, r23490, r23491, MPFR_RNDN);
        mpfr_add(r23493, r23489, r23492, MPFR_RNDN);
        return mpfr_get_d(r23493, MPFR_RNDN);
}

static mpfr_t r23494, r23495, r23496, r23497, r23498, r23499, r23500, r23501, r23502, r23503, r23504, r23505, r23506, r23507, r23508;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(592);
        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);
        mpfr_init(r23503);
        mpfr_init(r23504);
        mpfr_init(r23505);
        mpfr_init(r23506);
        mpfr_init(r23507);
        mpfr_init(r23508);
}

double f_fm(double x, double y, double z, double t, double a, double b, double c, double i) {
        mpfr_set_d(r23494, x, MPFR_RNDN);
        mpfr_set_d(r23495, y, MPFR_RNDN);
        mpfr_mul(r23496, r23494, r23495, MPFR_RNDN);
        mpfr_set_d(r23497, z, MPFR_RNDN);
        mpfr_set_d(r23498, t, MPFR_RNDN);
        mpfr_mul(r23499, r23497, r23498, MPFR_RNDN);
        mpfr_add(r23500, r23496, r23499, MPFR_RNDN);
        mpfr_set_d(r23501, a, MPFR_RNDN);
        mpfr_set_d(r23502, b, MPFR_RNDN);
        mpfr_mul(r23503, r23501, r23502, MPFR_RNDN);
        mpfr_add(r23504, r23500, r23503, MPFR_RNDN);
        mpfr_set_d(r23505, c, MPFR_RNDN);
        mpfr_set_d(r23506, i, MPFR_RNDN);
        mpfr_mul(r23507, r23505, r23506, MPFR_RNDN);
        mpfr_add(r23508, r23504, r23507, MPFR_RNDN);
        return mpfr_get_d(r23508, MPFR_RNDN);
}

static mpfr_t r23509, r23510, r23511, r23512, r23513, r23514, r23515, r23516, r23517, r23518, r23519, r23520, r23521, r23522, r23523;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(592);
        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);
        mpfr_init(r23518);
        mpfr_init(r23519);
        mpfr_init(r23520);
        mpfr_init(r23521);
        mpfr_init(r23522);
        mpfr_init(r23523);
}

double f_dm(double x, double y, double z, double t, double a, double b, double c, double i) {
        mpfr_set_d(r23509, x, MPFR_RNDN);
        mpfr_set_d(r23510, y, MPFR_RNDN);
        mpfr_mul(r23511, r23509, r23510, MPFR_RNDN);
        mpfr_set_d(r23512, z, MPFR_RNDN);
        mpfr_set_d(r23513, t, MPFR_RNDN);
        mpfr_mul(r23514, r23512, r23513, MPFR_RNDN);
        mpfr_add(r23515, r23511, r23514, MPFR_RNDN);
        mpfr_set_d(r23516, a, MPFR_RNDN);
        mpfr_set_d(r23517, b, MPFR_RNDN);
        mpfr_mul(r23518, r23516, r23517, MPFR_RNDN);
        mpfr_add(r23519, r23515, r23518, MPFR_RNDN);
        mpfr_set_d(r23520, c, MPFR_RNDN);
        mpfr_set_d(r23521, i, MPFR_RNDN);
        mpfr_mul(r23522, r23520, r23521, MPFR_RNDN);
        mpfr_add(r23523, r23519, r23522, MPFR_RNDN);
        return mpfr_get_d(r23523, MPFR_RNDN);
}

