\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}\;x \le -3.3735883346778377 \cdot 10^{-126}:\\
\;\;\;\;\left(x \cdot \left(y \cdot z - t \cdot a\right) - b \cdot \left(c \cdot z - i \cdot a\right)\right) + \left(j \cdot \left(\sqrt[3]{c \cdot t - i \cdot y} \cdot \sqrt[3]{c \cdot t - i \cdot y}\right)\right) \cdot \sqrt[3]{c \cdot t - i \cdot y}\\
\mathbf{elif}\;x \le 1.34472083159762248 \cdot 10^{-129}:\\
\;\;\;\;\left(0 - b \cdot \left(c \cdot z - i \cdot a\right)\right) + j \cdot \left(c \cdot t - i \cdot y\right)\\
\mathbf{else}:\\
\;\;\;\;\left(\sqrt{x} \cdot \left(\sqrt{x} \cdot \left(y \cdot z - t \cdot a\right)\right) - 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 r103424 = x;
double r103425 = y;
double r103426 = z;
double r103427 = r103425 * r103426;
double r103428 = t;
double r103429 = a;
double r103430 = r103428 * r103429;
double r103431 = r103427 - r103430;
double r103432 = r103424 * r103431;
double r103433 = b;
double r103434 = c;
double r103435 = r103434 * r103426;
double r103436 = i;
double r103437 = r103436 * r103429;
double r103438 = r103435 - r103437;
double r103439 = r103433 * r103438;
double r103440 = r103432 - r103439;
double r103441 = j;
double r103442 = r103434 * r103428;
double r103443 = r103436 * r103425;
double r103444 = r103442 - r103443;
double r103445 = r103441 * r103444;
double r103446 = r103440 + r103445;
return r103446;
}
double f(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
double r103447 = x;
double r103448 = -3.373588334677838e-126;
bool r103449 = r103447 <= r103448;
double r103450 = y;
double r103451 = z;
double r103452 = r103450 * r103451;
double r103453 = t;
double r103454 = a;
double r103455 = r103453 * r103454;
double r103456 = r103452 - r103455;
double r103457 = r103447 * r103456;
double r103458 = b;
double r103459 = c;
double r103460 = r103459 * r103451;
double r103461 = i;
double r103462 = r103461 * r103454;
double r103463 = r103460 - r103462;
double r103464 = r103458 * r103463;
double r103465 = r103457 - r103464;
double r103466 = j;
double r103467 = r103459 * r103453;
double r103468 = r103461 * r103450;
double r103469 = r103467 - r103468;
double r103470 = cbrt(r103469);
double r103471 = r103470 * r103470;
double r103472 = r103466 * r103471;
double r103473 = r103472 * r103470;
double r103474 = r103465 + r103473;
double r103475 = 1.3447208315976225e-129;
bool r103476 = r103447 <= r103475;
double r103477 = 0.0;
double r103478 = r103477 - r103464;
double r103479 = r103466 * r103469;
double r103480 = r103478 + r103479;
double r103481 = sqrt(r103447);
double r103482 = r103481 * r103456;
double r103483 = r103481 * r103482;
double r103484 = r103483 - r103464;
double r103485 = r103484 + r103479;
double r103486 = r103476 ? r103480 : r103485;
double r103487 = r103449 ? r103474 : r103486;
return r103487;
}



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
Results
if x < -3.373588334677838e-126Initial program 9.8
rmApplied add-cube-cbrt10.1
Applied associate-*r*10.0
if -3.373588334677838e-126 < x < 1.3447208315976225e-129Initial program 16.3
Taylor expanded around 0 17.5
if 1.3447208315976225e-129 < x Initial program 9.3
rmApplied add-sqr-sqrt9.4
Applied associate-*l*9.4
Final simplification12.6
herbie shell --seed 2020062
(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)))))