\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 -1.929309415075956 \cdot 10^{-274}:\\
\;\;\;\;\mathsf{fma}\left(z \cdot y - a \cdot t, x, \mathsf{fma}\left(b, \sqrt[3]{i \cdot a - z \cdot c} \cdot \left(\sqrt[3]{i \cdot a - z \cdot c} \cdot \sqrt[3]{i \cdot a - z \cdot c}\right), \left(c \cdot t - i \cdot y\right) \cdot j\right)\right)\\
\mathbf{elif}\;b \le 1.127796530083514 \cdot 10^{-130}:\\
\;\;\;\;\mathsf{fma}\left(z \cdot y - a \cdot t, x, \left(c \cdot t - i \cdot y\right) \cdot j - z \cdot \left(c \cdot b\right)\right)\\
\mathbf{else}:\\
\;\;\;\;\mathsf{fma}\left(z \cdot y - a \cdot t, x, \mathsf{fma}\left(b, \sqrt[3]{i \cdot a - z \cdot c} \cdot \left(\sqrt[3]{i \cdot a - z \cdot c} \cdot \sqrt[3]{i \cdot a - z \cdot c}\right), \left(c \cdot t - i \cdot y\right) \cdot j\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 r3918979 = x;
double r3918980 = y;
double r3918981 = z;
double r3918982 = r3918980 * r3918981;
double r3918983 = t;
double r3918984 = a;
double r3918985 = r3918983 * r3918984;
double r3918986 = r3918982 - r3918985;
double r3918987 = r3918979 * r3918986;
double r3918988 = b;
double r3918989 = c;
double r3918990 = r3918989 * r3918981;
double r3918991 = i;
double r3918992 = r3918991 * r3918984;
double r3918993 = r3918990 - r3918992;
double r3918994 = r3918988 * r3918993;
double r3918995 = r3918987 - r3918994;
double r3918996 = j;
double r3918997 = r3918989 * r3918983;
double r3918998 = r3918991 * r3918980;
double r3918999 = r3918997 - r3918998;
double r3919000 = r3918996 * r3918999;
double r3919001 = r3918995 + r3919000;
return r3919001;
}
double f(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
double r3919002 = b;
double r3919003 = -1.929309415075956e-274;
bool r3919004 = r3919002 <= r3919003;
double r3919005 = z;
double r3919006 = y;
double r3919007 = r3919005 * r3919006;
double r3919008 = a;
double r3919009 = t;
double r3919010 = r3919008 * r3919009;
double r3919011 = r3919007 - r3919010;
double r3919012 = x;
double r3919013 = i;
double r3919014 = r3919013 * r3919008;
double r3919015 = c;
double r3919016 = r3919005 * r3919015;
double r3919017 = r3919014 - r3919016;
double r3919018 = cbrt(r3919017);
double r3919019 = r3919018 * r3919018;
double r3919020 = r3919018 * r3919019;
double r3919021 = r3919015 * r3919009;
double r3919022 = r3919013 * r3919006;
double r3919023 = r3919021 - r3919022;
double r3919024 = j;
double r3919025 = r3919023 * r3919024;
double r3919026 = fma(r3919002, r3919020, r3919025);
double r3919027 = fma(r3919011, r3919012, r3919026);
double r3919028 = 1.127796530083514e-130;
bool r3919029 = r3919002 <= r3919028;
double r3919030 = r3919015 * r3919002;
double r3919031 = r3919005 * r3919030;
double r3919032 = r3919025 - r3919031;
double r3919033 = fma(r3919011, r3919012, r3919032);
double r3919034 = r3919029 ? r3919033 : r3919027;
double r3919035 = r3919004 ? r3919027 : r3919034;
return r3919035;
}



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 < -1.929309415075956e-274 or 1.127796530083514e-130 < b Initial program 10.5
Simplified10.5
rmApplied add-cube-cbrt10.8
if -1.929309415075956e-274 < b < 1.127796530083514e-130Initial program 16.6
Simplified16.6
Taylor expanded around inf 16.6
Taylor expanded around -inf 13.2
Simplified13.1
Final simplification11.3
herbie shell --seed 2019139 +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)))))