\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.20987865003621501 \cdot 10^{56}:\\
\;\;\;\;\left(x \cdot \left(y \cdot z - t \cdot a\right) - b \cdot \left(c \cdot z - i \cdot a\right)\right) + \left(\sqrt[3]{j} \cdot \sqrt[3]{j}\right) \cdot \left(\sqrt[3]{j} \cdot \left(c \cdot t - i \cdot y\right)\right)\\
\mathbf{elif}\;x \le -3.8550811051740131 \cdot 10^{-175}:\\
\;\;\;\;\left(\left(\left(y \cdot z\right) \cdot x + \left(-a \cdot \left(x \cdot t\right)\right)\right) - b \cdot \left(c \cdot z - i \cdot a\right)\right) + \left(t \cdot \left(j \cdot c\right) + \left(-\left(i \cdot j\right) \cdot y\right)\right)\\
\mathbf{elif}\;x \le 4.0236427972675005 \cdot 10^{-308}:\\
\;\;\;\;\left(-b \cdot \left(c \cdot z - i \cdot a\right)\right) + j \cdot \left(c \cdot t - i \cdot y\right)\\
\mathbf{elif}\;x \le 5.48540352948354912 \cdot 10^{-65}:\\
\;\;\;\;\left(\left(\left(y \cdot z\right) \cdot x + \left(-a \cdot \left(x \cdot t\right)\right)\right) - b \cdot \left(c \cdot z - i \cdot a\right)\right) + \left(t \cdot \left(j \cdot c\right) + \left(-\left(i \cdot j\right) \cdot y\right)\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) + \left(t \cdot \left(j \cdot c\right) + \left(-\left(i \cdot j\right) \cdot y\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 r113449 = x;
double r113450 = y;
double r113451 = z;
double r113452 = r113450 * r113451;
double r113453 = t;
double r113454 = a;
double r113455 = r113453 * r113454;
double r113456 = r113452 - r113455;
double r113457 = r113449 * r113456;
double r113458 = b;
double r113459 = c;
double r113460 = r113459 * r113451;
double r113461 = i;
double r113462 = r113461 * r113454;
double r113463 = r113460 - r113462;
double r113464 = r113458 * r113463;
double r113465 = r113457 - r113464;
double r113466 = j;
double r113467 = r113459 * r113453;
double r113468 = r113461 * r113450;
double r113469 = r113467 - r113468;
double r113470 = r113466 * r113469;
double r113471 = r113465 + r113470;
return r113471;
}
double f(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
double r113472 = x;
double r113473 = -3.209878650036215e+56;
bool r113474 = r113472 <= r113473;
double r113475 = y;
double r113476 = z;
double r113477 = r113475 * r113476;
double r113478 = t;
double r113479 = a;
double r113480 = r113478 * r113479;
double r113481 = r113477 - r113480;
double r113482 = r113472 * r113481;
double r113483 = b;
double r113484 = c;
double r113485 = r113484 * r113476;
double r113486 = i;
double r113487 = r113486 * r113479;
double r113488 = r113485 - r113487;
double r113489 = r113483 * r113488;
double r113490 = r113482 - r113489;
double r113491 = j;
double r113492 = cbrt(r113491);
double r113493 = r113492 * r113492;
double r113494 = r113484 * r113478;
double r113495 = r113486 * r113475;
double r113496 = r113494 - r113495;
double r113497 = r113492 * r113496;
double r113498 = r113493 * r113497;
double r113499 = r113490 + r113498;
double r113500 = -3.855081105174013e-175;
bool r113501 = r113472 <= r113500;
double r113502 = r113477 * r113472;
double r113503 = r113472 * r113478;
double r113504 = r113479 * r113503;
double r113505 = -r113504;
double r113506 = r113502 + r113505;
double r113507 = r113506 - r113489;
double r113508 = r113491 * r113484;
double r113509 = r113478 * r113508;
double r113510 = r113486 * r113491;
double r113511 = r113510 * r113475;
double r113512 = -r113511;
double r113513 = r113509 + r113512;
double r113514 = r113507 + r113513;
double r113515 = 4.0236427972675005e-308;
bool r113516 = r113472 <= r113515;
double r113517 = -r113489;
double r113518 = r113491 * r113496;
double r113519 = r113517 + r113518;
double r113520 = 5.485403529483549e-65;
bool r113521 = r113472 <= r113520;
double r113522 = sqrt(r113472);
double r113523 = r113522 * r113481;
double r113524 = r113522 * r113523;
double r113525 = r113524 - r113489;
double r113526 = r113525 + r113513;
double r113527 = r113521 ? r113514 : r113526;
double r113528 = r113516 ? r113519 : r113527;
double r113529 = r113501 ? r113514 : r113528;
double r113530 = r113474 ? r113499 : r113529;
return r113530;
}



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.209878650036215e+56Initial program 7.3
rmApplied add-cube-cbrt7.4
Applied associate-*l*7.4
if -3.209878650036215e+56 < x < -3.855081105174013e-175 or 4.0236427972675005e-308 < x < 5.485403529483549e-65Initial program 14.3
rmApplied sub-neg14.3
Applied distribute-lft-in14.3
Simplified15.0
Simplified14.5
rmApplied associate-*r*14.1
rmApplied sub-neg14.1
Applied distribute-lft-in14.1
Simplified14.1
Simplified11.5
if -3.855081105174013e-175 < x < 4.0236427972675005e-308Initial program 17.7
Taylor expanded around 0 16.4
if 5.485403529483549e-65 < x Initial program 8.9
rmApplied sub-neg8.9
Applied distribute-lft-in8.9
Simplified9.1
Simplified8.9
rmApplied associate-*r*9.3
rmApplied add-sqr-sqrt9.5
Applied associate-*l*9.5
Final simplification11.1
herbie shell --seed 2020043 +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)))))