\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(-\left(x \cdot a\right) \cdot t\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(-\left(x \cdot a\right) \cdot t\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 r82259 = x;
double r82260 = y;
double r82261 = z;
double r82262 = r82260 * r82261;
double r82263 = t;
double r82264 = a;
double r82265 = r82263 * r82264;
double r82266 = r82262 - r82265;
double r82267 = r82259 * r82266;
double r82268 = b;
double r82269 = c;
double r82270 = r82269 * r82261;
double r82271 = i;
double r82272 = r82271 * r82264;
double r82273 = r82270 - r82272;
double r82274 = r82268 * r82273;
double r82275 = r82267 - r82274;
double r82276 = j;
double r82277 = r82269 * r82263;
double r82278 = r82271 * r82260;
double r82279 = r82277 - r82278;
double r82280 = r82276 * r82279;
double r82281 = r82275 + r82280;
return r82281;
}
double f(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
double r82282 = z;
double r82283 = -7.615542034760807;
bool r82284 = r82282 <= r82283;
double r82285 = 5.605088386505131e-117;
bool r82286 = r82282 <= r82285;
double r82287 = !r82286;
bool r82288 = r82284 || r82287;
double r82289 = x;
double r82290 = y;
double r82291 = r82282 * r82290;
double r82292 = r82289 * r82291;
double r82293 = a;
double r82294 = r82289 * r82293;
double r82295 = t;
double r82296 = r82294 * r82295;
double r82297 = -r82296;
double r82298 = r82292 + r82297;
double r82299 = b;
double r82300 = c;
double r82301 = r82299 * r82300;
double r82302 = r82282 * r82301;
double r82303 = i;
double r82304 = r82303 * r82293;
double r82305 = -r82304;
double r82306 = r82305 * r82299;
double r82307 = r82302 + r82306;
double r82308 = r82298 - r82307;
double r82309 = j;
double r82310 = r82309 * r82300;
double r82311 = r82295 * r82310;
double r82312 = r82309 * r82290;
double r82313 = r82303 * r82312;
double r82314 = -r82313;
double r82315 = r82311 + r82314;
double r82316 = r82308 + r82315;
double r82317 = r82300 * r82282;
double r82318 = r82317 - r82304;
double r82319 = r82299 * r82318;
double r82320 = r82298 - r82319;
double r82321 = r82303 * r82309;
double r82322 = r82321 * r82290;
double r82323 = -r82322;
double r82324 = r82311 + r82323;
double r82325 = r82320 + r82324;
double r82326 = r82288 ? r82316 : r82325;
return r82326;
}



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
rmApplied associate-*r*15.7
Simplified15.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
rmApplied associate-*r*9.7
Simplified9.7
rmApplied associate-*r*8.7
Final simplification10.8
herbie shell --seed 2019347 +o rules:numerics
(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)))))