#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 r9915 = x;
        float r9916 = y;
        float r9917 = r9915 * r9916;
        float r9918 = z;
        float r9919 = t;
        float r9920 = r9918 * r9919;
        float r9921 = r9917 + r9920;
        float r9922 = a;
        float r9923 = b;
        float r9924 = r9922 * r9923;
        float r9925 = r9921 + r9924;
        float r9926 = c;
        float r9927 = i;
        float r9928 = r9926 * r9927;
        float r9929 = r9925 + r9928;
        return r9929;
}

double f_id(double x, double y, double z, double t, double a, double b, double c, double i) {
        double r9930 = x;
        double r9931 = y;
        double r9932 = r9930 * r9931;
        double r9933 = z;
        double r9934 = t;
        double r9935 = r9933 * r9934;
        double r9936 = r9932 + r9935;
        double r9937 = a;
        double r9938 = b;
        double r9939 = r9937 * r9938;
        double r9940 = r9936 + r9939;
        double r9941 = c;
        double r9942 = i;
        double r9943 = r9941 * r9942;
        double r9944 = r9940 + r9943;
        return r9944;
}


double f_of(float x, float y, float z, float t, float a, float b, float c, float i) {
        float r9945 = x;
        float r9946 = y;
        float r9947 = r9945 * r9946;
        float r9948 = z;
        float r9949 = t;
        float r9950 = r9948 * r9949;
        float r9951 = r9947 + r9950;
        float r9952 = a;
        float r9953 = b;
        float r9954 = r9952 * r9953;
        float r9955 = r9951 + r9954;
        float r9956 = c;
        float r9957 = i;
        float r9958 = r9956 * r9957;
        float r9959 = r9955 + r9958;
        return r9959;
}

double f_od(double x, double y, double z, double t, double a, double b, double c, double i) {
        double r9960 = x;
        double r9961 = y;
        double r9962 = r9960 * r9961;
        double r9963 = z;
        double r9964 = t;
        double r9965 = r9963 * r9964;
        double r9966 = r9962 + r9965;
        double r9967 = a;
        double r9968 = b;
        double r9969 = r9967 * r9968;
        double r9970 = r9966 + r9969;
        double r9971 = c;
        double r9972 = i;
        double r9973 = r9971 * r9972;
        double r9974 = r9970 + r9973;
        return r9974;
}

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 r9975, r9976, r9977, r9978, r9979, r9980, r9981, r9982, r9983, r9984, r9985, r9986, r9987, r9988, r9989;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(592);
        mpfr_init(r9975);
        mpfr_init(r9976);
        mpfr_init(r9977);
        mpfr_init(r9978);
        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);
}

double f_im(double x, double y, double z, double t, double a, double b, double c, double i) {
        mpfr_set_d(r9975, x, MPFR_RNDN);
        mpfr_set_d(r9976, y, MPFR_RNDN);
        mpfr_mul(r9977, r9975, r9976, MPFR_RNDN);
        mpfr_set_d(r9978, z, MPFR_RNDN);
        mpfr_set_d(r9979, t, MPFR_RNDN);
        mpfr_mul(r9980, r9978, r9979, MPFR_RNDN);
        mpfr_add(r9981, r9977, r9980, MPFR_RNDN);
        mpfr_set_d(r9982, a, MPFR_RNDN);
        mpfr_set_d(r9983, b, MPFR_RNDN);
        mpfr_mul(r9984, r9982, r9983, MPFR_RNDN);
        mpfr_add(r9985, r9981, r9984, MPFR_RNDN);
        mpfr_set_d(r9986, c, MPFR_RNDN);
        mpfr_set_d(r9987, i, MPFR_RNDN);
        mpfr_mul(r9988, r9986, r9987, MPFR_RNDN);
        mpfr_add(r9989, r9985, r9988, MPFR_RNDN);
        return mpfr_get_d(r9989, MPFR_RNDN);
}

