#include <tgmath.h>
#include <gmp.h>
#include <mpfr.h>
#include <stdio.h>
#include <stdbool.h>

char *name = "Linear.V3:$cdot from linear-1.19.1.3, B";

double f_if(float x, float y, float z, float t, float a, float b) {
        float r43785 = x;
        float r43786 = y;
        float r43787 = r43785 * r43786;
        float r43788 = z;
        float r43789 = t;
        float r43790 = r43788 * r43789;
        float r43791 = r43787 + r43790;
        float r43792 = a;
        float r43793 = b;
        float r43794 = r43792 * r43793;
        float r43795 = r43791 + r43794;
        return r43795;
}

double f_id(double x, double y, double z, double t, double a, double b) {
        double r43796 = x;
        double r43797 = y;
        double r43798 = r43796 * r43797;
        double r43799 = z;
        double r43800 = t;
        double r43801 = r43799 * r43800;
        double r43802 = r43798 + r43801;
        double r43803 = a;
        double r43804 = b;
        double r43805 = r43803 * r43804;
        double r43806 = r43802 + r43805;
        return r43806;
}


double f_of(float x, float y, float z, float t, float a, float b) {
        float r43807 = x;
        float r43808 = y;
        float r43809 = r43807 * r43808;
        float r43810 = z;
        float r43811 = t;
        float r43812 = r43810 * r43811;
        float r43813 = r43809 + r43812;
        float r43814 = a;
        float r43815 = b;
        float r43816 = r43814 * r43815;
        float r43817 = r43813 + r43816;
        return r43817;
}

double f_od(double x, double y, double z, double t, double a, double b) {
        double r43818 = x;
        double r43819 = y;
        double r43820 = r43818 * r43819;
        double r43821 = z;
        double r43822 = t;
        double r43823 = r43821 * r43822;
        double r43824 = r43820 + r43823;
        double r43825 = a;
        double r43826 = b;
        double r43827 = r43825 * r43826;
        double r43828 = r43824 + r43827;
        return r43828;
}

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 r43829, r43830, r43831, r43832, r43833, r43834, r43835, r43836, r43837, r43838, r43839;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(144);
        mpfr_init(r43829);
        mpfr_init(r43830);
        mpfr_init(r43831);
        mpfr_init(r43832);
        mpfr_init(r43833);
        mpfr_init(r43834);
        mpfr_init(r43835);
        mpfr_init(r43836);
        mpfr_init(r43837);
        mpfr_init(r43838);
        mpfr_init(r43839);
}

double f_im(double x, double y, double z, double t, double a, double b) {
        mpfr_set_d(r43829, x, MPFR_RNDN);
        mpfr_set_d(r43830, y, MPFR_RNDN);
        mpfr_mul(r43831, r43829, r43830, MPFR_RNDN);
        mpfr_set_d(r43832, z, MPFR_RNDN);
        mpfr_set_d(r43833, t, MPFR_RNDN);
        mpfr_mul(r43834, r43832, r43833, MPFR_RNDN);
        mpfr_add(r43835, r43831, r43834, MPFR_RNDN);
        mpfr_set_d(r43836, a, MPFR_RNDN);
        mpfr_set_d(r43837, b, MPFR_RNDN);
        mpfr_mul(r43838, r43836, r43837, MPFR_RNDN);
        mpfr_add(r43839, r43835, r43838, MPFR_RNDN);
        return mpfr_get_d(r43839, MPFR_RNDN);
}

static mpfr_t r43840, r43841, r43842, r43843, r43844, r43845, r43846, r43847, r43848, r43849, r43850;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(144);
        mpfr_init(r43840);
        mpfr_init(r43841);
        mpfr_init(r43842);
        mpfr_init(r43843);
        mpfr_init(r43844);
        mpfr_init(r43845);
        mpfr_init(r43846);
        mpfr_init(r43847);
        mpfr_init(r43848);
        mpfr_init(r43849);
        mpfr_init(r43850);
}

double f_fm(double x, double y, double z, double t, double a, double b) {
        mpfr_set_d(r43840, x, MPFR_RNDN);
        mpfr_set_d(r43841, y, MPFR_RNDN);
        mpfr_mul(r43842, r43840, r43841, MPFR_RNDN);
        mpfr_set_d(r43843, z, MPFR_RNDN);
        mpfr_set_d(r43844, t, MPFR_RNDN);
        mpfr_mul(r43845, r43843, r43844, MPFR_RNDN);
        mpfr_add(r43846, r43842, r43845, MPFR_RNDN);
        mpfr_set_d(r43847, a, MPFR_RNDN);
        mpfr_set_d(r43848, b, MPFR_RNDN);
        mpfr_mul(r43849, r43847, r43848, MPFR_RNDN);
        mpfr_add(r43850, r43846, r43849, MPFR_RNDN);
        return mpfr_get_d(r43850, MPFR_RNDN);
}

static mpfr_t r43851, r43852, r43853, r43854, r43855, r43856, r43857, r43858, r43859, r43860, r43861;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(144);
        mpfr_init(r43851);
        mpfr_init(r43852);
        mpfr_init(r43853);
        mpfr_init(r43854);
        mpfr_init(r43855);
        mpfr_init(r43856);
        mpfr_init(r43857);
        mpfr_init(r43858);
        mpfr_init(r43859);
        mpfr_init(r43860);
        mpfr_init(r43861);
}

double f_dm(double x, double y, double z, double t, double a, double b) {
        mpfr_set_d(r43851, x, MPFR_RNDN);
        mpfr_set_d(r43852, y, MPFR_RNDN);
        mpfr_mul(r43853, r43851, r43852, MPFR_RNDN);
        mpfr_set_d(r43854, z, MPFR_RNDN);
        mpfr_set_d(r43855, t, MPFR_RNDN);
        mpfr_mul(r43856, r43854, r43855, MPFR_RNDN);
        mpfr_add(r43857, r43853, r43856, MPFR_RNDN);
        mpfr_set_d(r43858, a, MPFR_RNDN);
        mpfr_set_d(r43859, b, MPFR_RNDN);
        mpfr_mul(r43860, r43858, r43859, MPFR_RNDN);
        mpfr_add(r43861, r43857, r43860, MPFR_RNDN);
        return mpfr_get_d(r43861, MPFR_RNDN);
}

