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

char *name = "Linear.Matrix:det33 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 j) {
        float r29694 = x;
        float r29695 = y;
        float r29696 = z;
        float r29697 = r29695 * r29696;
        float r29698 = t;
        float r29699 = a;
        float r29700 = r29698 * r29699;
        float r29701 = r29697 - r29700;
        float r29702 = r29694 * r29701;
        float r29703 = b;
        float r29704 = c;
        float r29705 = r29704 * r29696;
        float r29706 = i;
        float r29707 = r29706 * r29699;
        float r29708 = r29705 - r29707;
        float r29709 = r29703 * r29708;
        float r29710 = r29702 - r29709;
        float r29711 = j;
        float r29712 = r29704 * r29698;
        float r29713 = r29706 * r29695;
        float r29714 = r29712 - r29713;
        float r29715 = r29711 * r29714;
        float r29716 = r29710 + r29715;
        return r29716;
}

double f_id(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
        double r29717 = x;
        double r29718 = y;
        double r29719 = z;
        double r29720 = r29718 * r29719;
        double r29721 = t;
        double r29722 = a;
        double r29723 = r29721 * r29722;
        double r29724 = r29720 - r29723;
        double r29725 = r29717 * r29724;
        double r29726 = b;
        double r29727 = c;
        double r29728 = r29727 * r29719;
        double r29729 = i;
        double r29730 = r29729 * r29722;
        double r29731 = r29728 - r29730;
        double r29732 = r29726 * r29731;
        double r29733 = r29725 - r29732;
        double r29734 = j;
        double r29735 = r29727 * r29721;
        double r29736 = r29729 * r29718;
        double r29737 = r29735 - r29736;
        double r29738 = r29734 * r29737;
        double r29739 = r29733 + r29738;
        return r29739;
}


double f_of(float x, float y, float z, float t, float a, float b, float c, float i, float j) {
        float r29740 = x;
        float r29741 = -3.1186130314637846e+124;
        bool r29742 = r29740 <= r29741;
        float r29743 = y;
        float r29744 = z;
        float r29745 = r29743 * r29744;
        float r29746 = t;
        float r29747 = a;
        float r29748 = r29746 * r29747;
        float r29749 = r29745 - r29748;
        float r29750 = r29740 * r29749;
        float r29751 = b;
        float r29752 = c;
        float r29753 = r29752 * r29744;
        float r29754 = i;
        float r29755 = r29754 * r29747;
        float r29756 = r29753 - r29755;
        float r29757 = cbrt(r29756);
        float r29758 = r29757 * r29757;
        float r29759 = r29751 * r29758;
        float r29760 = r29759 * r29757;
        float r29761 = r29750 - r29760;
        float r29762 = j;
        float r29763 = r29752 * r29746;
        float r29764 = r29754 * r29743;
        float r29765 = r29763 - r29764;
        float r29766 = r29762 * r29765;
        float r29767 = r29761 + r29766;
        float r29768 = 4.863955640625947e+121;
        bool r29769 = r29740 <= r29768;
        float r29770 = r29740 * r29744;
        float r29771 = r29770 * r29743;
        float r29772 = r29746 * r29740;
        float r29773 = -r29747;
        float r29774 = r29772 * r29773;
        float r29775 = r29771 + r29774;
        float r29776 = r29756 * r29751;
        float r29777 = r29743 * r29754;
        float r29778 = r29763 - r29777;
        float r29779 = r29762 * r29778;
        float r29780 = r29776 - r29779;
        float r29781 = r29775 - r29780;
        float r29782 = r29769 ? r29781 : r29767;
        float r29783 = r29742 ? r29767 : r29782;
        return r29783;
}

