#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 r9889 = x;
        float r9890 = y;
        float r9891 = r9889 * r9890;
        float r9892 = z;
        float r9893 = t;
        float r9894 = r9892 * r9893;
        float r9895 = r9891 + r9894;
        float r9896 = a;
        float r9897 = b;
        float r9898 = r9896 * r9897;
        float r9899 = r9895 + r9898;
        float r9900 = c;
        float r9901 = i;
        float r9902 = r9900 * r9901;
        float r9903 = r9899 + r9902;
        return r9903;
}

double f_id(double x, double y, double z, double t, double a, double b, double c, double i) {
        double r9904 = x;
        double r9905 = y;
        double r9906 = r9904 * r9905;
        double r9907 = z;
        double r9908 = t;
        double r9909 = r9907 * r9908;
        double r9910 = r9906 + r9909;
        double r9911 = a;
        double r9912 = b;
        double r9913 = r9911 * r9912;
        double r9914 = r9910 + r9913;
        double r9915 = c;
        double r9916 = i;
        double r9917 = r9915 * r9916;
        double r9918 = r9914 + r9917;
        return r9918;
}


double f_of(float x, float y, float z, float t, float a, float b, float c, float i) {
        float r9919 = x;
        float r9920 = y;
        float r9921 = r9919 * r9920;
        float r9922 = z;
        float r9923 = t;
        float r9924 = r9922 * r9923;
        float r9925 = r9921 + r9924;
        float r9926 = a;
        float r9927 = b;
        float r9928 = r9926 * r9927;
        float r9929 = r9925 + r9928;
        float r9930 = c;
        float r9931 = i;
        float r9932 = r9930 * r9931;
        float r9933 = r9929 + r9932;
        return r9933;
}

double f_od(double x, double y, double z, double t, double a, double b, double c, double i) {
        double r9934 = x;
        double r9935 = y;
        double r9936 = r9934 * r9935;
        double r9937 = z;
        double r9938 = t;
        double r9939 = r9937 * r9938;
        double r9940 = r9936 + r9939;
        double r9941 = a;
        double r9942 = b;
        double r9943 = r9941 * r9942;
        double r9944 = r9940 + r9943;
        double r9945 = c;
        double r9946 = i;
        double r9947 = r9945 * r9946;
        double r9948 = r9944 + r9947;
        return r9948;
}

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 r9949, r9950, r9951, r9952, r9953, r9954, r9955, r9956, r9957, r9958, r9959, r9960, r9961, r9962, r9963;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(592);
        mpfr_init(r9949);
        mpfr_init(r9950);
        mpfr_init(r9951);
        mpfr_init(r9952);
        mpfr_init(r9953);
        mpfr_init(r9954);
        mpfr_init(r9955);
        mpfr_init(r9956);
        mpfr_init(r9957);
        mpfr_init(r9958);
        mpfr_init(r9959);
        mpfr_init(r9960);
        mpfr_init(r9961);
        mpfr_init(r9962);
        mpfr_init(r9963);
}

double f_im(double x, double y, double z, double t, double a, double b, double c, double i) {
        mpfr_set_d(r9949, x, MPFR_RNDN);
        mpfr_set_d(r9950, y, MPFR_RNDN);
        mpfr_mul(r9951, r9949, r9950, MPFR_RNDN);
        mpfr_set_d(r9952, z, MPFR_RNDN);
        mpfr_set_d(r9953, t, MPFR_RNDN);
        mpfr_mul(r9954, r9952, r9953, MPFR_RNDN);
        mpfr_add(r9955, r9951, r9954, MPFR_RNDN);
        mpfr_set_d(r9956, a, MPFR_RNDN);
        mpfr_set_d(r9957, b, MPFR_RNDN);
        mpfr_mul(r9958, r9956, r9957, MPFR_RNDN);
        mpfr_add(r9959, r9955, r9958, MPFR_RNDN);
        mpfr_set_d(r9960, c, MPFR_RNDN);
        mpfr_set_d(r9961, i, MPFR_RNDN);
        mpfr_mul(r9962, r9960, r9961, MPFR_RNDN);
        mpfr_add(r9963, r9959, r9962, MPFR_RNDN);
        return mpfr_get_d(r9963, MPFR_RNDN);
}

