\left(x \cdot \left(y \cdot z - t \cdot a\right) - b \cdot \left(c \cdot z - i \cdot a\right)\right) + j \cdot \left(c \cdot t - i \cdot y\right)
\begin{array}{l}
\mathbf{if}\;b \le -9.769680929191317 \cdot 10^{-164}:\\
\;\;\;\;\mathsf{fma}\left(\left(i \cdot a - c \cdot z\right), b, \left(\mathsf{fma}\left(\left(c \cdot t - y \cdot i\right), j, \left(\left(y \cdot z - a \cdot t\right) \cdot x\right)\right)\right)\right)\\
\mathbf{elif}\;b \le -7.732769282403231 \cdot 10^{-233}:\\
\;\;\;\;\left(z \cdot x - j \cdot i\right) \cdot y - \left(a \cdot t\right) \cdot x\\
\mathbf{else}:\\
\;\;\;\;\mathsf{fma}\left(\left(i \cdot a - c \cdot z\right), b, \left(\mathsf{fma}\left(\left(c \cdot t - y \cdot i\right), j, \left(\left(y \cdot z - a \cdot t\right) \cdot x\right)\right)\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 r3506001 = x;
double r3506002 = y;
double r3506003 = z;
double r3506004 = r3506002 * r3506003;
double r3506005 = t;
double r3506006 = a;
double r3506007 = r3506005 * r3506006;
double r3506008 = r3506004 - r3506007;
double r3506009 = r3506001 * r3506008;
double r3506010 = b;
double r3506011 = c;
double r3506012 = r3506011 * r3506003;
double r3506013 = i;
double r3506014 = r3506013 * r3506006;
double r3506015 = r3506012 - r3506014;
double r3506016 = r3506010 * r3506015;
double r3506017 = r3506009 - r3506016;
double r3506018 = j;
double r3506019 = r3506011 * r3506005;
double r3506020 = r3506013 * r3506002;
double r3506021 = r3506019 - r3506020;
double r3506022 = r3506018 * r3506021;
double r3506023 = r3506017 + r3506022;
return r3506023;
}
double f(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
double r3506024 = b;
double r3506025 = -9.769680929191317e-164;
bool r3506026 = r3506024 <= r3506025;
double r3506027 = i;
double r3506028 = a;
double r3506029 = r3506027 * r3506028;
double r3506030 = c;
double r3506031 = z;
double r3506032 = r3506030 * r3506031;
double r3506033 = r3506029 - r3506032;
double r3506034 = t;
double r3506035 = r3506030 * r3506034;
double r3506036 = y;
double r3506037 = r3506036 * r3506027;
double r3506038 = r3506035 - r3506037;
double r3506039 = j;
double r3506040 = r3506036 * r3506031;
double r3506041 = r3506028 * r3506034;
double r3506042 = r3506040 - r3506041;
double r3506043 = x;
double r3506044 = r3506042 * r3506043;
double r3506045 = fma(r3506038, r3506039, r3506044);
double r3506046 = fma(r3506033, r3506024, r3506045);
double r3506047 = -7.732769282403231e-233;
bool r3506048 = r3506024 <= r3506047;
double r3506049 = r3506031 * r3506043;
double r3506050 = r3506039 * r3506027;
double r3506051 = r3506049 - r3506050;
double r3506052 = r3506051 * r3506036;
double r3506053 = r3506041 * r3506043;
double r3506054 = r3506052 - r3506053;
double r3506055 = r3506048 ? r3506054 : r3506046;
double r3506056 = r3506026 ? r3506046 : r3506055;
return r3506056;
}



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
if b < -9.769680929191317e-164 or -7.732769282403231e-233 < b Initial program 11.5
Simplified11.5
if -9.769680929191317e-164 < b < -7.732769282403231e-233Initial program 18.3
Simplified18.3
rmApplied add-cube-cbrt18.6
Applied associate-*r*18.6
rmApplied add-cube-cbrt18.7
Applied cbrt-prod18.7
Applied associate-*r*18.7
Taylor expanded around inf 28.1
Simplified29.6
Final simplification12.7
herbie shell --seed 2019130 +o rules:numerics
(FPCore (x y z t a b c i j)
:name "Linear.Matrix:det33 from linear-1.19.1.3"
(+ (- (* x (- (* y z) (* t a))) (* b (- (* c z) (* i a)))) (* j (- (* c t) (* i y)))))