double f_od(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
        double r29784 = x;
        double r29785 = -3.1186130314637846e+124;
        bool r29786 = r29784 <= r29785;
        double r29787 = y;
        double r29788 = z;
        double r29789 = r29787 * r29788;
        double r29790 = t;
        double r29791 = a;
        double r29792 = r29790 * r29791;
        double r29793 = r29789 - r29792;
        double r29794 = r29784 * r29793;
        double r29795 = b;
        double r29796 = c;
        double r29797 = r29796 * r29788;
        double r29798 = i;
        double r29799 = r29798 * r29791;
        double r29800 = r29797 - r29799;
        double r29801 = cbrt(r29800);
        double r29802 = r29801 * r29801;
        double r29803 = r29795 * r29802;
        double r29804 = r29803 * r29801;
        double r29805 = r29794 - r29804;
        double r29806 = j;
        double r29807 = r29796 * r29790;
        double r29808 = r29798 * r29787;
        double r29809 = r29807 - r29808;
        double r29810 = r29806 * r29809;
        double r29811 = r29805 + r29810;
        double r29812 = 4.863955640625947e+121;
        bool r29813 = r29784 <= r29812;
        double r29814 = r29784 * r29788;
        double r29815 = r29814 * r29787;
        double r29816 = r29790 * r29784;
        double r29817 = -r29791;
        double r29818 = r29816 * r29817;
        double r29819 = r29815 + r29818;
        double r29820 = r29800 * r29795;
        double r29821 = r29787 * r29798;
        double r29822 = r29807 - r29821;
        double r29823 = r29806 * r29822;
        double r29824 = r29820 - r29823;
        double r29825 = r29819 - r29824;
        double r29826 = r29813 ? r29825 : r29811;
        double r29827 = r29786 ? r29811 : r29826;
        return r29827;
}

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 r29828, r29829, r29830, r29831, r29832, r29833, r29834, r29835, r29836, r29837, r29838, r29839, r29840, r29841, r29842, r29843, r29844, r29845, r29846, r29847, r29848, r29849, r29850;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(400);
        mpfr_init(r29828);
        mpfr_init(r29829);
        mpfr_init(r29830);
        mpfr_init(r29831);
        mpfr_init(r29832);
        mpfr_init(r29833);
        mpfr_init(r29834);
        mpfr_init(r29835);
        mpfr_init(r29836);
        mpfr_init(r29837);
        mpfr_init(r29838);
        mpfr_init(r29839);
        mpfr_init(r29840);
        mpfr_init(r29841);
        mpfr_init(r29842);
        mpfr_init(r29843);
        mpfr_init(r29844);
        mpfr_init(r29845);
        mpfr_init(r29846);
        mpfr_init(r29847);
        mpfr_init(r29848);
        mpfr_init(r29849);
        mpfr_init(r29850);
}

double f_im(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
        mpfr_set_d(r29828, x, MPFR_RNDN);
        mpfr_set_d(r29829, y, MPFR_RNDN);
        mpfr_set_d(r29830, z, MPFR_RNDN);
        mpfr_mul(r29831, r29829, r29830, MPFR_RNDN);
        mpfr_set_d(r29832, t, MPFR_RNDN);
        mpfr_set_d(r29833, a, MPFR_RNDN);
        mpfr_mul(r29834, r29832, r29833, MPFR_RNDN);
        mpfr_sub(r29835, r29831, r29834, MPFR_RNDN);
        mpfr_mul(r29836, r29828, r29835, MPFR_RNDN);
        mpfr_set_d(r29837, b, MPFR_RNDN);
        mpfr_set_d(r29838, c, MPFR_RNDN);
        mpfr_mul(r29839, r29838, r29830, MPFR_RNDN);
        mpfr_set_d(r29840, i, MPFR_RNDN);
        mpfr_mul(r29841, r29840, r29833, MPFR_RNDN);
        mpfr_sub(r29842, r29839, r29841, MPFR_RNDN);
        mpfr_mul(r29843, r29837, r29842, MPFR_RNDN);
        mpfr_sub(r29844, r29836, r29843, MPFR_RNDN);
        mpfr_set_d(r29845, j, MPFR_RNDN);
        mpfr_mul(r29846, r29838, r29832, MPFR_RNDN);
        mpfr_mul(r29847, r29840, r29829, MPFR_RNDN);
        mpfr_sub(r29848, r29846, r29847, MPFR_RNDN);
        mpfr_mul(r29849, r29845, r29848, MPFR_RNDN);
        mpfr_add(r29850, r29844, r29849, MPFR_RNDN);
        return mpfr_get_d(r29850, MPFR_RNDN);
}

