#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 r5443 = x;
        float r5444 = y;
        float r5445 = r5443 * r5444;
        float r5446 = z;
        float r5447 = t;
        float r5448 = r5446 * r5447;
        float r5449 = r5445 + r5448;
        float r5450 = a;
        float r5451 = b;
        float r5452 = r5450 * r5451;
        float r5453 = r5449 + r5452;
        float r5454 = c;
        float r5455 = i;
        float r5456 = r5454 * r5455;
        float r5457 = r5453 + r5456;
        return r5457;
}

double f_id(double x, double y, double z, double t, double a, double b, double c, double i) {
        double r5458 = x;
        double r5459 = y;
        double r5460 = r5458 * r5459;
        double r5461 = z;
        double r5462 = t;
        double r5463 = r5461 * r5462;
        double r5464 = r5460 + r5463;
        double r5465 = a;
        double r5466 = b;
        double r5467 = r5465 * r5466;
        double r5468 = r5464 + r5467;
        double r5469 = c;
        double r5470 = i;
        double r5471 = r5469 * r5470;
        double r5472 = r5468 + r5471;
        return r5472;
}


double f_of(float x, float y, float z, float t, float a, float b, float c, float i) {
        float r5473 = x;
        float r5474 = y;
        float r5475 = r5473 * r5474;
        float r5476 = z;
        float r5477 = t;
        float r5478 = r5476 * r5477;
        float r5479 = r5475 + r5478;
        float r5480 = a;
        float r5481 = b;
        float r5482 = r5480 * r5481;
        float r5483 = r5479 + r5482;
        float r5484 = c;
        float r5485 = i;
        float r5486 = r5484 * r5485;
        float r5487 = r5483 + r5486;
        return r5487;
}

double f_od(double x, double y, double z, double t, double a, double b, double c, double i) {
        double r5488 = x;
        double r5489 = y;
        double r5490 = r5488 * r5489;
        double r5491 = z;
        double r5492 = t;
        double r5493 = r5491 * r5492;
        double r5494 = r5490 + r5493;
        double r5495 = a;
        double r5496 = b;
        double r5497 = r5495 * r5496;
        double r5498 = r5494 + r5497;
        double r5499 = c;
        double r5500 = i;
        double r5501 = r5499 * r5500;
        double r5502 = r5498 + r5501;
        return r5502;
}

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 r5503, r5504, r5505, r5506, r5507, r5508, r5509, r5510, r5511, r5512, r5513, r5514, r5515, r5516, r5517;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(592);
        mpfr_init(r5503);
        mpfr_init(r5504);
        mpfr_init(r5505);
        mpfr_init(r5506);
        mpfr_init(r5507);
        mpfr_init(r5508);
        mpfr_init(r5509);
        mpfr_init(r5510);
        mpfr_init(r5511);
        mpfr_init(r5512);
        mpfr_init(r5513);
        mpfr_init(r5514);
        mpfr_init(r5515);
        mpfr_init(r5516);
        mpfr_init(r5517);
}

double f_im(double x, double y, double z, double t, double a, double b, double c, double i) {
        mpfr_set_d(r5503, x, MPFR_RNDN);
        mpfr_set_d(r5504, y, MPFR_RNDN);
        mpfr_mul(r5505, r5503, r5504, MPFR_RNDN);
        mpfr_set_d(r5506, z, MPFR_RNDN);
        mpfr_set_d(r5507, t, MPFR_RNDN);
        mpfr_mul(r5508, r5506, r5507, MPFR_RNDN);
        mpfr_add(r5509, r5505, r5508, MPFR_RNDN);
        mpfr_set_d(r5510, a, MPFR_RNDN);
        mpfr_set_d(r5511, b, MPFR_RNDN);
        mpfr_mul(r5512, r5510, r5511, MPFR_RNDN);
        mpfr_add(r5513, r5509, r5512, MPFR_RNDN);
        mpfr_set_d(r5514, c, MPFR_RNDN);
        mpfr_set_d(r5515, i, MPFR_RNDN);
        mpfr_mul(r5516, r5514, r5515, MPFR_RNDN);
        mpfr_add(r5517, r5513, r5516, MPFR_RNDN);
        return mpfr_get_d(r5517, MPFR_RNDN);
}

