\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 -3.5447436542332151 \cdot 10^{-127}:\\
\;\;\;\;\mathsf{fma}\left(c \cdot t - i \cdot y, j, \left(\sqrt[3]{x} \cdot \sqrt[3]{x}\right) \cdot \left(\sqrt[3]{x} \cdot \left(y \cdot z - t \cdot a\right)\right) - b \cdot \left(c \cdot z - i \cdot a\right)\right)\\
\mathbf{elif}\;b \le -3.40149356120774805 \cdot 10^{-152}:\\
\;\;\;\;\mathsf{fma}\left(a, i \cdot b, -\mathsf{fma}\left(z, b \cdot c, a \cdot \left(x \cdot t\right)\right)\right)\\
\mathbf{elif}\;b \le 1.8227810540647952 \cdot 10^{-177}:\\
\;\;\;\;\mathsf{fma}\left(c \cdot t - i \cdot y, j, x \cdot \left(y \cdot z - t \cdot a\right) - 0\right)\\
\mathbf{elif}\;b \le 1.865590680694256 \cdot 10^{-152}:\\
\;\;\;\;\mathsf{fma}\left(a, i \cdot b, -\mathsf{fma}\left(z, b \cdot c, a \cdot \left(x \cdot t\right)\right)\right)\\
\mathbf{else}:\\
\;\;\;\;\mathsf{fma}\left(c \cdot t - i \cdot y, j, x \cdot \left(y \cdot z - t \cdot a\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 r122593 = x;
double r122594 = y;
double r122595 = z;
double r122596 = r122594 * r122595;
double r122597 = t;
double r122598 = a;
double r122599 = r122597 * r122598;
double r122600 = r122596 - r122599;
double r122601 = r122593 * r122600;
double r122602 = b;
double r122603 = c;
double r122604 = r122603 * r122595;
double r122605 = i;
double r122606 = r122605 * r122598;
double r122607 = r122604 - r122606;
double r122608 = r122602 * r122607;
double r122609 = r122601 - r122608;
double r122610 = j;
double r122611 = r122603 * r122597;
double r122612 = r122605 * r122594;
double r122613 = r122611 - r122612;
double r122614 = r122610 * r122613;
double r122615 = r122609 + r122614;
return r122615;
}
double f(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
double r122616 = b;
double r122617 = -3.544743654233215e-127;
bool r122618 = r122616 <= r122617;
double r122619 = c;
double r122620 = t;
double r122621 = r122619 * r122620;
double r122622 = i;
double r122623 = y;
double r122624 = r122622 * r122623;
double r122625 = r122621 - r122624;
double r122626 = j;
double r122627 = x;
double r122628 = cbrt(r122627);
double r122629 = r122628 * r122628;
double r122630 = z;
double r122631 = r122623 * r122630;
double r122632 = a;
double r122633 = r122620 * r122632;
double r122634 = r122631 - r122633;
double r122635 = r122628 * r122634;
double r122636 = r122629 * r122635;
double r122637 = r122619 * r122630;
double r122638 = r122622 * r122632;
double r122639 = r122637 - r122638;
double r122640 = r122616 * r122639;
double r122641 = r122636 - r122640;
double r122642 = fma(r122625, r122626, r122641);
double r122643 = -3.401493561207748e-152;
bool r122644 = r122616 <= r122643;
double r122645 = r122622 * r122616;
double r122646 = r122616 * r122619;
double r122647 = r122627 * r122620;
double r122648 = r122632 * r122647;
double r122649 = fma(r122630, r122646, r122648);
double r122650 = -r122649;
double r122651 = fma(r122632, r122645, r122650);
double r122652 = 1.8227810540647952e-177;
bool r122653 = r122616 <= r122652;
double r122654 = r122627 * r122634;
double r122655 = 0.0;
double r122656 = r122654 - r122655;
double r122657 = fma(r122625, r122626, r122656);
double r122658 = 1.8655906806942557e-152;
bool r122659 = r122616 <= r122658;
double r122660 = sqrt(r122616);
double r122661 = r122660 * r122639;
double r122662 = r122660 * r122661;
double r122663 = r122654 - r122662;
double r122664 = fma(r122625, r122626, r122663);
double r122665 = r122659 ? r122651 : r122664;
double r122666 = r122653 ? r122657 : r122665;
double r122667 = r122644 ? r122651 : r122666;
double r122668 = r122618 ? r122642 : r122667;
return r122668;
}



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 < -3.544743654233215e-127Initial program 9.5
Simplified9.5
rmApplied add-cube-cbrt9.8
Applied associate-*l*9.8
if -3.544743654233215e-127 < b < -3.401493561207748e-152 or 1.8227810540647952e-177 < b < 1.8655906806942557e-152Initial program 16.4
Simplified16.4
Taylor expanded around inf 37.2
Simplified37.2
if -3.401493561207748e-152 < b < 1.8227810540647952e-177Initial program 17.7
Simplified17.7
Taylor expanded around 0 18.2
if 1.8655906806942557e-152 < b Initial program 9.8
Simplified9.7
rmApplied add-sqr-sqrt9.9
Applied associate-*l*9.9
Final simplification13.7
herbie shell --seed 2020025 +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)))))