\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 -8.726925738034539270507380773704722857084 \cdot 10^{-133} \lor \neg \left(t \le 5.076318876201314174297201710312870570435 \cdot 10^{-117}\right):\\
\;\;\;\;\mathsf{fma}\left(x, y \cdot z - t \cdot a, b \cdot \left(i \cdot a - c \cdot z\right) + \left(\left(j \cdot c\right) \cdot t + \left(-y \cdot \left(i \cdot j\right)\right)\right)\right)\\
\mathbf{else}:\\
\;\;\;\;\left(\sqrt[3]{\mathsf{fma}\left(x, y \cdot z - t \cdot a, \mathsf{fma}\left(b, i \cdot a - c \cdot z, j \cdot \left(c \cdot t - i \cdot y\right)\right)\right)} \cdot \sqrt[3]{\mathsf{fma}\left(x, y \cdot z - t \cdot a, \mathsf{fma}\left(b, i \cdot a - c \cdot z, j \cdot \left(c \cdot t - i \cdot y\right)\right)\right)}\right) \cdot \sqrt[3]{\mathsf{fma}\left(x, y \cdot z - t \cdot a, \mathsf{fma}\left(b, i \cdot a - c \cdot z, j \cdot \left(c \cdot t - i \cdot y\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 r103276 = x;
double r103277 = y;
double r103278 = z;
double r103279 = r103277 * r103278;
double r103280 = t;
double r103281 = a;
double r103282 = r103280 * r103281;
double r103283 = r103279 - r103282;
double r103284 = r103276 * r103283;
double r103285 = b;
double r103286 = c;
double r103287 = r103286 * r103278;
double r103288 = i;
double r103289 = r103288 * r103281;
double r103290 = r103287 - r103289;
double r103291 = r103285 * r103290;
double r103292 = r103284 - r103291;
double r103293 = j;
double r103294 = r103286 * r103280;
double r103295 = r103288 * r103277;
double r103296 = r103294 - r103295;
double r103297 = r103293 * r103296;
double r103298 = r103292 + r103297;
return r103298;
}
double f(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
double r103299 = t;
double r103300 = -8.72692573803454e-133;
bool r103301 = r103299 <= r103300;
double r103302 = 5.076318876201314e-117;
bool r103303 = r103299 <= r103302;
double r103304 = !r103303;
bool r103305 = r103301 || r103304;
double r103306 = x;
double r103307 = y;
double r103308 = z;
double r103309 = r103307 * r103308;
double r103310 = a;
double r103311 = r103299 * r103310;
double r103312 = r103309 - r103311;
double r103313 = b;
double r103314 = i;
double r103315 = r103314 * r103310;
double r103316 = c;
double r103317 = r103316 * r103308;
double r103318 = r103315 - r103317;
double r103319 = r103313 * r103318;
double r103320 = j;
double r103321 = r103320 * r103316;
double r103322 = r103321 * r103299;
double r103323 = r103314 * r103320;
double r103324 = r103307 * r103323;
double r103325 = -r103324;
double r103326 = r103322 + r103325;
double r103327 = r103319 + r103326;
double r103328 = fma(r103306, r103312, r103327);
double r103329 = r103316 * r103299;
double r103330 = r103314 * r103307;
double r103331 = r103329 - r103330;
double r103332 = r103320 * r103331;
double r103333 = fma(r103313, r103318, r103332);
double r103334 = fma(r103306, r103312, r103333);
double r103335 = cbrt(r103334);
double r103336 = r103335 * r103335;
double r103337 = r103336 * r103335;
double r103338 = r103305 ? r103328 : r103337;
return r103338;
}



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 t < -8.72692573803454e-133 or 5.076318876201314e-117 < t Initial program 13.8
Simplified13.8
rmApplied sub-neg13.8
Applied distribute-lft-in13.8
Simplified13.8
rmApplied associate-*r*11.8
rmApplied distribute-lft-neg-out11.8
Simplified11.5
rmApplied fma-udef11.5
if -8.72692573803454e-133 < t < 5.076318876201314e-117Initial program 9.2
Simplified9.2
rmApplied add-cube-cbrt10.1
Final simplification11.0
herbie shell --seed 2019326 +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)))))