\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}\;y \le -2.69001902444813421 \cdot 10^{149} \lor \neg \left(y \le 6.8519775127199077 \cdot 10^{134}\right):\\
\;\;\;\;\mathsf{fma}\left(i \cdot a - c \cdot z, b, y \cdot \left(x \cdot z - i \cdot j\right) - a \cdot \left(x \cdot t\right)\right)\\
\mathbf{else}:\\
\;\;\;\;\mathsf{fma}\left(i \cdot a - c \cdot z, b, \mathsf{fma}\left(j, c \cdot t - i \cdot y, \left(\sqrt[3]{x} \cdot \sqrt[3]{x}\right) \cdot \left(\sqrt[3]{x} \cdot \left(y \cdot z - t \cdot a\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 r109720 = x;
double r109721 = y;
double r109722 = z;
double r109723 = r109721 * r109722;
double r109724 = t;
double r109725 = a;
double r109726 = r109724 * r109725;
double r109727 = r109723 - r109726;
double r109728 = r109720 * r109727;
double r109729 = b;
double r109730 = c;
double r109731 = r109730 * r109722;
double r109732 = i;
double r109733 = r109732 * r109725;
double r109734 = r109731 - r109733;
double r109735 = r109729 * r109734;
double r109736 = r109728 - r109735;
double r109737 = j;
double r109738 = r109730 * r109724;
double r109739 = r109732 * r109721;
double r109740 = r109738 - r109739;
double r109741 = r109737 * r109740;
double r109742 = r109736 + r109741;
return r109742;
}
double f(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
double r109743 = y;
double r109744 = -2.690019024448134e+149;
bool r109745 = r109743 <= r109744;
double r109746 = 6.851977512719908e+134;
bool r109747 = r109743 <= r109746;
double r109748 = !r109747;
bool r109749 = r109745 || r109748;
double r109750 = i;
double r109751 = a;
double r109752 = r109750 * r109751;
double r109753 = c;
double r109754 = z;
double r109755 = r109753 * r109754;
double r109756 = r109752 - r109755;
double r109757 = b;
double r109758 = x;
double r109759 = r109758 * r109754;
double r109760 = j;
double r109761 = r109750 * r109760;
double r109762 = r109759 - r109761;
double r109763 = r109743 * r109762;
double r109764 = t;
double r109765 = r109758 * r109764;
double r109766 = r109751 * r109765;
double r109767 = r109763 - r109766;
double r109768 = fma(r109756, r109757, r109767);
double r109769 = r109753 * r109764;
double r109770 = r109750 * r109743;
double r109771 = r109769 - r109770;
double r109772 = cbrt(r109758);
double r109773 = r109772 * r109772;
double r109774 = r109743 * r109754;
double r109775 = r109764 * r109751;
double r109776 = r109774 - r109775;
double r109777 = r109772 * r109776;
double r109778 = r109773 * r109777;
double r109779 = fma(r109760, r109771, r109778);
double r109780 = fma(r109756, r109757, r109779);
double r109781 = r109749 ? r109768 : r109780;
return r109781;
}



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 y < -2.690019024448134e+149 or 6.851977512719908e+134 < y Initial program 23.4
Simplified23.4
rmApplied add-cube-cbrt23.6
Applied associate-*l*23.6
Taylor expanded around inf 25.0
Simplified10.5
if -2.690019024448134e+149 < y < 6.851977512719908e+134Initial program 10.1
Simplified10.1
rmApplied add-cube-cbrt10.4
Applied associate-*l*10.3
Final simplification10.4
herbie shell --seed 2020047 +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)))))