static mpfr_t r29851, r29852, r29853, r29854, r29855, r29856, r29857, r29858, r29859, r29860, r29861, r29862, r29863, r29864, r29865, r29866, r29867, r29868, r29869, r29870, r29871, r29872, r29873, r29874, r29875, r29876, r29877, r29878, r29879, r29880, r29881, r29882, r29883, r29884, r29885, r29886, r29887, r29888, r29889, r29890, r29891, r29892, r29893, r29894;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(400);
        mpfr_init(r29851);
        mpfr_init_set_str(r29852, "-3.1186130314637846e+124", 10, MPFR_RNDN);
        mpfr_init(r29853);
        mpfr_init(r29854);
        mpfr_init(r29855);
        mpfr_init(r29856);
        mpfr_init(r29857);
        mpfr_init(r29858);
        mpfr_init(r29859);
        mpfr_init(r29860);
        mpfr_init(r29861);
        mpfr_init(r29862);
        mpfr_init(r29863);
        mpfr_init(r29864);
        mpfr_init(r29865);
        mpfr_init(r29866);
        mpfr_init(r29867);
        mpfr_init(r29868);
        mpfr_init(r29869);
        mpfr_init(r29870);
        mpfr_init(r29871);
        mpfr_init(r29872);
        mpfr_init(r29873);
        mpfr_init(r29874);
        mpfr_init(r29875);
        mpfr_init(r29876);
        mpfr_init(r29877);
        mpfr_init(r29878);
        mpfr_init_set_str(r29879, "4.863955640625947e+121", 10, MPFR_RNDN);
        mpfr_init(r29880);
        mpfr_init(r29881);
        mpfr_init(r29882);
        mpfr_init(r29883);
        mpfr_init(r29884);
        mpfr_init(r29885);
        mpfr_init(r29886);
        mpfr_init(r29887);
        mpfr_init(r29888);
        mpfr_init(r29889);
        mpfr_init(r29890);
        mpfr_init(r29891);
        mpfr_init(r29892);
        mpfr_init(r29893);
        mpfr_init(r29894);
}

