#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 r47938 = x;
        float r47939 = y;
        float r47940 = z;
        float r47941 = r47939 * r47940;
        float r47942 = t;
        float r47943 = a;
        float r47944 = r47942 * r47943;
        float r47945 = r47941 - r47944;
        float r47946 = r47938 * r47945;
        float r47947 = b;
        float r47948 = c;
        float r47949 = r47948 * r47940;
        float r47950 = i;
        float r47951 = r47950 * r47943;
        float r47952 = r47949 - r47951;
        float r47953 = r47947 * r47952;
        float r47954 = r47946 - r47953;
        float r47955 = j;
        float r47956 = r47948 * r47942;
        float r47957 = r47950 * r47939;
        float r47958 = r47956 - r47957;
        float r47959 = r47955 * r47958;
        float r47960 = r47954 + r47959;
        return r47960;
}

double f_id(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
        double r47961 = x;
        double r47962 = y;
        double r47963 = z;
        double r47964 = r47962 * r47963;
        double r47965 = t;
        double r47966 = a;
        double r47967 = r47965 * r47966;
        double r47968 = r47964 - r47967;
        double r47969 = r47961 * r47968;
        double r47970 = b;
        double r47971 = c;
        double r47972 = r47971 * r47963;
        double r47973 = i;
        double r47974 = r47973 * r47966;
        double r47975 = r47972 - r47974;
        double r47976 = r47970 * r47975;
        double r47977 = r47969 - r47976;
        double r47978 = j;
        double r47979 = r47971 * r47965;
        double r47980 = r47973 * r47962;
        double r47981 = r47979 - r47980;
        double r47982 = r47978 * r47981;
        double r47983 = r47977 + r47982;
        return r47983;
}


double f_of(float x, float y, float z, float t, float a, float b, float c, float i, float j) {
        float r47984 = x;
        float r47985 = -2.8672604767171556e+124;
        bool r47986 = r47984 <= r47985;
        float r47987 = y;
        float r47988 = z;
        float r47989 = r47987 * r47988;
        float r47990 = t;
        float r47991 = a;
        float r47992 = r47990 * r47991;
        float r47993 = r47989 - r47992;
        float r47994 = r47984 * r47993;
        float r47995 = b;
        float r47996 = c;
        float r47997 = r47996 * r47988;
        float r47998 = i;
        float r47999 = r47998 * r47991;
        float r48000 = r47997 - r47999;
        float r48001 = cbrt(r48000);
        float r48002 = r48001 * r48001;
        float r48003 = r47995 * r48002;
        float r48004 = r48003 * r48001;
        float r48005 = r47994 - r48004;
        float r48006 = j;
        float r48007 = r47996 * r47990;
        float r48008 = r47998 * r47987;
        float r48009 = r48007 - r48008;
        float r48010 = r48006 * r48009;
        float r48011 = r48005 + r48010;
        float r48012 = 4.918058634484688e+125;
        bool r48013 = r47984 <= r48012;
        float r48014 = -r47991;
        float r48015 = r47990 * r47984;
        float r48016 = r48014 * r48015;
        float r48017 = r47984 * r47988;
        float r48018 = r48017 * r47987;
        float r48019 = r48016 + r48018;
        float r48020 = r47987 * r47998;
        float r48021 = r48007 - r48020;
        float r48022 = r48006 * r48021;
        float r48023 = r48019 + r48022;
        float r48024 = r47988 * r47996;
        float r48025 = r48024 - r47999;
        float r48026 = r48025 * r47995;
        float r48027 = r48023 - r48026;
        float r48028 = r48013 ? r48027 : r48011;
        float r48029 = r47986 ? r48011 : r48028;
        return r48029;
}