static mpfr_t r5518, r5519, r5520, r5521, r5522, r5523, r5524, r5525, r5526, r5527, r5528, r5529, r5530, r5531, r5532;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(592);
        mpfr_init(r5518);
        mpfr_init(r5519);
        mpfr_init(r5520);
        mpfr_init(r5521);
        mpfr_init(r5522);
        mpfr_init(r5523);
        mpfr_init(r5524);
        mpfr_init(r5525);
        mpfr_init(r5526);
        mpfr_init(r5527);
        mpfr_init(r5528);
        mpfr_init(r5529);
        mpfr_init(r5530);
        mpfr_init(r5531);
        mpfr_init(r5532);
}

double f_fm(double x, double y, double z, double t, double a, double b, double c, double i) {
        mpfr_set_d(r5518, x, MPFR_RNDN);
        mpfr_set_d(r5519, y, MPFR_RNDN);
        mpfr_mul(r5520, r5518, r5519, MPFR_RNDN);
        mpfr_set_d(r5521, z, MPFR_RNDN);
        mpfr_set_d(r5522, t, MPFR_RNDN);
        mpfr_mul(r5523, r5521, r5522, MPFR_RNDN);
        mpfr_add(r5524, r5520, r5523, MPFR_RNDN);
        mpfr_set_d(r5525, a, MPFR_RNDN);
        mpfr_set_d(r5526, b, MPFR_RNDN);
        mpfr_mul(r5527, r5525, r5526, MPFR_RNDN);
        mpfr_add(r5528, r5524, r5527, MPFR_RNDN);
        mpfr_set_d(r5529, c, MPFR_RNDN);
        mpfr_set_d(r5530, i, MPFR_RNDN);
        mpfr_mul(r5531, r5529, r5530, MPFR_RNDN);
        mpfr_add(r5532, r5528, r5531, MPFR_RNDN);
        return mpfr_get_d(r5532, MPFR_RNDN);
}

static mpfr_t r5533, r5534, r5535, r5536, r5537, r5538, r5539, r5540, r5541, r5542, r5543, r5544, r5545, r5546, r5547;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(592);
        mpfr_init(r5533);
        mpfr_init(r5534);
        mpfr_init(r5535);
        mpfr_init(r5536);
        mpfr_init(r5537);
        mpfr_init(r5538);
        mpfr_init(r5539);
        mpfr_init(r5540);
        mpfr_init(r5541);
        mpfr_init(r5542);
        mpfr_init(r5543);
        mpfr_init(r5544);
        mpfr_init(r5545);
        mpfr_init(r5546);
        mpfr_init(r5547);
}

double f_dm(double x, double y, double z, double t, double a, double b, double c, double i) {
        mpfr_set_d(r5533, x, MPFR_RNDN);
        mpfr_set_d(r5534, y, MPFR_RNDN);
        mpfr_mul(r5535, r5533, r5534, MPFR_RNDN);
        mpfr_set_d(r5536, z, MPFR_RNDN);
        mpfr_set_d(r5537, t, MPFR_RNDN);
        mpfr_mul(r5538, r5536, r5537, MPFR_RNDN);
        mpfr_add(r5539, r5535, r5538, MPFR_RNDN);
        mpfr_set_d(r5540, a, MPFR_RNDN);
        mpfr_set_d(r5541, b, MPFR_RNDN);
        mpfr_mul(r5542, r5540, r5541, MPFR_RNDN);
        mpfr_add(r5543, r5539, r5542, MPFR_RNDN);
        mpfr_set_d(r5544, c, MPFR_RNDN);
        mpfr_set_d(r5545, i, MPFR_RNDN);
        mpfr_mul(r5546, r5544, r5545, MPFR_RNDN);
        mpfr_add(r5547, r5543, r5546, MPFR_RNDN);
        return mpfr_get_d(r5547, MPFR_RNDN);
}

