\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}\;z \le -7.615542034760807155180373229086399078369 \lor \neg \left(z \le 5.605088386505130723897825567204211548534 \cdot 10^{-117}\right):\\
\;\;\;\;\left(\left(x \cdot \left(z \cdot y\right) + \left(-t \cdot \left(x \cdot a\right)\right)\right) - \left(z \cdot \left(b \cdot c\right) + \left(-i \cdot a\right) \cdot b\right)\right) + \left(t \cdot \left(j \cdot c\right) + \left(-i \cdot \left(j \cdot y\right)\right)\right)\\
\mathbf{else}:\\
\;\;\;\;\left(\left(x \cdot \left(z \cdot y\right) + \left(-t \cdot \left(x \cdot a\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)\\
\end{array}double f(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
double r85916 = x;
double r85917 = y;
double r85918 = z;
double r85919 = r85917 * r85918;
double r85920 = t;
double r85921 = a;
double r85922 = r85920 * r85921;
double r85923 = r85919 - r85922;
double r85924 = r85916 * r85923;
double r85925 = b;
double r85926 = c;
double r85927 = r85926 * r85918;
double r85928 = i;
double r85929 = r85928 * r85921;
double r85930 = r85927 - r85929;
double r85931 = r85925 * r85930;
double r85932 = r85924 - r85931;
double r85933 = j;
double r85934 = r85926 * r85920;
double r85935 = r85928 * r85917;
double r85936 = r85934 - r85935;
double r85937 = r85933 * r85936;
double r85938 = r85932 + r85937;
return r85938;
}
double f(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
double r85939 = z;
double r85940 = -7.615542034760807;
bool r85941 = r85939 <= r85940;
double r85942 = 5.605088386505131e-117;
bool r85943 = r85939 <= r85942;
double r85944 = !r85943;
bool r85945 = r85941 || r85944;
double r85946 = x;
double r85947 = y;
double r85948 = r85939 * r85947;
double r85949 = r85946 * r85948;
double r85950 = t;
double r85951 = a;
double r85952 = r85946 * r85951;
double r85953 = r85950 * r85952;
double r85954 = -r85953;
double r85955 = r85949 + r85954;
double r85956 = b;
double r85957 = c;
double r85958 = r85956 * r85957;
double r85959 = r85939 * r85958;
double r85960 = i;
double r85961 = r85960 * r85951;
double r85962 = -r85961;
double r85963 = r85962 * r85956;
double r85964 = r85959 + r85963;
double r85965 = r85955 - r85964;
double r85966 = j;
double r85967 = r85966 * r85957;
double r85968 = r85950 * r85967;
double r85969 = r85966 * r85947;
double r85970 = r85960 * r85969;
double r85971 = -r85970;
double r85972 = r85968 + r85971;
double r85973 = r85965 + r85972;
double r85974 = r85957 * r85939;
double r85975 = r85974 - r85961;
double r85976 = r85956 * r85975;
double r85977 = r85955 - r85976;
double r85978 = r85960 * r85966;
double r85979 = r85978 * r85947;
double r85980 = -r85979;
double r85981 = r85968 + r85980;
double r85982 = r85977 + r85981;
double r85983 = r85945 ? r85973 : r85982;
return r85983;
}



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 z < -7.615542034760807 or 5.605088386505131e-117 < z Initial program 15.4
rmApplied sub-neg15.4
Applied distribute-lft-in15.4
Simplified15.6
Simplified15.6
rmApplied sub-neg15.6
Applied distribute-lft-in15.6
Simplified15.6
Simplified16.0
Taylor expanded around inf 15.7
rmApplied sub-neg15.7
Applied distribute-lft-in15.7
Simplified12.8
Simplified12.8
if -7.615542034760807 < z < 5.605088386505131e-117Initial program 9.7
rmApplied sub-neg9.7
Applied distribute-lft-in9.7
Simplified9.7
Simplified9.4
rmApplied sub-neg9.4
Applied distribute-lft-in9.4
Simplified9.4
Simplified10.4
Taylor expanded around inf 9.7
rmApplied associate-*r*8.7
Final simplification10.8
herbie shell --seed 2019347
(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)))))