double f_od(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
        double r48030 = x;
        double r48031 = -2.8672604767171556e+124;
        bool r48032 = r48030 <= r48031;
        double r48033 = y;
        double r48034 = z;
        double r48035 = r48033 * r48034;
        double r48036 = t;
        double r48037 = a;
        double r48038 = r48036 * r48037;
        double r48039 = r48035 - r48038;
        double r48040 = r48030 * r48039;
        double r48041 = b;
        double r48042 = c;
        double r48043 = r48042 * r48034;
        double r48044 = i;
        double r48045 = r48044 * r48037;
        double r48046 = r48043 - r48045;
        double r48047 = cbrt(r48046);
        double r48048 = r48047 * r48047;
        double r48049 = r48041 * r48048;
        double r48050 = r48049 * r48047;
        double r48051 = r48040 - r48050;
        double r48052 = j;
        double r48053 = r48042 * r48036;
        double r48054 = r48044 * r48033;
        double r48055 = r48053 - r48054;
        double r48056 = r48052 * r48055;
        double r48057 = r48051 + r48056;
        double r48058 = 4.918058634484688e+125;
        bool r48059 = r48030 <= r48058;
        double r48060 = -r48037;
        double r48061 = r48036 * r48030;
        double r48062 = r48060 * r48061;
        double r48063 = r48030 * r48034;
        double r48064 = r48063 * r48033;
        double r48065 = r48062 + r48064;
        double r48066 = r48033 * r48044;
        double r48067 = r48053 - r48066;
        double r48068 = r48052 * r48067;
        double r48069 = r48065 + r48068;
        double r48070 = r48034 * r48042;
        double r48071 = r48070 - r48045;
        double r48072 = r48071 * r48041;
        double r48073 = r48069 - r48072;
        double r48074 = r48059 ? r48073 : r48057;
        double r48075 = r48032 ? r48057 : r48074;
        return r48075;
}

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 r48076, r48077, r48078, r48079, r48080, r48081, r48082, r48083, r48084, r48085, r48086, r48087, r48088, r48089, r48090, r48091, r48092, r48093, r48094, r48095, r48096, r48097, r48098;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(400);
        mpfr_init(r48076);
        mpfr_init(r48077);
        mpfr_init(r48078);
        mpfr_init(r48079);
        mpfr_init(r48080);
        mpfr_init(r48081);
        mpfr_init(r48082);
        mpfr_init(r48083);
        mpfr_init(r48084);
        mpfr_init(r48085);
        mpfr_init(r48086);
        mpfr_init(r48087);
        mpfr_init(r48088);
        mpfr_init(r48089);
        mpfr_init(r48090);
        mpfr_init(r48091);
        mpfr_init(r48092);
        mpfr_init(r48093);
        mpfr_init(r48094);
        mpfr_init(r48095);
        mpfr_init(r48096);
        mpfr_init(r48097);
        mpfr_init(r48098);
}

double f_im(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
        mpfr_set_d(r48076, x, MPFR_RNDN);
        mpfr_set_d(r48077, y, MPFR_RNDN);
        mpfr_set_d(r48078, z, MPFR_RNDN);
        mpfr_mul(r48079, r48077, r48078, MPFR_RNDN);
        mpfr_set_d(r48080, t, MPFR_RNDN);
        mpfr_set_d(r48081, a, MPFR_RNDN);
        mpfr_mul(r48082, r48080, r48081, MPFR_RNDN);
        mpfr_sub(r48083, r48079, r48082, MPFR_RNDN);
        mpfr_mul(r48084, r48076, r48083, MPFR_RNDN);
        mpfr_set_d(r48085, b, MPFR_RNDN);
        mpfr_set_d(r48086, c, MPFR_RNDN);
        mpfr_mul(r48087, r48086, r48078, MPFR_RNDN);
        mpfr_set_d(r48088, i, MPFR_RNDN);
        mpfr_mul(r48089, r48088, r48081, MPFR_RNDN);
        mpfr_sub(r48090, r48087, r48089, MPFR_RNDN);
        mpfr_mul(r48091, r48085, r48090, MPFR_RNDN);
        mpfr_sub(r48092, r48084, r48091, MPFR_RNDN);
        mpfr_set_d(r48093, j, MPFR_RNDN);
        mpfr_mul(r48094, r48086, r48080, MPFR_RNDN);
        mpfr_mul(r48095, r48088, r48077, MPFR_RNDN);
        mpfr_sub(r48096, r48094, r48095, MPFR_RNDN);
        mpfr_mul(r48097, r48093, r48096, MPFR_RNDN);
        mpfr_add(r48098, r48092, r48097, MPFR_RNDN);
        return mpfr_get_d(r48098, MPFR_RNDN);
}

