\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 -8.8066359493368801 \cdot 10^{-143}:\\
\;\;\;\;\left(\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(b \cdot \left(c \cdot z - i \cdot a\right) + b \cdot \mathsf{fma}\left(-a, i, a \cdot i\right)\right)\right) + \left(\left(\sqrt[3]{j \cdot \mathsf{fma}\left(c, t, -y \cdot i\right)} \cdot \sqrt[3]{j \cdot \mathsf{fma}\left(c, t, -y \cdot i\right)}\right) \cdot \sqrt[3]{j \cdot \mathsf{fma}\left(c, t, -y \cdot i\right)} + j \cdot \mathsf{fma}\left(-y, i, y \cdot i\right)\right)\\
\mathbf{elif}\;b \le 2.01753666676692102 \cdot 10^{-218}:\\
\;\;\;\;\left(\left(x \cdot \mathsf{fma}\left(y, z, -a \cdot t\right) + x \cdot \mathsf{fma}\left(-a, t, a \cdot t\right)\right) - 0\right) + \left(j \cdot \mathsf{fma}\left(c, t, -y \cdot i\right) + j \cdot \mathsf{fma}\left(-y, i, y \cdot i\right)\right)\\
\mathbf{else}:\\
\;\;\;\;\left(\left(x \cdot \left(\sqrt[3]{y \cdot z - t \cdot a} \cdot \sqrt[3]{y \cdot z - t \cdot a}\right)\right) \cdot \sqrt[3]{y \cdot z - t \cdot a} - b \cdot \left(c \cdot z - i \cdot a\right)\right) + j \cdot \left(c \cdot t - i \cdot y\right)\\
\end{array}double f(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
double r107512 = x;
double r107513 = y;
double r107514 = z;
double r107515 = r107513 * r107514;
double r107516 = t;
double r107517 = a;
double r107518 = r107516 * r107517;
double r107519 = r107515 - r107518;
double r107520 = r107512 * r107519;
double r107521 = b;
double r107522 = c;
double r107523 = r107522 * r107514;
double r107524 = i;
double r107525 = r107524 * r107517;
double r107526 = r107523 - r107525;
double r107527 = r107521 * r107526;
double r107528 = r107520 - r107527;
double r107529 = j;
double r107530 = r107522 * r107516;
double r107531 = r107524 * r107513;
double r107532 = r107530 - r107531;
double r107533 = r107529 * r107532;
double r107534 = r107528 + r107533;
return r107534;
}
double f(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
double r107535 = b;
double r107536 = -8.80663594933688e-143;
bool r107537 = r107535 <= r107536;
double r107538 = x;
double r107539 = y;
double r107540 = z;
double r107541 = a;
double r107542 = t;
double r107543 = r107541 * r107542;
double r107544 = -r107543;
double r107545 = fma(r107539, r107540, r107544);
double r107546 = r107538 * r107545;
double r107547 = -r107541;
double r107548 = fma(r107547, r107542, r107543);
double r107549 = r107538 * r107548;
double r107550 = r107546 + r107549;
double r107551 = c;
double r107552 = r107551 * r107540;
double r107553 = i;
double r107554 = r107553 * r107541;
double r107555 = r107552 - r107554;
double r107556 = r107535 * r107555;
double r107557 = r107541 * r107553;
double r107558 = fma(r107547, r107553, r107557);
double r107559 = r107535 * r107558;
double r107560 = r107556 + r107559;
double r107561 = r107550 - r107560;
double r107562 = j;
double r107563 = r107539 * r107553;
double r107564 = -r107563;
double r107565 = fma(r107551, r107542, r107564);
double r107566 = r107562 * r107565;
double r107567 = cbrt(r107566);
double r107568 = r107567 * r107567;
double r107569 = r107568 * r107567;
double r107570 = -r107539;
double r107571 = fma(r107570, r107553, r107563);
double r107572 = r107562 * r107571;
double r107573 = r107569 + r107572;
double r107574 = r107561 + r107573;
double r107575 = 2.017536666766921e-218;
bool r107576 = r107535 <= r107575;
double r107577 = 0.0;
double r107578 = r107550 - r107577;
double r107579 = r107566 + r107572;
double r107580 = r107578 + r107579;
double r107581 = r107539 * r107540;
double r107582 = r107542 * r107541;
double r107583 = r107581 - r107582;
double r107584 = cbrt(r107583);
double r107585 = r107584 * r107584;
double r107586 = r107538 * r107585;
double r107587 = r107586 * r107584;
double r107588 = r107587 - r107556;
double r107589 = r107551 * r107542;
double r107590 = r107553 * r107539;
double r107591 = r107589 - r107590;
double r107592 = r107562 * r107591;
double r107593 = r107588 + r107592;
double r107594 = r107576 ? r107580 : r107593;
double r107595 = r107537 ? r107574 : r107594;
return r107595;
}



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 < -8.80663594933688e-143Initial program 9.5
rmApplied prod-diff9.5
Applied distribute-lft-in9.5
rmApplied prod-diff9.5
Applied distribute-lft-in9.5
rmApplied prod-diff9.5
Applied distribute-lft-in9.4
Simplified9.4
rmApplied add-cube-cbrt9.7
if -8.80663594933688e-143 < b < 2.017536666766921e-218Initial program 18.1
rmApplied prod-diff18.1
Applied distribute-lft-in18.1
rmApplied prod-diff18.1
Applied distribute-lft-in18.1
Taylor expanded around 0 17.5
if 2.017536666766921e-218 < b Initial program 11.3
rmApplied add-cube-cbrt11.6
Applied associate-*r*11.6
Final simplification12.5
herbie shell --seed 2020034 +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)))))