\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}\;j \le -4.8165491942895943 \cdot 10^{-263}:\\
\;\;\;\;\mathsf{fma}\left(i \cdot a - c \cdot z, b, \mathsf{fma}\left(j, c \cdot t - i \cdot y, \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}\right)\right)\\
\mathbf{elif}\;j \le 1.667884624892982 \cdot 10^{-102}:\\
\;\;\;\;\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(y \cdot z\right) \cdot x + \left(-t \cdot \left(x \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 r117538 = x;
double r117539 = y;
double r117540 = z;
double r117541 = r117539 * r117540;
double r117542 = t;
double r117543 = a;
double r117544 = r117542 * r117543;
double r117545 = r117541 - r117544;
double r117546 = r117538 * r117545;
double r117547 = b;
double r117548 = c;
double r117549 = r117548 * r117540;
double r117550 = i;
double r117551 = r117550 * r117543;
double r117552 = r117549 - r117551;
double r117553 = r117547 * r117552;
double r117554 = r117546 - r117553;
double r117555 = j;
double r117556 = r117548 * r117542;
double r117557 = r117550 * r117539;
double r117558 = r117556 - r117557;
double r117559 = r117555 * r117558;
double r117560 = r117554 + r117559;
return r117560;
}
double f(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
double r117561 = j;
double r117562 = -4.816549194289594e-263;
bool r117563 = r117561 <= r117562;
double r117564 = i;
double r117565 = a;
double r117566 = r117564 * r117565;
double r117567 = c;
double r117568 = z;
double r117569 = r117567 * r117568;
double r117570 = r117566 - r117569;
double r117571 = b;
double r117572 = t;
double r117573 = r117567 * r117572;
double r117574 = y;
double r117575 = r117564 * r117574;
double r117576 = r117573 - r117575;
double r117577 = x;
double r117578 = r117574 * r117568;
double r117579 = r117572 * r117565;
double r117580 = r117578 - r117579;
double r117581 = cbrt(r117580);
double r117582 = r117581 * r117581;
double r117583 = r117577 * r117582;
double r117584 = r117583 * r117581;
double r117585 = fma(r117561, r117576, r117584);
double r117586 = fma(r117570, r117571, r117585);
double r117587 = 1.667884624892982e-102;
bool r117588 = r117561 <= r117587;
double r117589 = r117577 * r117568;
double r117590 = r117564 * r117561;
double r117591 = r117589 - r117590;
double r117592 = r117574 * r117591;
double r117593 = r117577 * r117572;
double r117594 = r117565 * r117593;
double r117595 = r117592 - r117594;
double r117596 = fma(r117570, r117571, r117595);
double r117597 = r117578 * r117577;
double r117598 = r117577 * r117565;
double r117599 = r117572 * r117598;
double r117600 = -r117599;
double r117601 = r117597 + r117600;
double r117602 = fma(r117561, r117576, r117601);
double r117603 = fma(r117570, r117571, r117602);
double r117604 = r117588 ? r117596 : r117603;
double r117605 = r117563 ? r117586 : r117604;
return r117605;
}



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 j < -4.816549194289594e-263Initial program 11.1
Simplified11.1
rmApplied add-cube-cbrt11.4
Applied associate-*r*11.4
if -4.816549194289594e-263 < j < 1.667884624892982e-102Initial program 16.7
Simplified16.7
rmApplied add-cube-cbrt17.0
Applied associate-*r*17.0
rmApplied add-cube-cbrt17.0
Applied cbrt-prod17.1
Taylor expanded around inf 14.6
Simplified13.6
if 1.667884624892982e-102 < j Initial program 8.6
Simplified8.6
rmApplied sub-neg8.6
Applied distribute-lft-in8.6
Simplified8.6
Simplified9.1
Final simplification11.3
herbie shell --seed 2020045 +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)))))