\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}\;t \le -1.4523079412932612 \cdot 10^{-51}:\\
\;\;\;\;\left(\left(\left(x \cdot y\right) \cdot z + -1 \cdot {\left(t \cdot \left(x \cdot a\right)\right)}^{1}\right) - b \cdot \left(c \cdot z - i \cdot a\right)\right) + j \cdot \left(c \cdot t - i \cdot y\right)\\
\mathbf{elif}\;t \le 2.9415755592289815 \cdot 10^{-52}:\\
\;\;\;\;\left(\left(x \cdot \left(y \cdot z\right) + -1 \cdot \left(a \cdot \left(x \cdot t\right)\right)\right) - b \cdot \left(c \cdot z - i \cdot a\right)\right) + \left(\sqrt[3]{j \cdot \left(c \cdot t - i \cdot y\right)} \cdot \sqrt[3]{j \cdot \left(c \cdot t - i \cdot y\right)}\right) \cdot \sqrt[3]{j \cdot \left(c \cdot t - i \cdot y\right)}\\
\mathbf{elif}\;t \le 1.0660304109241224 \cdot 10^{-40}:\\
\;\;\;\;\left(\left(\left(x \cdot y\right) \cdot z + -1 \cdot \left(a \cdot \left(x \cdot t\right)\right)\right) - b \cdot \left(c \cdot z - i \cdot a\right)\right) + 0\\
\mathbf{else}:\\
\;\;\;\;\left(\left(\left(x \cdot y\right) \cdot z + -1 \cdot {\left(t \cdot \left(x \cdot a\right)\right)}^{1}\right) - b \cdot \left(c \cdot z - i \cdot a\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 r125530 = x;
double r125531 = y;
double r125532 = z;
double r125533 = r125531 * r125532;
double r125534 = t;
double r125535 = a;
double r125536 = r125534 * r125535;
double r125537 = r125533 - r125536;
double r125538 = r125530 * r125537;
double r125539 = b;
double r125540 = c;
double r125541 = r125540 * r125532;
double r125542 = i;
double r125543 = r125542 * r125535;
double r125544 = r125541 - r125543;
double r125545 = r125539 * r125544;
double r125546 = r125538 - r125545;
double r125547 = j;
double r125548 = r125540 * r125534;
double r125549 = r125542 * r125531;
double r125550 = r125548 - r125549;
double r125551 = r125547 * r125550;
double r125552 = r125546 + r125551;
return r125552;
}
double f(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
double r125553 = t;
double r125554 = -1.4523079412932612e-51;
bool r125555 = r125553 <= r125554;
double r125556 = x;
double r125557 = y;
double r125558 = r125556 * r125557;
double r125559 = z;
double r125560 = r125558 * r125559;
double r125561 = -1.0;
double r125562 = a;
double r125563 = r125556 * r125562;
double r125564 = r125553 * r125563;
double r125565 = 1.0;
double r125566 = pow(r125564, r125565);
double r125567 = r125561 * r125566;
double r125568 = r125560 + r125567;
double r125569 = b;
double r125570 = c;
double r125571 = r125570 * r125559;
double r125572 = i;
double r125573 = r125572 * r125562;
double r125574 = r125571 - r125573;
double r125575 = r125569 * r125574;
double r125576 = r125568 - r125575;
double r125577 = j;
double r125578 = r125570 * r125553;
double r125579 = r125572 * r125557;
double r125580 = r125578 - r125579;
double r125581 = r125577 * r125580;
double r125582 = r125576 + r125581;
double r125583 = 2.9415755592289815e-52;
bool r125584 = r125553 <= r125583;
double r125585 = r125557 * r125559;
double r125586 = r125556 * r125585;
double r125587 = r125556 * r125553;
double r125588 = r125562 * r125587;
double r125589 = r125561 * r125588;
double r125590 = r125586 + r125589;
double r125591 = r125590 - r125575;
double r125592 = cbrt(r125581);
double r125593 = r125592 * r125592;
double r125594 = r125593 * r125592;
double r125595 = r125591 + r125594;
double r125596 = 1.0660304109241224e-40;
bool r125597 = r125553 <= r125596;
double r125598 = r125560 + r125589;
double r125599 = r125598 - r125575;
double r125600 = 0.0;
double r125601 = r125599 + r125600;
double r125602 = r125597 ? r125601 : r125582;
double r125603 = r125584 ? r125595 : r125602;
double r125604 = r125555 ? r125582 : r125603;
return r125604;
}



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 t < -1.4523079412932612e-51 or 1.0660304109241224e-40 < t Initial program 14.5
rmApplied sub-neg14.5
Applied distribute-lft-in14.5
Taylor expanded around inf 15.3
rmApplied associate-*r*14.3
rmApplied pow114.3
Applied pow114.3
Applied pow-prod-down14.3
Applied pow114.3
Applied pow-prod-down14.3
Simplified11.3
if -1.4523079412932612e-51 < t < 2.9415755592289815e-52Initial program 8.7
rmApplied sub-neg8.7
Applied distribute-lft-in8.7
Taylor expanded around inf 8.8
rmApplied add-cube-cbrt9.0
if 2.9415755592289815e-52 < t < 1.0660304109241224e-40Initial program 10.4
rmApplied sub-neg10.4
Applied distribute-lft-in10.4
Taylor expanded around inf 10.4
rmApplied associate-*r*9.8
Taylor expanded around 0 28.1
Final simplification10.3
herbie shell --seed 2020056
(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)))))