#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 r26060 = x;
        float r26061 = y;
        float r26062 = z;
        float r26063 = r26061 * r26062;
        float r26064 = t;
        float r26065 = a;
        float r26066 = r26064 * r26065;
        float r26067 = r26063 - r26066;
        float r26068 = r26060 * r26067;
        float r26069 = b;
        float r26070 = c;
        float r26071 = r26070 * r26062;
        float r26072 = i;
        float r26073 = r26072 * r26065;
        float r26074 = r26071 - r26073;
        float r26075 = r26069 * r26074;
        float r26076 = r26068 - r26075;
        float r26077 = j;
        float r26078 = r26070 * r26064;
        float r26079 = r26072 * r26061;
        float r26080 = r26078 - r26079;
        float r26081 = r26077 * r26080;
        float r26082 = r26076 + r26081;
        return r26082;
}

double f_id(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
        double r26083 = x;
        double r26084 = y;
        double r26085 = z;
        double r26086 = r26084 * r26085;
        double r26087 = t;
        double r26088 = a;
        double r26089 = r26087 * r26088;
        double r26090 = r26086 - r26089;
        double r26091 = r26083 * r26090;
        double r26092 = b;
        double r26093 = c;
        double r26094 = r26093 * r26085;
        double r26095 = i;
        double r26096 = r26095 * r26088;
        double r26097 = r26094 - r26096;
        double r26098 = r26092 * r26097;
        double r26099 = r26091 - r26098;
        double r26100 = j;
        double r26101 = r26093 * r26087;
        double r26102 = r26095 * r26084;
        double r26103 = r26101 - r26102;
        double r26104 = r26100 * r26103;
        double r26105 = r26099 + r26104;
        return r26105;
}


double f_of(float x, float y, float z, float t, float a, float b, float c, float i, float j) {
        float r26106 = z;
        float r26107 = y;
        float r26108 = r26106 * r26107;
        float r26109 = t;
        float r26110 = a;
        float r26111 = r26109 * r26110;
        float r26112 = r26108 - r26111;
        float r26113 = x;
        float r26114 = b;
        float r26115 = r26110 * r26114;
        float r26116 = j;
        float r26117 = r26107 * r26116;
        float r26118 = r26115 - r26117;
        float r26119 = i;
        float r26120 = c;
        float r26121 = r26116 * r26120;
        float r26122 = r26109 * r26121;
        float r26123 = fma(r26118, r26119, r26122);
        float r26124 = fma(r26112, r26113, r26123);
        float r26125 = -3.0907514067067606e+307;
        bool r26126 = r26124 <= r26125;
        float r26127 = r26109 * r26120;
        float r26128 = r26119 * r26107;
        float r26129 = r26127 - r26128;
        float r26130 = r26129 * r26116;
        float r26131 = r26120 * r26106;
        float r26132 = r26119 * r26110;
        float r26133 = r26131 - r26132;
        float r26134 = r26109 * r26113;
        float r26135 = r26134 * r26110;
        float r26136 = fma(r26114, r26133, r26135);
        float r26137 = r26130 - r26136;
        float r26138 = -4.106585561653922e+205;
        bool r26139 = r26124 <= r26138;
        float r26140 = 3.711449710058153e+177;
        bool r26141 = r26124 <= r26140;
        float r26142 = r26110 * r26109;
        float r26143 = r26108 - r26142;
        float r26144 = r26120 * r26109;
        float r26145 = r26144 - r26128;
        float r26146 = cbrt(r26145);
        float r26147 = r26146 * r26146;
        float r26148 = r26116 * r26147;
        float r26149 = r26148 * r26146;
        float r26150 = fma(r26143, r26113, r26149);
        float r26151 = r26106 * r26120;
        float r26152 = r26151 - r26132;
        float r26153 = r26152 * r26114;
        float r26154 = r26150 - r26153;
        float r26155 = 8.48469441737902e+300;
        bool r26156 = r26124 <= r26155;
        float r26157 = r26156 ? r26124 : r26137;
        float r26158 = r26141 ? r26154 : r26157;
        float r26159 = r26139 ? r26124 : r26158;
        float r26160 = r26126 ? r26137 : r26159;
        return r26160;
}