static mpfr_t r48099, r48100, r48101, r48102, r48103, r48104, r48105, r48106, r48107, r48108, r48109, r48110, r48111, r48112, r48113, r48114, r48115, r48116, r48117, r48118, r48119, r48120, r48121, r48122, r48123, r48124, r48125, r48126, r48127, r48128, r48129, r48130, r48131, r48132, r48133, r48134, r48135, r48136, r48137, r48138, r48139, r48140, r48141, r48142, r48143, r48144;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(400);
        mpfr_init(r48099);
        mpfr_init_set_str(r48100, "-2.8672604767171556e+124", 10, MPFR_RNDN);
        mpfr_init(r48101);
        mpfr_init(r48102);
        mpfr_init(r48103);
        mpfr_init(r48104);
        mpfr_init(r48105);
        mpfr_init(r48106);
        mpfr_init(r48107);
        mpfr_init(r48108);
        mpfr_init(r48109);
        mpfr_init(r48110);
        mpfr_init(r48111);
        mpfr_init(r48112);
        mpfr_init(r48113);
        mpfr_init(r48114);
        mpfr_init(r48115);
        mpfr_init(r48116);
        mpfr_init(r48117);
        mpfr_init(r48118);
        mpfr_init(r48119);
        mpfr_init(r48120);
        mpfr_init(r48121);
        mpfr_init(r48122);
        mpfr_init(r48123);
        mpfr_init(r48124);
        mpfr_init(r48125);
        mpfr_init(r48126);
        mpfr_init_set_str(r48127, "4.918058634484688e+125", 10, MPFR_RNDN);
        mpfr_init(r48128);
        mpfr_init(r48129);
        mpfr_init(r48130);
        mpfr_init(r48131);
        mpfr_init(r48132);
        mpfr_init(r48133);
        mpfr_init(r48134);
        mpfr_init(r48135);
        mpfr_init(r48136);
        mpfr_init(r48137);
        mpfr_init(r48138);
        mpfr_init(r48139);
        mpfr_init(r48140);
        mpfr_init(r48141);
        mpfr_init(r48142);
        mpfr_init(r48143);
        mpfr_init(r48144);
}