static mpfr_t r9964, r9965, r9966, r9967, r9968, r9969, r9970, r9971, r9972, r9973, r9974, r9975, r9976, r9977, r9978;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(592);
        mpfr_init(r9964);
        mpfr_init(r9965);
        mpfr_init(r9966);
        mpfr_init(r9967);
        mpfr_init(r9968);
        mpfr_init(r9969);
        mpfr_init(r9970);
        mpfr_init(r9971);
        mpfr_init(r9972);
        mpfr_init(r9973);
        mpfr_init(r9974);
        mpfr_init(r9975);
        mpfr_init(r9976);
        mpfr_init(r9977);
        mpfr_init(r9978);
}

double f_fm(double x, double y, double z, double t, double a, double b, double c, double i) {
        mpfr_set_d(r9964, x, MPFR_RNDN);
        mpfr_set_d(r9965, y, MPFR_RNDN);
        mpfr_mul(r9966, r9964, r9965, MPFR_RNDN);
        mpfr_set_d(r9967, z, MPFR_RNDN);
        mpfr_set_d(r9968, t, MPFR_RNDN);
        mpfr_mul(r9969, r9967, r9968, MPFR_RNDN);
        mpfr_add(r9970, r9966, r9969, MPFR_RNDN);
        mpfr_set_d(r9971, a, MPFR_RNDN);
        mpfr_set_d(r9972, b, MPFR_RNDN);
        mpfr_mul(r9973, r9971, r9972, MPFR_RNDN);
        mpfr_add(r9974, r9970, r9973, MPFR_RNDN);
        mpfr_set_d(r9975, c, MPFR_RNDN);
        mpfr_set_d(r9976, i, MPFR_RNDN);
        mpfr_mul(r9977, r9975, r9976, MPFR_RNDN);
        mpfr_add(r9978, r9974, r9977, MPFR_RNDN);
        return mpfr_get_d(r9978, MPFR_RNDN);
}

static mpfr_t r9979, r9980, r9981, r9982, r9983, r9984, r9985, r9986, r9987, r9988, r9989, r9990, r9991, r9992, r9993;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(592);
        mpfr_init(r9979);
        mpfr_init(r9980);
        mpfr_init(r9981);
        mpfr_init(r9982);
        mpfr_init(r9983);
        mpfr_init(r9984);
        mpfr_init(r9985);
        mpfr_init(r9986);
        mpfr_init(r9987);
        mpfr_init(r9988);
        mpfr_init(r9989);
        mpfr_init(r9990);
        mpfr_init(r9991);
        mpfr_init(r9992);
        mpfr_init(r9993);
}

double f_dm(double x, double y, double z, double t, double a, double b, double c, double i) {
        mpfr_set_d(r9979, x, MPFR_RNDN);
        mpfr_set_d(r9980, y, MPFR_RNDN);
        mpfr_mul(r9981, r9979, r9980, MPFR_RNDN);
        mpfr_set_d(r9982, z, MPFR_RNDN);
        mpfr_set_d(r9983, t, MPFR_RNDN);
        mpfr_mul(r9984, r9982, r9983, MPFR_RNDN);
        mpfr_add(r9985, r9981, r9984, MPFR_RNDN);
        mpfr_set_d(r9986, a, MPFR_RNDN);
        mpfr_set_d(r9987, b, MPFR_RNDN);
        mpfr_mul(r9988, r9986, r9987, MPFR_RNDN);
        mpfr_add(r9989, r9985, r9988, MPFR_RNDN);
        mpfr_set_d(r9990, c, MPFR_RNDN);
        mpfr_set_d(r9991, i, MPFR_RNDN);
        mpfr_mul(r9992, r9990, r9991, MPFR_RNDN);
        mpfr_add(r9993, r9989, r9992, MPFR_RNDN);
        return mpfr_get_d(r9993, MPFR_RNDN);
}

