\left(\left(\left(\left(\left(x \cdot y - z \cdot t\right) \cdot \left(a \cdot b - c \cdot i\right) - \left(x \cdot j - z \cdot k\right) \cdot \left(y0 \cdot b - y1 \cdot i\right)\right) + \left(x \cdot y2 - z \cdot y3\right) \cdot \left(y0 \cdot c - y1 \cdot a\right)\right) + \left(t \cdot j - y \cdot k\right) \cdot \left(y4 \cdot b - y5 \cdot i\right)\right) - \left(t \cdot y2 - y \cdot y3\right) \cdot \left(y4 \cdot c - y5 \cdot a\right)\right) + \left(k \cdot y2 - j \cdot y3\right) \cdot \left(y4 \cdot y1 - y5 \cdot y0\right)
\begin{array}{l}
\mathbf{if}\;c \le -67340.70744948235:\\
\;\;\;\;\left(\left(\left(y5 \cdot y0\right) \cdot j\right) \cdot y3 - \left(k \cdot \left(\left(y5 \cdot y0\right) \cdot y2\right) + y1 \cdot \left(y3 \cdot \left(y4 \cdot j\right)\right)\right)\right) + \left(\left(\left(\left(\mathsf{fma}\left(\left(-a\right), y1, \left(y1 \cdot a\right)\right) \cdot \left(y2 \cdot x - z \cdot y3\right) + \left(y2 \cdot x - z \cdot y3\right) \cdot \mathsf{fma}\left(y0, c, \left(-y1 \cdot a\right)\right)\right) + \left(\left(\left(x \cdot y - t \cdot z\right) \cdot \mathsf{fma}\left(a, b, \left(c \cdot \left(-i\right)\right)\right) + \mathsf{fma}\left(\left(-i\right), c, \left(i \cdot c\right)\right) \cdot \left(x \cdot y - t \cdot z\right)\right) - \left(j \cdot x - z \cdot k\right) \cdot \left(b \cdot y0 - i \cdot y1\right)\right)\right) + \left(b \cdot y4 - i \cdot y5\right) \cdot \left(t \cdot j - y \cdot k\right)\right) - \left(y2 \cdot t - y \cdot y3\right) \cdot \left(c \cdot y4 - y5 \cdot a\right)\right)\\
\mathbf{elif}\;c \le 1.3198052755593733 \cdot 10^{-292}:\\
\;\;\;\;\left(y2 \cdot k - j \cdot y3\right) \cdot \left(y1 \cdot y4 - y5 \cdot y0\right) + \left(\left(\left(b \cdot y4 - i \cdot y5\right) \cdot \left(t \cdot j - y \cdot k\right) + \left(\left(c \cdot y0 - y1 \cdot a\right) \cdot \left(y2 \cdot x - z \cdot y3\right) + \left(\left(\left(i \cdot t\right) \cdot \left(z \cdot c\right) - \mathsf{fma}\left(a, \left(\left(b \cdot t\right) \cdot z\right), \left(\left(\left(c \cdot y\right) \cdot x\right) \cdot i\right)\right)\right) - \left(j \cdot x - z \cdot k\right) \cdot \left(b \cdot y0 - i \cdot y1\right)\right)\right)\right) - \left(y2 \cdot t - y \cdot y3\right) \cdot \left(c \cdot y4 - y5 \cdot a\right)\right)\\
\mathbf{elif}\;c \le 9.943414299827647 \cdot 10^{-88}:\\
\;\;\;\;\left(\left(\left(y5 \cdot y0\right) \cdot j\right) \cdot y3 - \left(k \cdot \left(\left(y5 \cdot y0\right) \cdot y2\right) + y1 \cdot \left(y3 \cdot \left(y4 \cdot j\right)\right)\right)\right) + \left(\left(\left(\left(\mathsf{fma}\left(\left(-a\right), y1, \left(y1 \cdot a\right)\right) \cdot \left(y2 \cdot x - z \cdot y3\right) + \left(y2 \cdot x - z \cdot y3\right) \cdot \mathsf{fma}\left(y0, c, \left(-y1 \cdot a\right)\right)\right) + \left(\left(\left(x \cdot y - t \cdot z\right) \cdot \mathsf{fma}\left(a, b, \left(c \cdot \left(-i\right)\right)\right) + \mathsf{fma}\left(\left(-i\right), c, \left(i \cdot c\right)\right) \cdot \left(x \cdot y - t \cdot z\right)\right) - \left(j \cdot x - z \cdot k\right) \cdot \left(b \cdot y0 - i \cdot y1\right)\right)\right) + \left(b \cdot y4 - i \cdot y5\right) \cdot \left(t \cdot j - y \cdot k\right)\right) - \left(y2 \cdot t - y \cdot y3\right) \cdot \left(c \cdot y4 - y5 \cdot a\right)\right)\\
\mathbf{elif}\;c \le 8.684619863318624 \cdot 10^{+62}:\\
\;\;\;\;\left(y2 \cdot k - j \cdot y3\right) \cdot \left(y1 \cdot y4 - y5 \cdot y0\right) + \left(\left(\left(b \cdot y4 - i \cdot y5\right) \cdot \left(t \cdot j - y \cdot k\right) + \left(\left(c \cdot y0 - y1 \cdot a\right) \cdot \left(y2 \cdot x - z \cdot y3\right) + \left(\left(\left(i \cdot t\right) \cdot \left(z \cdot c\right) - \mathsf{fma}\left(a, \left(\left(b \cdot t\right) \cdot z\right), \left(\left(\left(c \cdot y\right) \cdot x\right) \cdot i\right)\right)\right) - \left(j \cdot x - z \cdot k\right) \cdot \left(b \cdot y0 - i \cdot y1\right)\right)\right)\right) - \left(y2 \cdot t - y \cdot y3\right) \cdot \left(c \cdot y4 - y5 \cdot a\right)\right)\\
\mathbf{else}:\\
\;\;\;\;\left(y2 \cdot k - j \cdot y3\right) \cdot \left(y1 \cdot y4 - y5 \cdot y0\right) + \left(\left(\left(\left(c \cdot y0 - y1 \cdot a\right) \cdot \left(y2 \cdot x - z \cdot y3\right) + \left(\left(a \cdot b - i \cdot c\right) \cdot \left(x \cdot y - t \cdot z\right) - \left(j \cdot x - z \cdot k\right) \cdot \left(b \cdot y0 - i \cdot y1\right)\right)\right) + \left(\sqrt[3]{t \cdot j - y \cdot k} \cdot \sqrt[3]{t \cdot j - y \cdot k}\right) \cdot \left(\left(b \cdot y4 - i \cdot y5\right) \cdot \sqrt[3]{t \cdot j - y \cdot k}\right)\right) - \left(y2 \cdot t - y \cdot y3\right) \cdot \left(c \cdot y4 - y5 \cdot a\right)\right)\\
\end{array}double f(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k, double y0, double y1, double y2, double y3, double y4, double y5) {
double r1888958 = x;
double r1888959 = y;
double r1888960 = r1888958 * r1888959;
double r1888961 = z;
double r1888962 = t;
double r1888963 = r1888961 * r1888962;
double r1888964 = r1888960 - r1888963;
double r1888965 = a;
double r1888966 = b;
double r1888967 = r1888965 * r1888966;
double r1888968 = c;
double r1888969 = i;
double r1888970 = r1888968 * r1888969;
double r1888971 = r1888967 - r1888970;
double r1888972 = r1888964 * r1888971;
double r1888973 = j;
double r1888974 = r1888958 * r1888973;
double r1888975 = k;
double r1888976 = r1888961 * r1888975;
double r1888977 = r1888974 - r1888976;
double r1888978 = y0;
double r1888979 = r1888978 * r1888966;
double r1888980 = y1;
double r1888981 = r1888980 * r1888969;
double r1888982 = r1888979 - r1888981;
double r1888983 = r1888977 * r1888982;
double r1888984 = r1888972 - r1888983;
double r1888985 = y2;
double r1888986 = r1888958 * r1888985;
double r1888987 = y3;
double r1888988 = r1888961 * r1888987;
double r1888989 = r1888986 - r1888988;
double r1888990 = r1888978 * r1888968;
double r1888991 = r1888980 * r1888965;
double r1888992 = r1888990 - r1888991;
double r1888993 = r1888989 * r1888992;
double r1888994 = r1888984 + r1888993;
double r1888995 = r1888962 * r1888973;
double r1888996 = r1888959 * r1888975;
double r1888997 = r1888995 - r1888996;
double r1888998 = y4;
double r1888999 = r1888998 * r1888966;
double r1889000 = y5;
double r1889001 = r1889000 * r1888969;
double r1889002 = r1888999 - r1889001;
double r1889003 = r1888997 * r1889002;
double r1889004 = r1888994 + r1889003;
double r1889005 = r1888962 * r1888985;
double r1889006 = r1888959 * r1888987;
double r1889007 = r1889005 - r1889006;
double r1889008 = r1888998 * r1888968;
double r1889009 = r1889000 * r1888965;
double r1889010 = r1889008 - r1889009;
double r1889011 = r1889007 * r1889010;
double r1889012 = r1889004 - r1889011;
double r1889013 = r1888975 * r1888985;
double r1889014 = r1888973 * r1888987;
double r1889015 = r1889013 - r1889014;
double r1889016 = r1888998 * r1888980;
double r1889017 = r1889000 * r1888978;
double r1889018 = r1889016 - r1889017;
double r1889019 = r1889015 * r1889018;
double r1889020 = r1889012 + r1889019;
return r1889020;
}
double f(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k, double y0, double y1, double y2, double y3, double y4, double y5) {
double r1889021 = c;
double r1889022 = -67340.70744948235;
bool r1889023 = r1889021 <= r1889022;
double r1889024 = y5;
double r1889025 = y0;
double r1889026 = r1889024 * r1889025;
double r1889027 = j;
double r1889028 = r1889026 * r1889027;
double r1889029 = y3;
double r1889030 = r1889028 * r1889029;
double r1889031 = k;
double r1889032 = y2;
double r1889033 = r1889026 * r1889032;
double r1889034 = r1889031 * r1889033;
double r1889035 = y1;
double r1889036 = y4;
double r1889037 = r1889036 * r1889027;
double r1889038 = r1889029 * r1889037;
double r1889039 = r1889035 * r1889038;
double r1889040 = r1889034 + r1889039;
double r1889041 = r1889030 - r1889040;
double r1889042 = a;
double r1889043 = -r1889042;
double r1889044 = r1889035 * r1889042;
double r1889045 = fma(r1889043, r1889035, r1889044);
double r1889046 = x;
double r1889047 = r1889032 * r1889046;
double r1889048 = z;
double r1889049 = r1889048 * r1889029;
double r1889050 = r1889047 - r1889049;
double r1889051 = r1889045 * r1889050;
double r1889052 = -r1889044;
double r1889053 = fma(r1889025, r1889021, r1889052);
double r1889054 = r1889050 * r1889053;
double r1889055 = r1889051 + r1889054;
double r1889056 = y;
double r1889057 = r1889046 * r1889056;
double r1889058 = t;
double r1889059 = r1889058 * r1889048;
double r1889060 = r1889057 - r1889059;
double r1889061 = b;
double r1889062 = i;
double r1889063 = -r1889062;
double r1889064 = r1889021 * r1889063;
double r1889065 = fma(r1889042, r1889061, r1889064);
double r1889066 = r1889060 * r1889065;
double r1889067 = r1889062 * r1889021;
double r1889068 = fma(r1889063, r1889021, r1889067);
double r1889069 = r1889068 * r1889060;
double r1889070 = r1889066 + r1889069;
double r1889071 = r1889027 * r1889046;
double r1889072 = r1889048 * r1889031;
double r1889073 = r1889071 - r1889072;
double r1889074 = r1889061 * r1889025;
double r1889075 = r1889062 * r1889035;
double r1889076 = r1889074 - r1889075;
double r1889077 = r1889073 * r1889076;
double r1889078 = r1889070 - r1889077;
double r1889079 = r1889055 + r1889078;
double r1889080 = r1889061 * r1889036;
double r1889081 = r1889062 * r1889024;
double r1889082 = r1889080 - r1889081;
double r1889083 = r1889058 * r1889027;
double r1889084 = r1889056 * r1889031;
double r1889085 = r1889083 - r1889084;
double r1889086 = r1889082 * r1889085;
double r1889087 = r1889079 + r1889086;
double r1889088 = r1889032 * r1889058;
double r1889089 = r1889056 * r1889029;
double r1889090 = r1889088 - r1889089;
double r1889091 = r1889021 * r1889036;
double r1889092 = r1889024 * r1889042;
double r1889093 = r1889091 - r1889092;
double r1889094 = r1889090 * r1889093;
double r1889095 = r1889087 - r1889094;
double r1889096 = r1889041 + r1889095;
double r1889097 = 1.3198052755593733e-292;
bool r1889098 = r1889021 <= r1889097;
double r1889099 = r1889032 * r1889031;
double r1889100 = r1889027 * r1889029;
double r1889101 = r1889099 - r1889100;
double r1889102 = r1889035 * r1889036;
double r1889103 = r1889102 - r1889026;
double r1889104 = r1889101 * r1889103;
double r1889105 = r1889021 * r1889025;
double r1889106 = r1889105 - r1889044;
double r1889107 = r1889106 * r1889050;
double r1889108 = r1889062 * r1889058;
double r1889109 = r1889048 * r1889021;
double r1889110 = r1889108 * r1889109;
double r1889111 = r1889061 * r1889058;
double r1889112 = r1889111 * r1889048;
double r1889113 = r1889021 * r1889056;
double r1889114 = r1889113 * r1889046;
double r1889115 = r1889114 * r1889062;
double r1889116 = fma(r1889042, r1889112, r1889115);
double r1889117 = r1889110 - r1889116;
double r1889118 = r1889117 - r1889077;
double r1889119 = r1889107 + r1889118;
double r1889120 = r1889086 + r1889119;
double r1889121 = r1889120 - r1889094;
double r1889122 = r1889104 + r1889121;
double r1889123 = 9.943414299827647e-88;
bool r1889124 = r1889021 <= r1889123;
double r1889125 = 8.684619863318624e+62;
bool r1889126 = r1889021 <= r1889125;
double r1889127 = r1889042 * r1889061;
double r1889128 = r1889127 - r1889067;
double r1889129 = r1889128 * r1889060;
double r1889130 = r1889129 - r1889077;
double r1889131 = r1889107 + r1889130;
double r1889132 = cbrt(r1889085);
double r1889133 = r1889132 * r1889132;
double r1889134 = r1889082 * r1889132;
double r1889135 = r1889133 * r1889134;
double r1889136 = r1889131 + r1889135;
double r1889137 = r1889136 - r1889094;
double r1889138 = r1889104 + r1889137;
double r1889139 = r1889126 ? r1889122 : r1889138;
double r1889140 = r1889124 ? r1889096 : r1889139;
double r1889141 = r1889098 ? r1889122 : r1889140;
double r1889142 = r1889023 ? r1889096 : r1889141;
return r1889142;
}



