\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)
\mathsf{fma}\left(j, \left(c \cdot t - y \cdot i\right), \left(\left(\sqrt[3]{y \cdot z - a \cdot t} \cdot \sqrt[3]{y \cdot z - a \cdot t}\right) \cdot \left(\sqrt[3]{y \cdot z - a \cdot t} \cdot x\right) - \left(c \cdot z - i \cdot a\right) \cdot b\right)\right)double f(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
double r11310374 = x;
double r11310375 = y;
double r11310376 = z;
double r11310377 = r11310375 * r11310376;
double r11310378 = t;
double r11310379 = a;
double r11310380 = r11310378 * r11310379;
double r11310381 = r11310377 - r11310380;
double r11310382 = r11310374 * r11310381;
double r11310383 = b;
double r11310384 = c;
double r11310385 = r11310384 * r11310376;
double r11310386 = i;
double r11310387 = r11310386 * r11310379;
double r11310388 = r11310385 - r11310387;
double r11310389 = r11310383 * r11310388;
double r11310390 = r11310382 - r11310389;
double r11310391 = j;
double r11310392 = r11310384 * r11310378;
double r11310393 = r11310386 * r11310375;
double r11310394 = r11310392 - r11310393;
double r11310395 = r11310391 * r11310394;
double r11310396 = r11310390 + r11310395;
return r11310396;
}
double f(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
double r11310397 = j;
double r11310398 = c;
double r11310399 = t;
double r11310400 = r11310398 * r11310399;
double r11310401 = y;
double r11310402 = i;
double r11310403 = r11310401 * r11310402;
double r11310404 = r11310400 - r11310403;
double r11310405 = z;
double r11310406 = r11310401 * r11310405;
double r11310407 = a;
double r11310408 = r11310407 * r11310399;
double r11310409 = r11310406 - r11310408;
double r11310410 = cbrt(r11310409);
double r11310411 = r11310410 * r11310410;
double r11310412 = x;
double r11310413 = r11310410 * r11310412;
double r11310414 = r11310411 * r11310413;
double r11310415 = r11310398 * r11310405;
double r11310416 = r11310402 * r11310407;
double r11310417 = r11310415 - r11310416;
double r11310418 = b;
double r11310419 = r11310417 * r11310418;
double r11310420 = r11310414 - r11310419;
double r11310421 = fma(r11310397, r11310404, r11310420);
return r11310421;
}



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
Initial program 11.3
Simplified11.3
rmApplied add-cube-cbrt11.6
Applied associate-*l*11.6
Final simplification11.6
herbie shell --seed 2019121 +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)))))