double f_fm(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
        mpfr_set_d(r48099, x, MPFR_RNDN);
        ;
        mpfr_set_si(r48101, mpfr_cmp(r48099, r48100) <= 0, MPFR_RNDN);
        mpfr_set_d(r48102, y, MPFR_RNDN);
        mpfr_set_d(r48103, z, MPFR_RNDN);
        mpfr_mul(r48104, r48102, r48103, MPFR_RNDN);
        mpfr_set_d(r48105, t, MPFR_RNDN);
        mpfr_set_d(r48106, a, MPFR_RNDN);
        mpfr_mul(r48107, r48105, r48106, MPFR_RNDN);
        mpfr_sub(r48108, r48104, r48107, MPFR_RNDN);
        mpfr_mul(r48109, r48099, r48108, MPFR_RNDN);
        mpfr_set_d(r48110, b, MPFR_RNDN);
        mpfr_set_d(r48111, c, MPFR_RNDN);
        mpfr_mul(r48112, r48111, r48103, MPFR_RNDN);
        mpfr_set_d(r48113, i, MPFR_RNDN);
        mpfr_mul(r48114, r48113, r48106, MPFR_RNDN);
        mpfr_sub(r48115, r48112, r48114, MPFR_RNDN);
        mpfr_cbrt(r48116, r48115, MPFR_RNDN);
        mpfr_mul(r48117, r48116, r48116, MPFR_RNDN);
        mpfr_mul(r48118, r48110, r48117, MPFR_RNDN);
        mpfr_mul(r48119, r48118, r48116, MPFR_RNDN);
        mpfr_sub(r48120, r48109, r48119, MPFR_RNDN);
        mpfr_set_d(r48121, j, MPFR_RNDN);
        mpfr_mul(r48122, r48111, r48105, MPFR_RNDN);
        mpfr_mul(r48123, r48113, r48102, MPFR_RNDN);
        mpfr_sub(r48124, r48122, r48123, MPFR_RNDN);
        mpfr_mul(r48125, r48121, r48124, MPFR_RNDN);
        mpfr_add(r48126, r48120, r48125, MPFR_RNDN);
        ;
        mpfr_set_si(r48128, mpfr_cmp(r48099, r48127) <= 0, MPFR_RNDN);
        mpfr_neg(r48129, r48106, MPFR_RNDN);
        mpfr_mul(r48130, r48105, r48099, MPFR_RNDN);
        mpfr_mul(r48131, r48129, r48130, MPFR_RNDN);
        mpfr_mul(r48132, r48099, r48103, MPFR_RNDN);
        mpfr_mul(r48133, r48132, r48102, MPFR_RNDN);
        mpfr_add(r48134, r48131, r48133, MPFR_RNDN);
        mpfr_mul(r48135, r48102, r48113, MPFR_RNDN);
        mpfr_sub(r48136, r48122, r48135, MPFR_RNDN);
        mpfr_mul(r48137, r48121, r48136, MPFR_RNDN);
        mpfr_add(r48138, r48134, r48137, MPFR_RNDN);
        mpfr_mul(r48139, r48103, r48111, MPFR_RNDN);
        mpfr_sub(r48140, r48139, r48114, MPFR_RNDN);
        mpfr_mul(r48141, r48140, r48110, MPFR_RNDN);
        mpfr_sub(r48142, r48138, r48141, MPFR_RNDN);
        if (mpfr_get_si(r48128, MPFR_RNDN)) { mpfr_set(r48143, r48142, MPFR_RNDN); } else { mpfr_set(r48143, r48126, MPFR_RNDN); };
        if (mpfr_get_si(r48101, MPFR_RNDN)) { mpfr_set(r48144, r48126, MPFR_RNDN); } else { mpfr_set(r48144, r48143, MPFR_RNDN); };
        return mpfr_get_d(r48144, MPFR_RNDN);
}

static mpfr_t r48145, r48146, r48147, r48148, r48149, r48150, r48151, r48152, r48153, r48154, r48155, r48156, r48157, r48158, r48159, r48160, r48161, r48162, r48163, r48164, r48165, r48166, r48167, r48168, r48169, r48170, r48171, r48172, r48173, r48174, r48175, r48176, r48177, r48178, r48179, r48180, r48181, r48182, r48183, r48184, r48185, r48186, r48187, r48188, r48189, r48190;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(400);
        mpfr_init(r48145);
        mpfr_init_set_str(r48146, "-2.8672604767171556e+124", 10, MPFR_RNDN);
        mpfr_init(r48147);
        mpfr_init(r48148);
        mpfr_init(r48149);
        mpfr_init(r48150);
        mpfr_init(r48151);
        mpfr_init(r48152);
        mpfr_init(r48153);
        mpfr_init(r48154);
        mpfr_init(r48155);
        mpfr_init(r48156);
        mpfr_init(r48157);
        mpfr_init(r48158);
        mpfr_init(r48159);
        mpfr_init(r48160);
        mpfr_init(r48161);
        mpfr_init(r48162);
        mpfr_init(r48163);
        mpfr_init(r48164);
        mpfr_init(r48165);
        mpfr_init(r48166);
        mpfr_init(r48167);
        mpfr_init(r48168);
        mpfr_init(r48169);
        mpfr_init(r48170);
        mpfr_init(r48171);
        mpfr_init(r48172);
        mpfr_init_set_str(r48173, "4.918058634484688e+125", 10, MPFR_RNDN);
        mpfr_init(r48174);
        mpfr_init(r48175);
        mpfr_init(r48176);
        mpfr_init(r48177);
        mpfr_init(r48178);
        mpfr_init(r48179);
        mpfr_init(r48180);
        mpfr_init(r48181);
        mpfr_init(r48182);
        mpfr_init(r48183);
        mpfr_init(r48184);
        mpfr_init(r48185);
        mpfr_init(r48186);
        mpfr_init(r48187);
        mpfr_init(r48188);
        mpfr_init(r48189);
        mpfr_init(r48190);
}

