\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 -9.125714986291682273805372429336846047599 \cdot 10^{-87}:\\
\;\;\;\;\left(x \cdot \left(y \cdot z - t \cdot a\right) + j \cdot \left(c \cdot t - i \cdot y\right)\right) + \left(i \cdot \left(b \cdot a\right) - z \cdot \left(b \cdot c\right)\right)\\
\mathbf{elif}\;x \le -5.851479915422898385518905209125160674093 \cdot 10^{-184}:\\
\;\;\;\;\left(\left(\sqrt[3]{a} \cdot \sqrt[3]{a}\right) \cdot \left(\left(\sqrt[3]{a} \cdot i\right) \cdot b\right) - z \cdot \left(b \cdot c\right)\right) + \left(\left(\left(y \cdot j\right) \cdot \left(-i\right) + \left(t \cdot j\right) \cdot c\right) + x \cdot \left(y \cdot z - t \cdot a\right)\right)\\
\mathbf{elif}\;x \le 1.078548306168217375586414278153095298333 \cdot 10^{-171}:\\
\;\;\;\;\left(\left(i \cdot b\right) \cdot a - z \cdot \left(b \cdot c\right)\right) + j \cdot \left(c \cdot t - i \cdot y\right)\\
\mathbf{elif}\;x \le 3.351495691018441958957028519658107878312 \cdot 10^{104}:\\
\;\;\;\;\left(\left(i \cdot b\right) \cdot a - b \cdot \left(c \cdot z\right)\right) + \left(\left(y \cdot \left(i \cdot \left(-j\right)\right) + t \cdot \left(j \cdot c\right)\right) + x \cdot \left(y \cdot z - t \cdot a\right)\right)\\
\mathbf{else}:\\
\;\;\;\;\left(x \cdot \left(y \cdot z - t \cdot a\right) + j \cdot \left(c \cdot t - i \cdot y\right)\right) + \left(i \cdot \left(b \cdot a\right) - z \cdot \left(b \cdot c\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 r83581 = x;
double r83582 = y;
double r83583 = z;
double r83584 = r83582 * r83583;
double r83585 = t;
double r83586 = a;
double r83587 = r83585 * r83586;
double r83588 = r83584 - r83587;
double r83589 = r83581 * r83588;
double r83590 = b;
double r83591 = c;
double r83592 = r83591 * r83583;
double r83593 = i;
double r83594 = r83593 * r83586;
double r83595 = r83592 - r83594;
double r83596 = r83590 * r83595;
double r83597 = r83589 - r83596;
double r83598 = j;
double r83599 = r83591 * r83585;
double r83600 = r83593 * r83582;
double r83601 = r83599 - r83600;
double r83602 = r83598 * r83601;
double r83603 = r83597 + r83602;
return r83603;
}
double f(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
double r83604 = x;
double r83605 = -9.125714986291682e-87;
bool r83606 = r83604 <= r83605;
double r83607 = y;
double r83608 = z;
double r83609 = r83607 * r83608;
double r83610 = t;
double r83611 = a;
double r83612 = r83610 * r83611;
double r83613 = r83609 - r83612;
double r83614 = r83604 * r83613;
double r83615 = j;
double r83616 = c;
double r83617 = r83616 * r83610;
double r83618 = i;
double r83619 = r83618 * r83607;
double r83620 = r83617 - r83619;
double r83621 = r83615 * r83620;
double r83622 = r83614 + r83621;
double r83623 = b;
double r83624 = r83623 * r83611;
double r83625 = r83618 * r83624;
double r83626 = r83623 * r83616;
double r83627 = r83608 * r83626;
double r83628 = r83625 - r83627;
double r83629 = r83622 + r83628;
double r83630 = -5.851479915422898e-184;
bool r83631 = r83604 <= r83630;
double r83632 = cbrt(r83611);
double r83633 = r83632 * r83632;
double r83634 = r83632 * r83618;
double r83635 = r83634 * r83623;
double r83636 = r83633 * r83635;
double r83637 = r83636 - r83627;
double r83638 = r83607 * r83615;
double r83639 = -r83618;
double r83640 = r83638 * r83639;
double r83641 = r83610 * r83615;
double r83642 = r83641 * r83616;
double r83643 = r83640 + r83642;
double r83644 = r83643 + r83614;
double r83645 = r83637 + r83644;
double r83646 = 1.0785483061682174e-171;
bool r83647 = r83604 <= r83646;
double r83648 = r83618 * r83623;
double r83649 = r83648 * r83611;
double r83650 = r83649 - r83627;
double r83651 = r83650 + r83621;
double r83652 = 3.351495691018442e+104;
bool r83653 = r83604 <= r83652;
double r83654 = r83616 * r83608;
double r83655 = r83623 * r83654;
double r83656 = r83649 - r83655;
double r83657 = -r83615;
double r83658 = r83618 * r83657;
double r83659 = r83607 * r83658;
double r83660 = r83615 * r83616;
double r83661 = r83610 * r83660;
double r83662 = r83659 + r83661;
double r83663 = r83662 + r83614;
double r83664 = r83656 + r83663;
double r83665 = r83653 ? r83664 : r83629;
double r83666 = r83647 ? r83651 : r83665;
double r83667 = r83631 ? r83645 : r83666;
double r83668 = r83606 ? r83629 : r83667;
return r83668;
}



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 < -9.125714986291682e-87 or 3.351495691018442e+104 < x Initial program 7.9
Simplified7.9
Taylor expanded around inf 9.6
Simplified9.4
Taylor expanded around inf 9.6
Simplified9.6
rmApplied add-cube-cbrt9.8
Applied associate-*l*9.8
Simplified8.7
Taylor expanded around inf 9.6
Simplified8.7
if -9.125714986291682e-87 < x < -5.851479915422898e-184Initial program 15.8
Simplified15.8
Taylor expanded around inf 15.9
Simplified16.1
Taylor expanded around inf 15.9
Simplified15.9
rmApplied add-cube-cbrt16.0
Applied associate-*l*16.0
Simplified15.3
rmApplied sub-neg15.3
Applied distribute-lft-in15.3
Simplified15.6
Simplified15.0
if -5.851479915422898e-184 < x < 1.0785483061682174e-171Initial program 17.8
Simplified17.8
Taylor expanded around inf 16.7
Simplified17.7
Taylor expanded around inf 16.7
Simplified16.7
Taylor expanded around 0 15.7
if 1.0785483061682174e-171 < x < 3.351495691018442e+104Initial program 11.7
Simplified11.7
Taylor expanded around inf 11.5
Simplified12.1
rmApplied sub-neg12.1
Applied distribute-lft-in12.1
Simplified12.1
Simplified11.5
Final simplification11.9
herbie shell --seed 2019179
(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)))))