double f_od(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
        double r26161 = z;
        double r26162 = y;
        double r26163 = r26161 * r26162;
        double r26164 = t;
        double r26165 = a;
        double r26166 = r26164 * r26165;
        double r26167 = r26163 - r26166;
        double r26168 = x;
        double r26169 = b;
        double r26170 = r26165 * r26169;
        double r26171 = j;
        double r26172 = r26162 * r26171;
        double r26173 = r26170 - r26172;
        double r26174 = i;
        double r26175 = c;
        double r26176 = r26171 * r26175;
        double r26177 = r26164 * r26176;
        double r26178 = fma(r26173, r26174, r26177);
        double r26179 = fma(r26167, r26168, r26178);
        double r26180 = -3.0907514067067606e+307;
        bool r26181 = r26179 <= r26180;
        double r26182 = r26164 * r26175;
        double r26183 = r26174 * r26162;
        double r26184 = r26182 - r26183;
        double r26185 = r26184 * r26171;
        double r26186 = r26175 * r26161;
        double r26187 = r26174 * r26165;
        double r26188 = r26186 - r26187;
        double r26189 = r26164 * r26168;
        double r26190 = r26189 * r26165;
        double r26191 = fma(r26169, r26188, r26190);
        double r26192 = r26185 - r26191;
        double r26193 = -4.106585561653922e+205;
        bool r26194 = r26179 <= r26193;
        double r26195 = 3.711449710058153e+177;
        bool r26196 = r26179 <= r26195;
        double r26197 = r26165 * r26164;
        double r26198 = r26163 - r26197;
        double r26199 = r26175 * r26164;
        double r26200 = r26199 - r26183;
        double r26201 = cbrt(r26200);
        double r26202 = r26201 * r26201;
        double r26203 = r26171 * r26202;
        double r26204 = r26203 * r26201;
        double r26205 = fma(r26198, r26168, r26204);
        double r26206 = r26161 * r26175;
        double r26207 = r26206 - r26187;
        double r26208 = r26207 * r26169;
        double r26209 = r26205 - r26208;
        double r26210 = 8.48469441737902e+300;
        bool r26211 = r26179 <= r26210;
        double r26212 = r26211 ? r26179 : r26192;
        double r26213 = r26196 ? r26209 : r26212;
        double r26214 = r26194 ? r26179 : r26213;
        double r26215 = r26181 ? r26192 : r26214;
        return r26215;
}

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 r26216, r26217, r26218, r26219, r26220, r26221, r26222, r26223, r26224, r26225, r26226, r26227, r26228, r26229, r26230, r26231, r26232, r26233, r26234, r26235, r26236, r26237, r26238;

void setup_mpfr_f_im() {
        mpfr_set_default_prec(592);
        mpfr_init(r26216);
        mpfr_init(r26217);
        mpfr_init(r26218);
        mpfr_init(r26219);
        mpfr_init(r26220);
        mpfr_init(r26221);
        mpfr_init(r26222);
        mpfr_init(r26223);
        mpfr_init(r26224);
        mpfr_init(r26225);
        mpfr_init(r26226);
        mpfr_init(r26227);
        mpfr_init(r26228);
        mpfr_init(r26229);
        mpfr_init(r26230);
        mpfr_init(r26231);
        mpfr_init(r26232);
        mpfr_init(r26233);
        mpfr_init(r26234);
        mpfr_init(r26235);
        mpfr_init(r26236);
        mpfr_init(r26237);
        mpfr_init(r26238);
}

