\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}\;y \le -5.790815325220392908858165475828676773669 \cdot 10^{105}:\\
\;\;\;\;\left(x \cdot \left(y \cdot z - t \cdot a\right) - b \cdot \left(c \cdot z - i \cdot a\right)\right) + \left(\left(t \cdot j\right) \cdot c + \left(-i \cdot \left(j \cdot y\right)\right)\right)\\
\mathbf{elif}\;y \le -1.53784447253032729710026066052934139026 \cdot 10^{-198}:\\
\;\;\;\;\left(x \cdot \left(y \cdot z - t \cdot a\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)\\
\mathbf{elif}\;y \le 4.328665951797104146389136561894216279411 \cdot 10^{-260}:\\
\;\;\;\;\left(\left(x \cdot \left(z \cdot y\right) + \left(-a \cdot \left(x \cdot t\right)\right)\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{elif}\;y \le 9.417727496660265300992831427606688521337 \cdot 10^{-4}:\\
\;\;\;\;\left(x \cdot \left(y \cdot z - t \cdot a\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)\\
\mathbf{else}:\\
\;\;\;\;\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(-\left(\left(i \cdot j\right) \cdot \sqrt{y}\right) \cdot \sqrt{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 r109486 = x;
double r109487 = y;
double r109488 = z;
double r109489 = r109487 * r109488;
double r109490 = t;
double r109491 = a;
double r109492 = r109490 * r109491;
double r109493 = r109489 - r109492;
double r109494 = r109486 * r109493;
double r109495 = b;
double r109496 = c;
double r109497 = r109496 * r109488;
double r109498 = i;
double r109499 = r109498 * r109491;
double r109500 = r109497 - r109499;
double r109501 = r109495 * r109500;
double r109502 = r109494 - r109501;
double r109503 = j;
double r109504 = r109496 * r109490;
double r109505 = r109498 * r109487;
double r109506 = r109504 - r109505;
double r109507 = r109503 * r109506;
double r109508 = r109502 + r109507;
return r109508;
}
double f(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
double r109509 = y;
double r109510 = -5.790815325220393e+105;
bool r109511 = r109509 <= r109510;
double r109512 = x;
double r109513 = z;
double r109514 = r109509 * r109513;
double r109515 = t;
double r109516 = a;
double r109517 = r109515 * r109516;
double r109518 = r109514 - r109517;
double r109519 = r109512 * r109518;
double r109520 = b;
double r109521 = c;
double r109522 = r109521 * r109513;
double r109523 = i;
double r109524 = r109523 * r109516;
double r109525 = r109522 - r109524;
double r109526 = r109520 * r109525;
double r109527 = r109519 - r109526;
double r109528 = j;
double r109529 = r109515 * r109528;
double r109530 = r109529 * r109521;
double r109531 = r109528 * r109509;
double r109532 = r109523 * r109531;
double r109533 = -r109532;
double r109534 = r109530 + r109533;
double r109535 = r109527 + r109534;
double r109536 = -1.5378444725303273e-198;
bool r109537 = r109509 <= r109536;
double r109538 = r109520 * r109521;
double r109539 = r109513 * r109538;
double r109540 = -r109524;
double r109541 = r109520 * r109540;
double r109542 = r109539 + r109541;
double r109543 = r109519 - r109542;
double r109544 = r109521 * r109515;
double r109545 = r109523 * r109509;
double r109546 = r109544 - r109545;
double r109547 = r109528 * r109546;
double r109548 = r109543 + r109547;
double r109549 = 4.328665951797104e-260;
bool r109550 = r109509 <= r109549;
double r109551 = r109513 * r109509;
double r109552 = r109512 * r109551;
double r109553 = r109512 * r109515;
double r109554 = r109516 * r109553;
double r109555 = -r109554;
double r109556 = r109552 + r109555;
double r109557 = r109556 - r109526;
double r109558 = r109528 * r109521;
double r109559 = r109515 * r109558;
double r109560 = r109559 + r109533;
double r109561 = r109557 + r109560;
double r109562 = 0.0009417727496660265;
bool r109563 = r109509 <= r109562;
double r109564 = r109523 * r109528;
double r109565 = sqrt(r109509);
double r109566 = r109564 * r109565;
double r109567 = r109566 * r109565;
double r109568 = -r109567;
double r109569 = r109559 + r109568;
double r109570 = r109527 + r109569;
double r109571 = r109563 ? r109548 : r109570;
double r109572 = r109550 ? r109561 : r109571;
double r109573 = r109537 ? r109548 : r109572;
double r109574 = r109511 ? r109535 : r109573;
return r109574;
}



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 y < -5.790815325220393e+105Initial program 21.9
rmApplied sub-neg21.9
Applied distribute-lft-in21.9
Simplified21.6
Simplified20.9
rmApplied associate-*r*20.6
if -5.790815325220393e+105 < y < -1.5378444725303273e-198 or 4.328665951797104e-260 < y < 0.0009417727496660265Initial program 9.3
rmApplied sub-neg9.3
Applied distribute-lft-in9.3
Simplified8.9
if -1.5378444725303273e-198 < y < 4.328665951797104e-260Initial program 9.5
rmApplied sub-neg9.5
Applied distribute-lft-in9.5
Simplified10.0
Simplified9.9
rmApplied sub-neg9.9
Applied distribute-lft-in9.9
Simplified9.9
Simplified11.0
if 0.0009417727496660265 < y Initial program 16.5
rmApplied sub-neg16.5
Applied distribute-lft-in16.5
Simplified16.4
Simplified16.2
rmApplied associate-*r*12.2
rmApplied add-sqr-sqrt12.3
Applied associate-*r*12.3
Final simplification11.2
herbie shell --seed 2019326
(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)))))