\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 -2.521570866819648539757429760764212266224 \cdot 10^{-25}:\\
\;\;\;\;\left(x \cdot \left(y \cdot z - t \cdot a\right) - b \cdot \left(c \cdot z - i \cdot a\right)\right) + \left(t \cdot \left(j \cdot c\right) + \left(-i \cdot \left(j \cdot y\right)\right)\right)\\
\mathbf{elif}\;x \le 2.180286677279125380334828109309816397635 \cdot 10^{47}:\\
\;\;\;\;\left(\left(\left(x \cdot z\right) \cdot y + \left(-a \cdot \left(x \cdot t\right)\right)\right) - b \cdot \left(c \cdot z - i \cdot a\right)\right) + j \cdot \left(c \cdot t - i \cdot y\right)\\
\mathbf{else}:\\
\;\;\;\;\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 \left(c \cdot t - i \cdot y\right)} \cdot \sqrt[3]{j \cdot \left(c \cdot t - i \cdot y\right)}\right) \cdot \sqrt[3]{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 r110586 = x;
double r110587 = y;
double r110588 = z;
double r110589 = r110587 * r110588;
double r110590 = t;
double r110591 = a;
double r110592 = r110590 * r110591;
double r110593 = r110589 - r110592;
double r110594 = r110586 * r110593;
double r110595 = b;
double r110596 = c;
double r110597 = r110596 * r110588;
double r110598 = i;
double r110599 = r110598 * r110591;
double r110600 = r110597 - r110599;
double r110601 = r110595 * r110600;
double r110602 = r110594 - r110601;
double r110603 = j;
double r110604 = r110596 * r110590;
double r110605 = r110598 * r110587;
double r110606 = r110604 - r110605;
double r110607 = r110603 * r110606;
double r110608 = r110602 + r110607;
return r110608;
}
double f(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
double r110609 = x;
double r110610 = -2.5215708668196485e-25;
bool r110611 = r110609 <= r110610;
double r110612 = y;
double r110613 = z;
double r110614 = r110612 * r110613;
double r110615 = t;
double r110616 = a;
double r110617 = r110615 * r110616;
double r110618 = r110614 - r110617;
double r110619 = r110609 * r110618;
double r110620 = b;
double r110621 = c;
double r110622 = r110621 * r110613;
double r110623 = i;
double r110624 = r110623 * r110616;
double r110625 = r110622 - r110624;
double r110626 = r110620 * r110625;
double r110627 = r110619 - r110626;
double r110628 = j;
double r110629 = r110628 * r110621;
double r110630 = r110615 * r110629;
double r110631 = r110628 * r110612;
double r110632 = r110623 * r110631;
double r110633 = -r110632;
double r110634 = r110630 + r110633;
double r110635 = r110627 + r110634;
double r110636 = 2.1802866772791254e+47;
bool r110637 = r110609 <= r110636;
double r110638 = r110609 * r110613;
double r110639 = r110638 * r110612;
double r110640 = r110609 * r110615;
double r110641 = r110616 * r110640;
double r110642 = -r110641;
double r110643 = r110639 + r110642;
double r110644 = r110643 - r110626;
double r110645 = r110621 * r110615;
double r110646 = r110623 * r110612;
double r110647 = r110645 - r110646;
double r110648 = r110628 * r110647;
double r110649 = r110644 + r110648;
double r110650 = cbrt(r110648);
double r110651 = r110650 * r110650;
double r110652 = r110651 * r110650;
double r110653 = r110627 + r110652;
double r110654 = r110637 ? r110649 : r110653;
double r110655 = r110611 ? r110635 : r110654;
return r110655;
}



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 < -2.5215708668196485e-25Initial program 7.1
rmApplied sub-neg7.1
Applied distribute-lft-in7.1
Simplified8.1
Simplified8.3
if -2.5215708668196485e-25 < x < 2.1802866772791254e+47Initial program 15.1
rmApplied sub-neg15.1
Applied distribute-lft-in15.1
Simplified15.1
Simplified12.8
rmApplied associate-*r*10.3
if 2.1802866772791254e+47 < x Initial program 7.3
rmApplied add-cube-cbrt7.5
Final simplification9.4
herbie shell --seed 2019351
(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)))))