double f_im(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
        mpfr_set_d(r26216, x, MPFR_RNDN);
        mpfr_set_d(r26217, y, MPFR_RNDN);
        mpfr_set_d(r26218, z, MPFR_RNDN);
        mpfr_mul(r26219, r26217, r26218, MPFR_RNDN);
        mpfr_set_d(r26220, t, MPFR_RNDN);
        mpfr_set_d(r26221, a, MPFR_RNDN);
        mpfr_mul(r26222, r26220, r26221, MPFR_RNDN);
        mpfr_sub(r26223, r26219, r26222, MPFR_RNDN);
        mpfr_mul(r26224, r26216, r26223, MPFR_RNDN);
        mpfr_set_d(r26225, b, MPFR_RNDN);
        mpfr_set_d(r26226, c, MPFR_RNDN);
        mpfr_mul(r26227, r26226, r26218, MPFR_RNDN);
        mpfr_set_d(r26228, i, MPFR_RNDN);
        mpfr_mul(r26229, r26228, r26221, MPFR_RNDN);
        mpfr_sub(r26230, r26227, r26229, MPFR_RNDN);
        mpfr_mul(r26231, r26225, r26230, MPFR_RNDN);
        mpfr_sub(r26232, r26224, r26231, MPFR_RNDN);
        mpfr_set_d(r26233, j, MPFR_RNDN);
        mpfr_mul(r26234, r26226, r26220, MPFR_RNDN);
        mpfr_mul(r26235, r26228, r26217, MPFR_RNDN);
        mpfr_sub(r26236, r26234, r26235, MPFR_RNDN);
        mpfr_mul(r26237, r26233, r26236, MPFR_RNDN);
        mpfr_add(r26238, r26232, r26237, MPFR_RNDN);
        return mpfr_get_d(r26238, MPFR_RNDN);
}

static mpfr_t r26239, r26240, r26241, r26242, r26243, r26244, r26245, r26246, r26247, r26248, r26249, r26250, r26251, r26252, r26253, r26254, r26255, r26256, r26257, r26258, r26259, r26260, r26261, r26262, r26263, r26264, r26265, r26266, r26267, r26268, r26269, r26270, r26271, r26272, r26273, r26274, r26275, r26276, r26277, r26278, r26279, r26280, r26281, r26282, r26283, r26284, r26285, r26286, r26287, r26288, r26289, r26290, r26291, r26292, r26293;

void setup_mpfr_f_fm() {
        mpfr_set_default_prec(592);
        mpfr_init(r26239);
        mpfr_init(r26240);
        mpfr_init(r26241);
        mpfr_init(r26242);
        mpfr_init(r26243);
        mpfr_init(r26244);
        mpfr_init(r26245);
        mpfr_init(r26246);
        mpfr_init(r26247);
        mpfr_init(r26248);
        mpfr_init(r26249);
        mpfr_init(r26250);
        mpfr_init(r26251);
        mpfr_init(r26252);
        mpfr_init(r26253);
        mpfr_init(r26254);
        mpfr_init(r26255);
        mpfr_init(r26256);
        mpfr_init(r26257);
        mpfr_init_set_str(r26258, "-3.0907514067067606e+307", 10, MPFR_RNDN);
        mpfr_init(r26259);
        mpfr_init(r26260);
        mpfr_init(r26261);
        mpfr_init(r26262);
        mpfr_init(r26263);
        mpfr_init(r26264);
        mpfr_init(r26265);
        mpfr_init(r26266);
        mpfr_init(r26267);
        mpfr_init(r26268);
        mpfr_init(r26269);
        mpfr_init(r26270);
        mpfr_init_set_str(r26271, "-4.106585561653922e+205", 10, MPFR_RNDN);
        mpfr_init(r26272);
        mpfr_init_set_str(r26273, "3.711449710058153e+177", 10, MPFR_RNDN);
        mpfr_init(r26274);
        mpfr_init(r26275);
        mpfr_init(r26276);
        mpfr_init(r26277);
        mpfr_init(r26278);
        mpfr_init(r26279);
        mpfr_init(r26280);
        mpfr_init(r26281);
        mpfr_init(r26282);
        mpfr_init(r26283);
        mpfr_init(r26284);
        mpfr_init(r26285);
        mpfr_init(r26286);
        mpfr_init(r26287);
        mpfr_init_set_str(r26288, "8.48469441737902e+300", 10, MPFR_RNDN);
        mpfr_init(r26289);
        mpfr_init(r26290);
        mpfr_init(r26291);
        mpfr_init(r26292);
        mpfr_init(r26293);
}

