\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 -6389942398473198090210217295872:\\
\;\;\;\;\left(a \cdot i - c \cdot z\right) \cdot b + \left(\left(y \cdot \left(x \cdot z\right) - a \cdot \left(t \cdot x\right)\right) + \left(\left(y \cdot i\right) \cdot \left(-j\right) + \left(t \cdot j\right) \cdot c\right)\right)\\
\mathbf{elif}\;b \le 1.002984371457371897530186849635221170932 \cdot 10^{-214}:\\
\;\;\;\;\left(a \cdot \left(i \cdot b\right) - \left(b \cdot z\right) \cdot c\right) + \left(\left(y \cdot z - t \cdot a\right) \cdot x + \left(t \cdot c - y \cdot i\right) \cdot j\right)\\
\mathbf{elif}\;b \le 5.220563116893869664129944069723770605172 \cdot 10^{-121} \lor \neg \left(b \le 26916558763106272\right):\\
\;\;\;\;\left(\left(\left(-i\right) \cdot \left(j \cdot y\right) + \left(t \cdot j\right) \cdot c\right) + \left(y \cdot \left(x \cdot z\right) - \left(x \cdot a\right) \cdot t\right)\right) + \left(a \cdot i - c \cdot z\right) \cdot b\\
\mathbf{else}:\\
\;\;\;\;\left(a \cdot i - c \cdot z\right) \cdot b + \left(\left(y \cdot \left(x \cdot z\right) - a \cdot \left(t \cdot x\right)\right) + \left(\left(y \cdot i\right) \cdot \left(-j\right) + \left(t \cdot j\right) \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 r71214 = x;
double r71215 = y;
double r71216 = z;
double r71217 = r71215 * r71216;
double r71218 = t;
double r71219 = a;
double r71220 = r71218 * r71219;
double r71221 = r71217 - r71220;
double r71222 = r71214 * r71221;
double r71223 = b;
double r71224 = c;
double r71225 = r71224 * r71216;
double r71226 = i;
double r71227 = r71226 * r71219;
double r71228 = r71225 - r71227;
double r71229 = r71223 * r71228;
double r71230 = r71222 - r71229;
double r71231 = j;
double r71232 = r71224 * r71218;
double r71233 = r71226 * r71215;
double r71234 = r71232 - r71233;
double r71235 = r71231 * r71234;
double r71236 = r71230 + r71235;
return r71236;
}
double f(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
double r71237 = b;
double r71238 = -6.389942398473198e+30;
bool r71239 = r71237 <= r71238;
double r71240 = a;
double r71241 = i;
double r71242 = r71240 * r71241;
double r71243 = c;
double r71244 = z;
double r71245 = r71243 * r71244;
double r71246 = r71242 - r71245;
double r71247 = r71246 * r71237;
double r71248 = y;
double r71249 = x;
double r71250 = r71249 * r71244;
double r71251 = r71248 * r71250;
double r71252 = t;
double r71253 = r71252 * r71249;
double r71254 = r71240 * r71253;
double r71255 = r71251 - r71254;
double r71256 = r71248 * r71241;
double r71257 = j;
double r71258 = -r71257;
double r71259 = r71256 * r71258;
double r71260 = r71252 * r71257;
double r71261 = r71260 * r71243;
double r71262 = r71259 + r71261;
double r71263 = r71255 + r71262;
double r71264 = r71247 + r71263;
double r71265 = 1.002984371457372e-214;
bool r71266 = r71237 <= r71265;
double r71267 = r71241 * r71237;
double r71268 = r71240 * r71267;
double r71269 = r71237 * r71244;
double r71270 = r71269 * r71243;
double r71271 = r71268 - r71270;
double r71272 = r71248 * r71244;
double r71273 = r71252 * r71240;
double r71274 = r71272 - r71273;
double r71275 = r71274 * r71249;
double r71276 = r71252 * r71243;
double r71277 = r71276 - r71256;
double r71278 = r71277 * r71257;
double r71279 = r71275 + r71278;
double r71280 = r71271 + r71279;
double r71281 = 5.22056311689387e-121;
bool r71282 = r71237 <= r71281;
double r71283 = 2.691655876310627e+16;
bool r71284 = r71237 <= r71283;
double r71285 = !r71284;
bool r71286 = r71282 || r71285;
double r71287 = -r71241;
double r71288 = r71257 * r71248;
double r71289 = r71287 * r71288;
double r71290 = r71289 + r71261;
double r71291 = r71249 * r71240;
double r71292 = r71291 * r71252;
double r71293 = r71251 - r71292;
double r71294 = r71290 + r71293;
double r71295 = r71294 + r71247;
double r71296 = r71286 ? r71295 : r71264;
double r71297 = r71266 ? r71280 : r71296;
double r71298 = r71239 ? r71264 : r71297;
return r71298;
}



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 < -6.389942398473198e+30 or 5.22056311689387e-121 < b < 2.691655876310627e+16Initial program 9.6
Simplified9.6
Taylor expanded around inf 9.8
Simplified9.2
rmApplied pow19.2
Applied pow19.2
Applied pow-prod-down9.2
Applied pow19.2
Applied pow-prod-down9.2
Simplified9.4
rmApplied sub-neg9.4
Applied distribute-lft-in9.4
Simplified10.1
Simplified10.1
if -6.389942398473198e+30 < b < 1.002984371457372e-214Initial program 15.7
Simplified15.7
Taylor expanded around inf 10.2
Simplified10.1
if 1.002984371457372e-214 < b < 5.22056311689387e-121 or 2.691655876310627e+16 < b Initial program 9.6
Simplified9.6
Taylor expanded around inf 10.2
Simplified10.2
rmApplied sub-neg10.2
Applied distribute-lft-in10.2
Simplified11.3
Simplified12.0
Final simplification10.6
herbie shell --seed 2019174
(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)))))