double f_fm(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
        mpfr_set_d(r29851, x, MPFR_RNDN);
        ;
        mpfr_set_si(r29853, mpfr_cmp(r29851, r29852) <= 0, MPFR_RNDN);
        mpfr_set_d(r29854, y, MPFR_RNDN);
        mpfr_set_d(r29855, z, MPFR_RNDN);
        mpfr_mul(r29856, r29854, r29855, MPFR_RNDN);
        mpfr_set_d(r29857, t, MPFR_RNDN);
        mpfr_set_d(r29858, a, MPFR_RNDN);
        mpfr_mul(r29859, r29857, r29858, MPFR_RNDN);
        mpfr_sub(r29860, r29856, r29859, MPFR_RNDN);
        mpfr_mul(r29861, r29851, r29860, MPFR_RNDN);
        mpfr_set_d(r29862, b, MPFR_RNDN);
        mpfr_set_d(r29863, c, MPFR_RNDN);
        mpfr_mul(r29864, r29863, r29855, MPFR_RNDN);
        mpfr_set_d(r29865, i, MPFR_RNDN);
        mpfr_mul(r29866, r29865, r29858, MPFR_RNDN);
        mpfr_sub(r29867, r29864, r29866, MPFR_RNDN);
        mpfr_cbrt(r29868, r29867, MPFR_RNDN);
        mpfr_mul(r29869, r29868, r29868, MPFR_RNDN);
        mpfr_mul(r29870, r29862, r29869, MPFR_RNDN);
        mpfr_mul(r29871, r29870, r29868, MPFR_RNDN);
        mpfr_sub(r29872, r29861, r29871, MPFR_RNDN);
        mpfr_set_d(r29873, j, MPFR_RNDN);
        mpfr_mul(r29874, r29863, r29857, MPFR_RNDN);
        mpfr_mul(r29875, r29865, r29854, MPFR_RNDN);
        mpfr_sub(r29876, r29874, r29875, MPFR_RNDN);
        mpfr_mul(r29877, r29873, r29876, MPFR_RNDN);
        mpfr_add(r29878, r29872, r29877, MPFR_RNDN);
        ;
        mpfr_set_si(r29880, mpfr_cmp(r29851, r29879) <= 0, MPFR_RNDN);
        mpfr_mul(r29881, r29851, r29855, MPFR_RNDN);
        mpfr_mul(r29882, r29881, r29854, MPFR_RNDN);
        mpfr_mul(r29883, r29857, r29851, MPFR_RNDN);
        mpfr_neg(r29884, r29858, MPFR_RNDN);
        mpfr_mul(r29885, r29883, r29884, MPFR_RNDN);
        mpfr_add(r29886, r29882, r29885, MPFR_RNDN);
        mpfr_mul(r29887, r29867, r29862, MPFR_RNDN);
        mpfr_mul(r29888, r29854, r29865, MPFR_RNDN);
        mpfr_sub(r29889, r29874, r29888, MPFR_RNDN);
        mpfr_mul(r29890, r29873, r29889, MPFR_RNDN);
        mpfr_sub(r29891, r29887, r29890, MPFR_RNDN);
        mpfr_sub(r29892, r29886, r29891, MPFR_RNDN);
        if (mpfr_get_si(r29880, MPFR_RNDN)) { mpfr_set(r29893, r29892, MPFR_RNDN); } else { mpfr_set(r29893, r29878, MPFR_RNDN); };
        if (mpfr_get_si(r29853, MPFR_RNDN)) { mpfr_set(r29894, r29878, MPFR_RNDN); } else { mpfr_set(r29894, r29893, MPFR_RNDN); };
        return mpfr_get_d(r29894, MPFR_RNDN);
}

static mpfr_t r29895, r29896, r29897, r29898, r29899, r29900, r29901, r29902, r29903, r29904, r29905, r29906, r29907, r29908, r29909, r29910, r29911, r29912, r29913, r29914, r29915, r29916, r29917, r29918, r29919, r29920, r29921, r29922, r29923, r29924, r29925, r29926, r29927, r29928, r29929, r29930, r29931, r29932, r29933, r29934, r29935, r29936, r29937, r29938;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(400);
        mpfr_init(r29895);
        mpfr_init_set_str(r29896, "-3.1186130314637846e+124", 10, MPFR_RNDN);
        mpfr_init(r29897);
        mpfr_init(r29898);
        mpfr_init(r29899);
        mpfr_init(r29900);
        mpfr_init(r29901);
        mpfr_init(r29902);
        mpfr_init(r29903);
        mpfr_init(r29904);
        mpfr_init(r29905);
        mpfr_init(r29906);
        mpfr_init(r29907);
        mpfr_init(r29908);
        mpfr_init(r29909);
        mpfr_init(r29910);
        mpfr_init(r29911);
        mpfr_init(r29912);
        mpfr_init(r29913);
        mpfr_init(r29914);
        mpfr_init(r29915);
        mpfr_init(r29916);
        mpfr_init(r29917);
        mpfr_init(r29918);
        mpfr_init(r29919);
        mpfr_init(r29920);
        mpfr_init(r29921);
        mpfr_init(r29922);
        mpfr_init_set_str(r29923, "4.863955640625947e+121", 10, MPFR_RNDN);
        mpfr_init(r29924);
        mpfr_init(r29925);
        mpfr_init(r29926);
        mpfr_init(r29927);
        mpfr_init(r29928);
        mpfr_init(r29929);
        mpfr_init(r29930);
        mpfr_init(r29931);
        mpfr_init(r29932);
        mpfr_init(r29933);
        mpfr_init(r29934);
        mpfr_init(r29935);
        mpfr_init(r29936);
        mpfr_init(r29937);
        mpfr_init(r29938);
}