double f_fm(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
        mpfr_set_d(r26239, z, MPFR_RNDN);
        mpfr_set_d(r26240, y, MPFR_RNDN);
        mpfr_mul(r26241, r26239, r26240, MPFR_RNDN);
        mpfr_set_d(r26242, t, MPFR_RNDN);
        mpfr_set_d(r26243, a, MPFR_RNDN);
        mpfr_mul(r26244, r26242, r26243, MPFR_RNDN);
        mpfr_sub(r26245, r26241, r26244, MPFR_RNDN);
        mpfr_set_d(r26246, x, MPFR_RNDN);
        mpfr_set_d(r26247, b, MPFR_RNDN);
        mpfr_mul(r26248, r26243, r26247, MPFR_RNDN);
        mpfr_set_d(r26249, j, MPFR_RNDN);
        mpfr_mul(r26250, r26240, r26249, MPFR_RNDN);
        mpfr_sub(r26251, r26248, r26250, MPFR_RNDN);
        mpfr_set_d(r26252, i, MPFR_RNDN);
        mpfr_set_d(r26253, c, MPFR_RNDN);
        mpfr_mul(r26254, r26249, r26253, MPFR_RNDN);
        mpfr_mul(r26255, r26242, r26254, MPFR_RNDN);
        mpfr_fma(r26256, r26251, r26252, r26255, MPFR_RNDN);
        mpfr_fma(r26257, r26245, r26246, r26256, MPFR_RNDN);
        ;
        mpfr_set_si(r26259, mpfr_cmp(r26257, r26258) <= 0, MPFR_RNDN);
        mpfr_mul(r26260, r26242, r26253, MPFR_RNDN);
        mpfr_mul(r26261, r26252, r26240, MPFR_RNDN);
        mpfr_sub(r26262, r26260, r26261, MPFR_RNDN);
        mpfr_mul(r26263, r26262, r26249, MPFR_RNDN);
        mpfr_mul(r26264, r26253, r26239, MPFR_RNDN);
        mpfr_mul(r26265, r26252, r26243, MPFR_RNDN);
        mpfr_sub(r26266, r26264, r26265, MPFR_RNDN);
        mpfr_mul(r26267, r26242, r26246, MPFR_RNDN);
        mpfr_mul(r26268, r26267, r26243, MPFR_RNDN);
        mpfr_fma(r26269, r26247, r26266, r26268, MPFR_RNDN);
        mpfr_sub(r26270, r26263, r26269, MPFR_RNDN);
        ;
        mpfr_set_si(r26272, mpfr_cmp(r26257, r26271) <= 0, MPFR_RNDN);
        ;
        mpfr_set_si(r26274, mpfr_cmp(r26257, r26273) <= 0, MPFR_RNDN);
        mpfr_mul(r26275, r26243, r26242, MPFR_RNDN);
        mpfr_sub(r26276, r26241, r26275, MPFR_RNDN);
        mpfr_mul(r26277, r26253, r26242, MPFR_RNDN);
        mpfr_sub(r26278, r26277, r26261, MPFR_RNDN);
        mpfr_cbrt(r26279, r26278, MPFR_RNDN);
        mpfr_mul(r26280, r26279, r26279, MPFR_RNDN);
        mpfr_mul(r26281, r26249, r26280, MPFR_RNDN);
        mpfr_mul(r26282, r26281, r26279, MPFR_RNDN);
        mpfr_fma(r26283, r26276, r26246, r26282, MPFR_RNDN);
        mpfr_mul(r26284, r26239, r26253, MPFR_RNDN);
        mpfr_sub(r26285, r26284, r26265, MPFR_RNDN);
        mpfr_mul(r26286, r26285, r26247, MPFR_RNDN);
        mpfr_sub(r26287, r26283, r26286, MPFR_RNDN);
        ;
        mpfr_set_si(r26289, mpfr_cmp(r26257, r26288) <= 0, MPFR_RNDN);
        if (mpfr_get_si(r26289, MPFR_RNDN)) { mpfr_set(r26290, r26257, MPFR_RNDN); } else { mpfr_set(r26290, r26270, MPFR_RNDN); };
        if (mpfr_get_si(r26274, MPFR_RNDN)) { mpfr_set(r26291, r26287, MPFR_RNDN); } else { mpfr_set(r26291, r26290, MPFR_RNDN); };
        if (mpfr_get_si(r26272, MPFR_RNDN)) { mpfr_set(r26292, r26257, MPFR_RNDN); } else { mpfr_set(r26292, r26291, MPFR_RNDN); };
        if (mpfr_get_si(r26259, MPFR_RNDN)) { mpfr_set(r26293, r26270, MPFR_RNDN); } else { mpfr_set(r26293, r26292, MPFR_RNDN); };
        return mpfr_get_d(r26293, MPFR_RNDN);
}

