\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 -5.827232257640776 \cdot 10^{+78}:\\
\;\;\;\;\mathsf{fma}\left(t \cdot c - y \cdot i, j, \left(x \cdot y - c \cdot b\right) \cdot z - a \cdot \left(t \cdot x\right)\right)\\
\mathbf{elif}\;z \le 2.3673218340026943 \cdot 10^{+98}:\\
\;\;\;\;\mathsf{fma}\left(a \cdot i - c \cdot z, b, \left(y \cdot z - t \cdot a\right) \cdot x\right) + \left(\sqrt[3]{t \cdot c - y \cdot i} \cdot \sqrt[3]{t \cdot c - y \cdot i}\right) \cdot \left(\sqrt[3]{t \cdot c - y \cdot i} \cdot j\right)\\
\mathbf{else}:\\
\;\;\;\;\mathsf{fma}\left(t \cdot c - y \cdot i, j, \left(x \cdot y - c \cdot b\right) \cdot z - a \cdot \left(t \cdot x\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 r4644376 = x;
double r4644377 = y;
double r4644378 = z;
double r4644379 = r4644377 * r4644378;
double r4644380 = t;
double r4644381 = a;
double r4644382 = r4644380 * r4644381;
double r4644383 = r4644379 - r4644382;
double r4644384 = r4644376 * r4644383;
double r4644385 = b;
double r4644386 = c;
double r4644387 = r4644386 * r4644378;
double r4644388 = i;
double r4644389 = r4644388 * r4644381;
double r4644390 = r4644387 - r4644389;
double r4644391 = r4644385 * r4644390;
double r4644392 = r4644384 - r4644391;
double r4644393 = j;
double r4644394 = r4644386 * r4644380;
double r4644395 = r4644388 * r4644377;
double r4644396 = r4644394 - r4644395;
double r4644397 = r4644393 * r4644396;
double r4644398 = r4644392 + r4644397;
return r4644398;
}
double f(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
double r4644399 = z;
double r4644400 = -5.827232257640776e+78;
bool r4644401 = r4644399 <= r4644400;
double r4644402 = t;
double r4644403 = c;
double r4644404 = r4644402 * r4644403;
double r4644405 = y;
double r4644406 = i;
double r4644407 = r4644405 * r4644406;
double r4644408 = r4644404 - r4644407;
double r4644409 = j;
double r4644410 = x;
double r4644411 = r4644410 * r4644405;
double r4644412 = b;
double r4644413 = r4644403 * r4644412;
double r4644414 = r4644411 - r4644413;
double r4644415 = r4644414 * r4644399;
double r4644416 = a;
double r4644417 = r4644402 * r4644410;
double r4644418 = r4644416 * r4644417;
double r4644419 = r4644415 - r4644418;
double r4644420 = fma(r4644408, r4644409, r4644419);
double r4644421 = 2.3673218340026943e+98;
bool r4644422 = r4644399 <= r4644421;
double r4644423 = r4644416 * r4644406;
double r4644424 = r4644403 * r4644399;
double r4644425 = r4644423 - r4644424;
double r4644426 = r4644405 * r4644399;
double r4644427 = r4644402 * r4644416;
double r4644428 = r4644426 - r4644427;
double r4644429 = r4644428 * r4644410;
double r4644430 = fma(r4644425, r4644412, r4644429);
double r4644431 = cbrt(r4644408);
double r4644432 = r4644431 * r4644431;
double r4644433 = r4644431 * r4644409;
double r4644434 = r4644432 * r4644433;
double r4644435 = r4644430 + r4644434;
double r4644436 = r4644422 ? r4644435 : r4644420;
double r4644437 = r4644401 ? r4644420 : r4644436;
return r4644437;
}



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 z < -5.827232257640776e+78 or 2.3673218340026943e+98 < z Initial program 19.2
Simplified19.2
Taylor expanded around inf 18.1
Simplified11.4
if -5.827232257640776e+78 < z < 2.3673218340026943e+98Initial program 8.5
Simplified8.5
rmApplied fma-udef8.5
rmApplied add-cube-cbrt8.8
Applied associate-*l*8.8
Final simplification9.5
herbie shell --seed 2019168 +o rules:numerics
(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)))))