double f_dm(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
        mpfr_set_d(r29895, x, MPFR_RNDN);
        ;
        mpfr_set_si(r29897, mpfr_cmp(r29895, r29896) <= 0, MPFR_RNDN);
        mpfr_set_d(r29898, y, MPFR_RNDN);
        mpfr_set_d(r29899, z, MPFR_RNDN);
        mpfr_mul(r29900, r29898, r29899, MPFR_RNDN);
        mpfr_set_d(r29901, t, MPFR_RNDN);
        mpfr_set_d(r29902, a, MPFR_RNDN);
        mpfr_mul(r29903, r29901, r29902, MPFR_RNDN);
        mpfr_sub(r29904, r29900, r29903, MPFR_RNDN);
        mpfr_mul(r29905, r29895, r29904, MPFR_RNDN);
        mpfr_set_d(r29906, b, MPFR_RNDN);
        mpfr_set_d(r29907, c, MPFR_RNDN);
        mpfr_mul(r29908, r29907, r29899, MPFR_RNDN);
        mpfr_set_d(r29909, i, MPFR_RNDN);
        mpfr_mul(r29910, r29909, r29902, MPFR_RNDN);
        mpfr_sub(r29911, r29908, r29910, MPFR_RNDN);
        mpfr_cbrt(r29912, r29911, MPFR_RNDN);
        mpfr_mul(r29913, r29912, r29912, MPFR_RNDN);
        mpfr_mul(r29914, r29906, r29913, MPFR_RNDN);
        mpfr_mul(r29915, r29914, r29912, MPFR_RNDN);
        mpfr_sub(r29916, r29905, r29915, MPFR_RNDN);
        mpfr_set_d(r29917, j, MPFR_RNDN);
        mpfr_mul(r29918, r29907, r29901, MPFR_RNDN);
        mpfr_mul(r29919, r29909, r29898, MPFR_RNDN);
        mpfr_sub(r29920, r29918, r29919, MPFR_RNDN);
        mpfr_mul(r29921, r29917, r29920, MPFR_RNDN);
        mpfr_add(r29922, r29916, r29921, MPFR_RNDN);
        ;
        mpfr_set_si(r29924, mpfr_cmp(r29895, r29923) <= 0, MPFR_RNDN);
        mpfr_mul(r29925, r29895, r29899, MPFR_RNDN);
        mpfr_mul(r29926, r29925, r29898, MPFR_RNDN);
        mpfr_mul(r29927, r29901, r29895, MPFR_RNDN);
        mpfr_neg(r29928, r29902, MPFR_RNDN);
        mpfr_mul(r29929, r29927, r29928, MPFR_RNDN);
        mpfr_add(r29930, r29926, r29929, MPFR_RNDN);
        mpfr_mul(r29931, r29911, r29906, MPFR_RNDN);
        mpfr_mul(r29932, r29898, r29909, MPFR_RNDN);
        mpfr_sub(r29933, r29918, r29932, MPFR_RNDN);
        mpfr_mul(r29934, r29917, r29933, MPFR_RNDN);
        mpfr_sub(r29935, r29931, r29934, MPFR_RNDN);
        mpfr_sub(r29936, r29930, r29935, MPFR_RNDN);
        if (mpfr_get_si(r29924, MPFR_RNDN)) { mpfr_set(r29937, r29936, MPFR_RNDN); } else { mpfr_set(r29937, r29922, MPFR_RNDN); };
        if (mpfr_get_si(r29897, MPFR_RNDN)) { mpfr_set(r29938, r29922, MPFR_RNDN); } else { mpfr_set(r29938, r29937, MPFR_RNDN); };
        return mpfr_get_d(r29938, MPFR_RNDN);
}