static mpfr_t r26294, r26295, r26296, r26297, r26298, r26299, r26300, r26301, r26302, r26303, r26304, r26305, r26306, r26307, r26308, r26309, r26310, r26311, r26312, r26313, r26314, r26315, r26316, r26317, r26318, r26319, r26320, r26321, r26322, r26323, r26324, r26325, r26326, r26327, r26328, r26329, r26330, r26331, r26332, r26333, r26334, r26335, r26336, r26337, r26338, r26339, r26340, r26341, r26342, r26343, r26344, r26345, r26346, r26347, r26348;

void setup_mpfr_f_dm() {
        mpfr_set_default_prec(592);
        mpfr_init(r26294);
        mpfr_init(r26295);
        mpfr_init(r26296);
        mpfr_init(r26297);
        mpfr_init(r26298);
        mpfr_init(r26299);
        mpfr_init(r26300);
        mpfr_init(r26301);
        mpfr_init(r26302);
        mpfr_init(r26303);
        mpfr_init(r26304);
        mpfr_init(r26305);
        mpfr_init(r26306);
        mpfr_init(r26307);
        mpfr_init(r26308);
        mpfr_init(r26309);
        mpfr_init(r26310);
        mpfr_init(r26311);
        mpfr_init(r26312);
        mpfr_init_set_str(r26313, "-3.0907514067067606e+307", 10, MPFR_RNDN);
        mpfr_init(r26314);
        mpfr_init(r26315);
        mpfr_init(r26316);
        mpfr_init(r26317);
        mpfr_init(r26318);
        mpfr_init(r26319);
        mpfr_init(r26320);
        mpfr_init(r26321);
        mpfr_init(r26322);
        mpfr_init(r26323);
        mpfr_init(r26324);
        mpfr_init(r26325);
        mpfr_init_set_str(r26326, "-4.106585561653922e+205", 10, MPFR_RNDN);
        mpfr_init(r26327);
        mpfr_init_set_str(r26328, "3.711449710058153e+177", 10, MPFR_RNDN);
        mpfr_init(r26329);
        mpfr_init(r26330);
        mpfr_init(r26331);
        mpfr_init(r26332);
        mpfr_init(r26333);
        mpfr_init(r26334);
        mpfr_init(r26335);
        mpfr_init(r26336);
        mpfr_init(r26337);
        mpfr_init(r26338);
        mpfr_init(r26339);
        mpfr_init(r26340);
        mpfr_init(r26341);
        mpfr_init(r26342);
        mpfr_init_set_str(r26343, "8.48469441737902e+300", 10, MPFR_RNDN);
        mpfr_init(r26344);
        mpfr_init(r26345);
        mpfr_init(r26346);
        mpfr_init(r26347);
        mpfr_init(r26348);
}