static mpfr_t r9990, r9991, r9992, r9993, r9994, r9995, r9996, r9997, r9998, r9999, r10000, r10001, r10002, r10003, r10004;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(592);
        mpfr_init(r9990);
        mpfr_init(r9991);
        mpfr_init(r9992);
        mpfr_init(r9993);
        mpfr_init(r9994);
        mpfr_init(r9995);
        mpfr_init(r9996);
        mpfr_init(r9997);
        mpfr_init(r9998);
        mpfr_init(r9999);
        mpfr_init(r10000);
        mpfr_init(r10001);
        mpfr_init(r10002);
        mpfr_init(r10003);
        mpfr_init(r10004);
}

double f_fm(double x, double y, double z, double t, double a, double b, double c, double i) {
        mpfr_set_d(r9990, x, MPFR_RNDN);
        mpfr_set_d(r9991, y, MPFR_RNDN);
        mpfr_mul(r9992, r9990, r9991, MPFR_RNDN);
        mpfr_set_d(r9993, z, MPFR_RNDN);
        mpfr_set_d(r9994, t, MPFR_RNDN);
        mpfr_mul(r9995, r9993, r9994, MPFR_RNDN);
        mpfr_add(r9996, r9992, r9995, MPFR_RNDN);
        mpfr_set_d(r9997, a, MPFR_RNDN);
        mpfr_set_d(r9998, b, MPFR_RNDN);
        mpfr_mul(r9999, r9997, r9998, MPFR_RNDN);
        mpfr_add(r10000, r9996, r9999, MPFR_RNDN);
        mpfr_set_d(r10001, c, MPFR_RNDN);
        mpfr_set_d(r10002, i, MPFR_RNDN);
        mpfr_mul(r10003, r10001, r10002, MPFR_RNDN);
        mpfr_add(r10004, r10000, r10003, MPFR_RNDN);
        return mpfr_get_d(r10004, MPFR_RNDN);
}

static mpfr_t r10005, r10006, r10007, r10008, r10009, r10010, r10011, r10012, r10013, r10014, r10015, r10016, r10017, r10018, r10019;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(592);
        mpfr_init(r10005);
        mpfr_init(r10006);
        mpfr_init(r10007);
        mpfr_init(r10008);
        mpfr_init(r10009);
        mpfr_init(r10010);
        mpfr_init(r10011);
        mpfr_init(r10012);
        mpfr_init(r10013);
        mpfr_init(r10014);
        mpfr_init(r10015);
        mpfr_init(r10016);
        mpfr_init(r10017);
        mpfr_init(r10018);
        mpfr_init(r10019);
}

double f_dm(double x, double y, double z, double t, double a, double b, double c, double i) {
        mpfr_set_d(r10005, x, MPFR_RNDN);
        mpfr_set_d(r10006, y, MPFR_RNDN);
        mpfr_mul(r10007, r10005, r10006, MPFR_RNDN);
        mpfr_set_d(r10008, z, MPFR_RNDN);
        mpfr_set_d(r10009, t, MPFR_RNDN);
        mpfr_mul(r10010, r10008, r10009, MPFR_RNDN);
        mpfr_add(r10011, r10007, r10010, MPFR_RNDN);
        mpfr_set_d(r10012, a, MPFR_RNDN);
        mpfr_set_d(r10013, b, MPFR_RNDN);
        mpfr_mul(r10014, r10012, r10013, MPFR_RNDN);
        mpfr_add(r10015, r10011, r10014, MPFR_RNDN);
        mpfr_set_d(r10016, c, MPFR_RNDN);
        mpfr_set_d(r10017, i, MPFR_RNDN);
        mpfr_mul(r10018, r10016, r10017, MPFR_RNDN);
        mpfr_add(r10019, r10015, r10018, MPFR_RNDN);
        return mpfr_get_d(r10019, MPFR_RNDN);
}