double f_dm(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
        mpfr_set_d(r48145, x, MPFR_RNDN);
        ;
        mpfr_set_si(r48147, mpfr_cmp(r48145, r48146) <= 0, MPFR_RNDN);
        mpfr_set_d(r48148, y, MPFR_RNDN);
        mpfr_set_d(r48149, z, MPFR_RNDN);
        mpfr_mul(r48150, r48148, r48149, MPFR_RNDN);
        mpfr_set_d(r48151, t, MPFR_RNDN);
        mpfr_set_d(r48152, a, MPFR_RNDN);
        mpfr_mul(r48153, r48151, r48152, MPFR_RNDN);
        mpfr_sub(r48154, r48150, r48153, MPFR_RNDN);
        mpfr_mul(r48155, r48145, r48154, MPFR_RNDN);
        mpfr_set_d(r48156, b, MPFR_RNDN);
        mpfr_set_d(r48157, c, MPFR_RNDN);
        mpfr_mul(r48158, r48157, r48149, MPFR_RNDN);
        mpfr_set_d(r48159, i, MPFR_RNDN);
        mpfr_mul(r48160, r48159, r48152, MPFR_RNDN);
        mpfr_sub(r48161, r48158, r48160, MPFR_RNDN);
        mpfr_cbrt(r48162, r48161, MPFR_RNDN);
        mpfr_mul(r48163, r48162, r48162, MPFR_RNDN);
        mpfr_mul(r48164, r48156, r48163, MPFR_RNDN);
        mpfr_mul(r48165, r48164, r48162, MPFR_RNDN);
        mpfr_sub(r48166, r48155, r48165, MPFR_RNDN);
        mpfr_set_d(r48167, j, MPFR_RNDN);
        mpfr_mul(r48168, r48157, r48151, MPFR_RNDN);
        mpfr_mul(r48169, r48159, r48148, MPFR_RNDN);
        mpfr_sub(r48170, r48168, r48169, MPFR_RNDN);
        mpfr_mul(r48171, r48167, r48170, MPFR_RNDN);
        mpfr_add(r48172, r48166, r48171, MPFR_RNDN);
        ;
        mpfr_set_si(r48174, mpfr_cmp(r48145, r48173) <= 0, MPFR_RNDN);
        mpfr_neg(r48175, r48152, MPFR_RNDN);
        mpfr_mul(r48176, r48151, r48145, MPFR_RNDN);
        mpfr_mul(r48177, r48175, r48176, MPFR_RNDN);
        mpfr_mul(r48178, r48145, r48149, MPFR_RNDN);
        mpfr_mul(r48179, r48178, r48148, MPFR_RNDN);
        mpfr_add(r48180, r48177, r48179, MPFR_RNDN);
        mpfr_mul(r48181, r48148, r48159, MPFR_RNDN);
        mpfr_sub(r48182, r48168, r48181, MPFR_RNDN);
        mpfr_mul(r48183, r48167, r48182, MPFR_RNDN);
        mpfr_add(r48184, r48180, r48183, MPFR_RNDN);
        mpfr_mul(r48185, r48149, r48157, MPFR_RNDN);
        mpfr_sub(r48186, r48185, r48160, MPFR_RNDN);
        mpfr_mul(r48187, r48186, r48156, MPFR_RNDN);
        mpfr_sub(r48188, r48184, r48187, MPFR_RNDN);
        if (mpfr_get_si(r48174, MPFR_RNDN)) { mpfr_set(r48189, r48188, MPFR_RNDN); } else { mpfr_set(r48189, r48172, MPFR_RNDN); };
        if (mpfr_get_si(r48147, MPFR_RNDN)) { mpfr_set(r48190, r48172, MPFR_RNDN); } else { mpfr_set(r48190, r48189, MPFR_RNDN); };
        return mpfr_get_d(r48190, MPFR_RNDN);
}

