\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}\;j \le -7.828445817805927 \cdot 10^{-124}:\\
\;\;\;\;\mathsf{fma}\left(i \cdot a - c \cdot z, b, \mathsf{fma}\left(t \cdot c - i \cdot y, j, \left(x \cdot \sqrt[3]{y \cdot z - t \cdot a}\right) \cdot \left(\sqrt[3]{y \cdot z - t \cdot a} \cdot \sqrt[3]{y \cdot z - t \cdot a}\right)\right)\right)\\
\mathbf{elif}\;j \le 2.0565799039435203 \cdot 10^{-108}:\\
\;\;\;\;\mathsf{fma}\left(i \cdot a - c \cdot z, b, \left(y \cdot z - t \cdot a\right) \cdot x - \left(i \cdot j\right) \cdot y\right)\\
\mathbf{else}:\\
\;\;\;\;\mathsf{fma}\left(i \cdot a - c \cdot z, b, \mathsf{fma}\left(t \cdot c - i \cdot y, j, \left(x \cdot \sqrt[3]{y \cdot z - t \cdot a}\right) \cdot \left(\sqrt[3]{y \cdot z - t \cdot a} \cdot \sqrt[3]{y \cdot z - t \cdot a}\right)\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 r3472428 = x;
double r3472429 = y;
double r3472430 = z;
double r3472431 = r3472429 * r3472430;
double r3472432 = t;
double r3472433 = a;
double r3472434 = r3472432 * r3472433;
double r3472435 = r3472431 - r3472434;
double r3472436 = r3472428 * r3472435;
double r3472437 = b;
double r3472438 = c;
double r3472439 = r3472438 * r3472430;
double r3472440 = i;
double r3472441 = r3472440 * r3472433;
double r3472442 = r3472439 - r3472441;
double r3472443 = r3472437 * r3472442;
double r3472444 = r3472436 - r3472443;
double r3472445 = j;
double r3472446 = r3472438 * r3472432;
double r3472447 = r3472440 * r3472429;
double r3472448 = r3472446 - r3472447;
double r3472449 = r3472445 * r3472448;
double r3472450 = r3472444 + r3472449;
return r3472450;
}
double f(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
double r3472451 = j;
double r3472452 = -7.828445817805927e-124;
bool r3472453 = r3472451 <= r3472452;
double r3472454 = i;
double r3472455 = a;
double r3472456 = r3472454 * r3472455;
double r3472457 = c;
double r3472458 = z;
double r3472459 = r3472457 * r3472458;
double r3472460 = r3472456 - r3472459;
double r3472461 = b;
double r3472462 = t;
double r3472463 = r3472462 * r3472457;
double r3472464 = y;
double r3472465 = r3472454 * r3472464;
double r3472466 = r3472463 - r3472465;
double r3472467 = x;
double r3472468 = r3472464 * r3472458;
double r3472469 = r3472462 * r3472455;
double r3472470 = r3472468 - r3472469;
double r3472471 = cbrt(r3472470);
double r3472472 = r3472467 * r3472471;
double r3472473 = r3472471 * r3472471;
double r3472474 = r3472472 * r3472473;
double r3472475 = fma(r3472466, r3472451, r3472474);
double r3472476 = fma(r3472460, r3472461, r3472475);
double r3472477 = 2.0565799039435203e-108;
bool r3472478 = r3472451 <= r3472477;
double r3472479 = r3472470 * r3472467;
double r3472480 = r3472454 * r3472451;
double r3472481 = r3472480 * r3472464;
double r3472482 = r3472479 - r3472481;
double r3472483 = fma(r3472460, r3472461, r3472482);
double r3472484 = r3472478 ? r3472483 : r3472476;
double r3472485 = r3472453 ? r3472476 : r3472484;
return r3472485;
}



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 j < -7.828445817805927e-124 or 2.0565799039435203e-108 < j Initial program 8.6
Simplified8.6
rmApplied add-cube-cbrt8.9
Applied associate-*l*8.9
if -7.828445817805927e-124 < j < 2.0565799039435203e-108Initial program 15.8
Simplified15.7
rmApplied add-cube-cbrt16.1
Applied associate-*r*16.1
Taylor expanded around -inf 14.7
Simplified14.1
Final simplification10.9
herbie shell --seed 2019135 +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)))))