\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}\;j \le -1.218516813516571829132864023880113981554 \cdot 10^{-215}:\\
\;\;\;\;\left(\left(\left(x \cdot y\right) \cdot z + \left(x \cdot t\right) \cdot \left(-a\right)\right) - b \cdot \left(c \cdot z - i \cdot a\right)\right) + j \cdot \left(c \cdot t - i \cdot y\right)\\
\mathbf{elif}\;j \le 64272744.59900391101837158203125:\\
\;\;\;\;\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{else}:\\
\;\;\;\;\left(\left(\left(x \cdot y\right) \cdot z + x \cdot \left(-t \cdot a\right)\right) - \left(z \cdot \left(b \cdot c\right) + b \cdot \left(-i \cdot a\right)\right)\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 r81012 = x;
double r81013 = y;
double r81014 = z;
double r81015 = r81013 * r81014;
double r81016 = t;
double r81017 = a;
double r81018 = r81016 * r81017;
double r81019 = r81015 - r81018;
double r81020 = r81012 * r81019;
double r81021 = b;
double r81022 = c;
double r81023 = r81022 * r81014;
double r81024 = i;
double r81025 = r81024 * r81017;
double r81026 = r81023 - r81025;
double r81027 = r81021 * r81026;
double r81028 = r81020 - r81027;
double r81029 = j;
double r81030 = r81022 * r81016;
double r81031 = r81024 * r81013;
double r81032 = r81030 - r81031;
double r81033 = r81029 * r81032;
double r81034 = r81028 + r81033;
return r81034;
}
double f(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
double r81035 = j;
double r81036 = -1.2185168135165718e-215;
bool r81037 = r81035 <= r81036;
double r81038 = x;
double r81039 = y;
double r81040 = r81038 * r81039;
double r81041 = z;
double r81042 = r81040 * r81041;
double r81043 = t;
double r81044 = r81038 * r81043;
double r81045 = a;
double r81046 = -r81045;
double r81047 = r81044 * r81046;
double r81048 = r81042 + r81047;
double r81049 = b;
double r81050 = c;
double r81051 = r81050 * r81041;
double r81052 = i;
double r81053 = r81052 * r81045;
double r81054 = r81051 - r81053;
double r81055 = r81049 * r81054;
double r81056 = r81048 - r81055;
double r81057 = r81050 * r81043;
double r81058 = r81052 * r81039;
double r81059 = r81057 - r81058;
double r81060 = r81035 * r81059;
double r81061 = r81056 + r81060;
double r81062 = 64272744.59900391;
bool r81063 = r81035 <= r81062;
double r81064 = r81039 * r81041;
double r81065 = r81043 * r81045;
double r81066 = r81064 - r81065;
double r81067 = r81038 * r81066;
double r81068 = r81067 - r81055;
double r81069 = r81035 * r81050;
double r81070 = r81043 * r81069;
double r81071 = r81035 * r81039;
double r81072 = r81052 * r81071;
double r81073 = -r81072;
double r81074 = r81070 + r81073;
double r81075 = r81068 + r81074;
double r81076 = -r81065;
double r81077 = r81038 * r81076;
double r81078 = r81042 + r81077;
double r81079 = r81049 * r81050;
double r81080 = r81041 * r81079;
double r81081 = -r81053;
double r81082 = r81049 * r81081;
double r81083 = r81080 + r81082;
double r81084 = r81078 - r81083;
double r81085 = r81084 + r81060;
double r81086 = r81063 ? r81075 : r81085;
double r81087 = r81037 ? r81061 : r81086;
return r81087;
}



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 j < -1.2185168135165718e-215Initial program 10.9
rmApplied sub-neg10.9
Applied distribute-lft-in10.9
rmApplied associate-*r*11.0
rmApplied distribute-rgt-neg-in11.0
Applied associate-*r*11.4
if -1.2185168135165718e-215 < j < 64272744.59900391Initial program 16.2
rmApplied sub-neg16.2
Applied distribute-lft-in16.2
Simplified13.2
Simplified10.3
if 64272744.59900391 < j Initial program 7.7
rmApplied sub-neg7.7
Applied distribute-lft-in7.7
rmApplied associate-*r*7.9
rmApplied sub-neg7.9
Applied distribute-lft-in7.9
Simplified8.0
Final simplification10.3
herbie shell --seed 2019208
(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)))))