Bits error versus x



Bits error versus y



Bits error versus z



Bits error versus t



Bits error versus a



Bits error versus b



Bits error versus c



Bits error versus i



Bits error versus j



Bits error versus k



Bits error versus y0



Bits error versus y1



Bits error versus y2



Bits error versus y3



Bits error versus y4



Bits error versus y5
if c < -67340.70744948235 or 1.3198052755593733e-292 < c < 9.943414299827647e-88Initial program 26.1
rmApplied prod-diff26.1
Applied distribute-rgt-in26.1
rmApplied prod-diff26.1
Applied distribute-rgt-in26.2
Taylor expanded around -inf 27.9
if -67340.70744948235 < c < 1.3198052755593733e-292 or 9.943414299827647e-88 < c < 8.684619863318624e+62Initial program 24.6
Taylor expanded around inf 26.0
Simplified26.7
if 8.684619863318624e+62 < c Initial program 28.4
rmApplied add-cube-cbrt28.5
Applied associate-*l*28.5
Final simplification27.4
herbie shell --seed 2019128 +o rules:numerics
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5)
:name "Linear.Matrix:det44 from linear-1.19.1.3"
(+ (- (+ (+ (- (* (- (* x y) (* z t)) (- (* a b) (* c i))) (* (- (* x j) (* z k)) (- (* y0 b) (* y1 i)))) (* (- (* x y2) (* z y3)) (- (* y0 c) (* y1 a)))) (* (- (* t j) (* y k)) (- (* y4 b) (* y5 i)))) (* (- (* t y2) (* y y3)) (- (* y4 c) (* y5 a)))) (* (- (* k y2) (* j y3)) (- (* y4 y1) (* y5 y0)))))