\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}\;c \le 6.14458466408961470336255307627453402921 \cdot 10^{94} \lor \neg \left(c \le 3.235357331789103476780750730187488778281 \cdot 10^{269}\right):\\
\;\;\;\;\mathsf{fma}\left(x, y \cdot z - t \cdot a, \mathsf{fma}\left(b, i \cdot a - c \cdot z, t \cdot \left(j \cdot c\right) + \left(-\left(i \cdot j\right) \cdot y\right)\right)\right)\\
\mathbf{else}:\\
\;\;\;\;\mathsf{fma}\left(x, y \cdot z - t \cdot a, c \cdot \left(t \cdot j - z \cdot b\right) - i \cdot \left(j \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 r119520 = x;
double r119521 = y;
double r119522 = z;
double r119523 = r119521 * r119522;
double r119524 = t;
double r119525 = a;
double r119526 = r119524 * r119525;
double r119527 = r119523 - r119526;
double r119528 = r119520 * r119527;
double r119529 = b;
double r119530 = c;
double r119531 = r119530 * r119522;
double r119532 = i;
double r119533 = r119532 * r119525;
double r119534 = r119531 - r119533;
double r119535 = r119529 * r119534;
double r119536 = r119528 - r119535;
double r119537 = j;
double r119538 = r119530 * r119524;
double r119539 = r119532 * r119521;
double r119540 = r119538 - r119539;
double r119541 = r119537 * r119540;
double r119542 = r119536 + r119541;
return r119542;
}
double f(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
double r119543 = c;
double r119544 = 6.144584664089615e+94;
bool r119545 = r119543 <= r119544;
double r119546 = 3.2353573317891035e+269;
bool r119547 = r119543 <= r119546;
double r119548 = !r119547;
bool r119549 = r119545 || r119548;
double r119550 = x;
double r119551 = y;
double r119552 = z;
double r119553 = r119551 * r119552;
double r119554 = t;
double r119555 = a;
double r119556 = r119554 * r119555;
double r119557 = r119553 - r119556;
double r119558 = b;
double r119559 = i;
double r119560 = r119559 * r119555;
double r119561 = r119543 * r119552;
double r119562 = r119560 - r119561;
double r119563 = j;
double r119564 = r119563 * r119543;
double r119565 = r119554 * r119564;
double r119566 = r119559 * r119563;
double r119567 = r119566 * r119551;
double r119568 = -r119567;
double r119569 = r119565 + r119568;
double r119570 = fma(r119558, r119562, r119569);
double r119571 = fma(r119550, r119557, r119570);
double r119572 = r119554 * r119563;
double r119573 = r119552 * r119558;
double r119574 = r119572 - r119573;
double r119575 = r119543 * r119574;
double r119576 = r119563 * r119551;
double r119577 = r119559 * r119576;
double r119578 = r119575 - r119577;
double r119579 = fma(r119550, r119557, r119578);
double r119580 = r119549 ? r119571 : r119579;
return r119580;
}



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
if c < 6.144584664089615e+94 or 3.2353573317891035e+269 < c Initial program 10.9
Simplified10.9
rmApplied add-cube-cbrt11.2
Applied associate-*l*11.2
rmApplied sub-neg11.2
Applied distribute-lft-in11.2
Applied distribute-lft-in11.2
Simplified11.2
Simplified11.2
rmApplied associate-*r*11.2
if 6.144584664089615e+94 < c < 3.2353573317891035e+269Initial program 19.3
Simplified19.3
rmApplied add-cube-cbrt19.6
Applied associate-*l*19.6
Taylor expanded around inf 25.1
Simplified12.0
Final simplification11.3
herbie shell --seed 2019306 +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)))))