double f_dm(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
        mpfr_set_d(r26294, z, MPFR_RNDN);
        mpfr_set_d(r26295, y, MPFR_RNDN);
        mpfr_mul(r26296, r26294, r26295, MPFR_RNDN);
        mpfr_set_d(r26297, t, MPFR_RNDN);
        mpfr_set_d(r26298, a, MPFR_RNDN);
        mpfr_mul(r26299, r26297, r26298, MPFR_RNDN);
        mpfr_sub(r26300, r26296, r26299, MPFR_RNDN);
        mpfr_set_d(r26301, x, MPFR_RNDN);
        mpfr_set_d(r26302, b, MPFR_RNDN);
        mpfr_mul(r26303, r26298, r26302, MPFR_RNDN);
        mpfr_set_d(r26304, j, MPFR_RNDN);
        mpfr_mul(r26305, r26295, r26304, MPFR_RNDN);
        mpfr_sub(r26306, r26303, r26305, MPFR_RNDN);
        mpfr_set_d(r26307, i, MPFR_RNDN);
        mpfr_set_d(r26308, c, MPFR_RNDN);
        mpfr_mul(r26309, r26304, r26308, MPFR_RNDN);
        mpfr_mul(r26310, r26297, r26309, MPFR_RNDN);
        mpfr_fma(r26311, r26306, r26307, r26310, MPFR_RNDN);
        mpfr_fma(r26312, r26300, r26301, r26311, MPFR_RNDN);
        ;
        mpfr_set_si(r26314, mpfr_cmp(r26312, r26313) <= 0, MPFR_RNDN);
        mpfr_mul(r26315, r26297, r26308, MPFR_RNDN);
        mpfr_mul(r26316, r26307, r26295, MPFR_RNDN);
        mpfr_sub(r26317, r26315, r26316, MPFR_RNDN);
        mpfr_mul(r26318, r26317, r26304, MPFR_RNDN);
        mpfr_mul(r26319, r26308, r26294, MPFR_RNDN);
        mpfr_mul(r26320, r26307, r26298, MPFR_RNDN);
        mpfr_sub(r26321, r26319, r26320, MPFR_RNDN);
        mpfr_mul(r26322, r26297, r26301, MPFR_RNDN);
        mpfr_mul(r26323, r26322, r26298, MPFR_RNDN);
        mpfr_fma(r26324, r26302, r26321, r26323, MPFR_RNDN);
        mpfr_sub(r26325, r26318, r26324, MPFR_RNDN);
        ;
        mpfr_set_si(r26327, mpfr_cmp(r26312, r26326) <= 0, MPFR_RNDN);
        ;
        mpfr_set_si(r26329, mpfr_cmp(r26312, r26328) <= 0, MPFR_RNDN);
        mpfr_mul(r26330, r26298, r26297, MPFR_RNDN);
        mpfr_sub(r26331, r26296, r26330, MPFR_RNDN);
        mpfr_mul(r26332, r26308, r26297, MPFR_RNDN);
        mpfr_sub(r26333, r26332, r26316, MPFR_RNDN);
        mpfr_cbrt(r26334, r26333, MPFR_RNDN);
        mpfr_mul(r26335, r26334, r26334, MPFR_RNDN);
        mpfr_mul(r26336, r26304, r26335, MPFR_RNDN);
        mpfr_mul(r26337, r26336, r26334, MPFR_RNDN);
        mpfr_fma(r26338, r26331, r26301, r26337, MPFR_RNDN);
        mpfr_mul(r26339, r26294, r26308, MPFR_RNDN);
        mpfr_sub(r26340, r26339, r26320, MPFR_RNDN);
        mpfr_mul(r26341, r26340, r26302, MPFR_RNDN);
        mpfr_sub(r26342, r26338, r26341, MPFR_RNDN);
        ;
        mpfr_set_si(r26344, mpfr_cmp(r26312, r26343) <= 0, MPFR_RNDN);
        if (mpfr_get_si(r26344, MPFR_RNDN)) { mpfr_set(r26345, r26312, MPFR_RNDN); } else { mpfr_set(r26345, r26325, MPFR_RNDN); };
        if (mpfr_get_si(r26329, MPFR_RNDN)) { mpfr_set(r26346, r26342, MPFR_RNDN); } else { mpfr_set(r26346, r26345, MPFR_RNDN); };
        if (mpfr_get_si(r26327, MPFR_RNDN)) { mpfr_set(r26347, r26312, MPFR_RNDN); } else { mpfr_set(r26347, r26346, MPFR_RNDN); };
        if (mpfr_get_si(r26314, MPFR_RNDN)) { mpfr_set(r26348, r26325, MPFR_RNDN); } else { mpfr_set(r26348, r26347, MPFR_RNDN); };
        return mpfr_get_d(r26348, MPFR_RNDN);
}

