\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 -4.39963790607126303166727796248420519442 \cdot 10^{194}:\\
\;\;\;\;\mathsf{fma}\left(c \cdot t - i \cdot y, j, \left(x \cdot \mathsf{fma}\left(y, z, -a \cdot t\right) + x \cdot \mathsf{fma}\left(-a, t, a \cdot t\right)\right) - \left(\sqrt[3]{b} \cdot \sqrt[3]{b}\right) \cdot \left(\sqrt[3]{b} \cdot \left(c \cdot z - i \cdot a\right)\right)\right)\\
\mathbf{elif}\;b \le 1.791240738306205660841110248460150700112 \cdot 10^{-6}:\\
\;\;\;\;\mathsf{fma}\left(c \cdot t - i \cdot y, j, \left(x \cdot \mathsf{fma}\left(y, z, -a \cdot t\right) + x \cdot \mathsf{fma}\left(-a, t, a \cdot t\right)\right) - \left(\left(z \cdot b\right) \cdot c + \left(-a \cdot \left(i \cdot b\right)\right)\right)\right)\\
\mathbf{else}:\\
\;\;\;\;\mathsf{fma}\left(c \cdot t - i \cdot y, j, \left(x \cdot \mathsf{fma}\left(y, z, -a \cdot t\right) + x \cdot \mathsf{fma}\left(-a, t, a \cdot t\right)\right) - \sqrt{b} \cdot \left(\sqrt{b} \cdot \left(c \cdot z - i \cdot a\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 r206756 = x;
double r206757 = y;
double r206758 = z;
double r206759 = r206757 * r206758;
double r206760 = t;
double r206761 = a;
double r206762 = r206760 * r206761;
double r206763 = r206759 - r206762;
double r206764 = r206756 * r206763;
double r206765 = b;
double r206766 = c;
double r206767 = r206766 * r206758;
double r206768 = i;
double r206769 = r206768 * r206761;
double r206770 = r206767 - r206769;
double r206771 = r206765 * r206770;
double r206772 = r206764 - r206771;
double r206773 = j;
double r206774 = r206766 * r206760;
double r206775 = r206768 * r206757;
double r206776 = r206774 - r206775;
double r206777 = r206773 * r206776;
double r206778 = r206772 + r206777;
return r206778;
}
double f(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
double r206779 = b;
double r206780 = -4.399637906071263e+194;
bool r206781 = r206779 <= r206780;
double r206782 = c;
double r206783 = t;
double r206784 = r206782 * r206783;
double r206785 = i;
double r206786 = y;
double r206787 = r206785 * r206786;
double r206788 = r206784 - r206787;
double r206789 = j;
double r206790 = x;
double r206791 = z;
double r206792 = a;
double r206793 = r206792 * r206783;
double r206794 = -r206793;
double r206795 = fma(r206786, r206791, r206794);
double r206796 = r206790 * r206795;
double r206797 = -r206792;
double r206798 = fma(r206797, r206783, r206793);
double r206799 = r206790 * r206798;
double r206800 = r206796 + r206799;
double r206801 = cbrt(r206779);
double r206802 = r206801 * r206801;
double r206803 = r206782 * r206791;
double r206804 = r206785 * r206792;
double r206805 = r206803 - r206804;
double r206806 = r206801 * r206805;
double r206807 = r206802 * r206806;
double r206808 = r206800 - r206807;
double r206809 = fma(r206788, r206789, r206808);
double r206810 = 1.7912407383062057e-06;
bool r206811 = r206779 <= r206810;
double r206812 = r206791 * r206779;
double r206813 = r206812 * r206782;
double r206814 = r206785 * r206779;
double r206815 = r206792 * r206814;
double r206816 = -r206815;
double r206817 = r206813 + r206816;
double r206818 = r206800 - r206817;
double r206819 = fma(r206788, r206789, r206818);
double r206820 = sqrt(r206779);
double r206821 = r206820 * r206805;
double r206822 = r206820 * r206821;
double r206823 = r206800 - r206822;
double r206824 = fma(r206788, r206789, r206823);
double r206825 = r206811 ? r206819 : r206824;
double r206826 = r206781 ? r206809 : r206825;
return r206826;
}



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 < -4.399637906071263e+194Initial program 5.7
Simplified5.7
rmApplied prod-diff5.7
Applied distribute-lft-in5.7
rmApplied add-cube-cbrt6.3
Applied associate-*l*6.3
if -4.399637906071263e+194 < b < 1.7912407383062057e-06Initial program 13.7
Simplified13.7
rmApplied prod-diff13.7
Applied distribute-lft-in13.7
rmApplied add-cube-cbrt13.9
Applied associate-*l*13.9
rmApplied sub-neg13.9
Applied distribute-lft-in13.9
Applied distribute-lft-in13.9
Simplified12.6
Simplified10.8
rmApplied associate-*r*10.8
if 1.7912407383062057e-06 < b Initial program 7.3
Simplified7.3
rmApplied prod-diff7.3
Applied distribute-lft-in7.3
rmApplied add-sqr-sqrt7.4
Applied associate-*l*7.4
Final simplification9.9
herbie shell --seed 2020002 +o rules:numerics
(FPCore (x y z t a b c i j)
:name "Linear.Matrix:det33 from linear-1.19.1.3"
:precision binary64
(+ (- (* x (- (* y z) (* t a))) (* b (- (* c z) (* i a)))) (* j (- (* c t) (* i y)))))