\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 -1.036672842257737 \cdot 10^{-191}:\\
\;\;\;\;\left(\left(y \cdot z - t \cdot a\right) \cdot x - b \cdot \left(c \cdot z - i \cdot a\right)\right) + \sqrt[3]{j \cdot \left(c \cdot t - i \cdot y\right)} \cdot \left(\sqrt[3]{j \cdot \left(c \cdot t - i \cdot y\right)} \cdot \sqrt[3]{j \cdot \left(c \cdot t - i \cdot y\right)}\right)\\
\mathbf{elif}\;b \le 6.88884700744427 \cdot 10^{-262}:\\
\;\;\;\;j \cdot \left(c \cdot t - i \cdot y\right) + \left(y \cdot z - t \cdot a\right) \cdot x\\
\mathbf{else}:\\
\;\;\;\;\left(\left(y \cdot z - t \cdot a\right) \cdot x - \left(\left(c \cdot z - i \cdot a\right) \cdot \sqrt{b}\right) \cdot \sqrt{b}\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 r3270581 = x;
double r3270582 = y;
double r3270583 = z;
double r3270584 = r3270582 * r3270583;
double r3270585 = t;
double r3270586 = a;
double r3270587 = r3270585 * r3270586;
double r3270588 = r3270584 - r3270587;
double r3270589 = r3270581 * r3270588;
double r3270590 = b;
double r3270591 = c;
double r3270592 = r3270591 * r3270583;
double r3270593 = i;
double r3270594 = r3270593 * r3270586;
double r3270595 = r3270592 - r3270594;
double r3270596 = r3270590 * r3270595;
double r3270597 = r3270589 - r3270596;
double r3270598 = j;
double r3270599 = r3270591 * r3270585;
double r3270600 = r3270593 * r3270582;
double r3270601 = r3270599 - r3270600;
double r3270602 = r3270598 * r3270601;
double r3270603 = r3270597 + r3270602;
return r3270603;
}
double f(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
double r3270604 = b;
double r3270605 = -1.036672842257737e-191;
bool r3270606 = r3270604 <= r3270605;
double r3270607 = y;
double r3270608 = z;
double r3270609 = r3270607 * r3270608;
double r3270610 = t;
double r3270611 = a;
double r3270612 = r3270610 * r3270611;
double r3270613 = r3270609 - r3270612;
double r3270614 = x;
double r3270615 = r3270613 * r3270614;
double r3270616 = c;
double r3270617 = r3270616 * r3270608;
double r3270618 = i;
double r3270619 = r3270618 * r3270611;
double r3270620 = r3270617 - r3270619;
double r3270621 = r3270604 * r3270620;
double r3270622 = r3270615 - r3270621;
double r3270623 = j;
double r3270624 = r3270616 * r3270610;
double r3270625 = r3270618 * r3270607;
double r3270626 = r3270624 - r3270625;
double r3270627 = r3270623 * r3270626;
double r3270628 = cbrt(r3270627);
double r3270629 = r3270628 * r3270628;
double r3270630 = r3270628 * r3270629;
double r3270631 = r3270622 + r3270630;
double r3270632 = 6.88884700744427e-262;
bool r3270633 = r3270604 <= r3270632;
double r3270634 = r3270627 + r3270615;
double r3270635 = sqrt(r3270604);
double r3270636 = r3270620 * r3270635;
double r3270637 = r3270636 * r3270635;
double r3270638 = r3270615 - r3270637;
double r3270639 = r3270638 + r3270627;
double r3270640 = r3270633 ? r3270634 : r3270639;
double r3270641 = r3270606 ? r3270631 : r3270640;
return r3270641;
}



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 b < -1.036672842257737e-191Initial program 10.8
rmApplied add-cube-cbrt11.1
if -1.036672842257737e-191 < b < 6.88884700744427e-262Initial program 15.9
rmApplied add-cube-cbrt15.9
Taylor expanded around 0 16.2
if 6.88884700744427e-262 < b Initial program 11.5
rmApplied add-cube-cbrt11.8
rmApplied add-sqr-sqrt11.8
Applied associate-*l*11.8
Simplified11.6
Final simplification12.2
herbie shell --seed 2019133
(FPCore (x y z t a b c i j)
:name "Linear.Matrix:det33 from linear-1.19.1.3"
(+ (- (* x (- (* y z) (* t a))) (* b (- (* c z) (* i a)))) (* j (- (* c t) (* i y)))))