\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}\;x \le 2.601442109879438909334021118328802127187 \cdot 10^{51}:\\
\;\;\;\;\left(\left(x \cdot z\right) \cdot y + \left(-\left(x \cdot a\right) \cdot t\right)\right) + \mathsf{fma}\left(b, i \cdot a - c \cdot z, j \cdot \left(c \cdot t - i \cdot y\right)\right)\\
\mathbf{else}:\\
\;\;\;\;x \cdot \left(y \cdot z - t \cdot a\right) + \mathsf{fma}\left(b, i \cdot a - c \cdot z, \left(j \cdot \left(\sqrt[3]{c \cdot t - i \cdot y} \cdot \sqrt[3]{c \cdot t - i \cdot y}\right)\right) \cdot \sqrt[3]{c \cdot t - i \cdot y}\right)\\
\end{array}double f(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
double r113211 = x;
double r113212 = y;
double r113213 = z;
double r113214 = r113212 * r113213;
double r113215 = t;
double r113216 = a;
double r113217 = r113215 * r113216;
double r113218 = r113214 - r113217;
double r113219 = r113211 * r113218;
double r113220 = b;
double r113221 = c;
double r113222 = r113221 * r113213;
double r113223 = i;
double r113224 = r113223 * r113216;
double r113225 = r113222 - r113224;
double r113226 = r113220 * r113225;
double r113227 = r113219 - r113226;
double r113228 = j;
double r113229 = r113221 * r113215;
double r113230 = r113223 * r113212;
double r113231 = r113229 - r113230;
double r113232 = r113228 * r113231;
double r113233 = r113227 + r113232;
return r113233;
}
double f(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
double r113234 = x;
double r113235 = 2.601442109879439e+51;
bool r113236 = r113234 <= r113235;
double r113237 = z;
double r113238 = r113234 * r113237;
double r113239 = y;
double r113240 = r113238 * r113239;
double r113241 = a;
double r113242 = r113234 * r113241;
double r113243 = t;
double r113244 = r113242 * r113243;
double r113245 = -r113244;
double r113246 = r113240 + r113245;
double r113247 = b;
double r113248 = i;
double r113249 = r113248 * r113241;
double r113250 = c;
double r113251 = r113250 * r113237;
double r113252 = r113249 - r113251;
double r113253 = j;
double r113254 = r113250 * r113243;
double r113255 = r113248 * r113239;
double r113256 = r113254 - r113255;
double r113257 = r113253 * r113256;
double r113258 = fma(r113247, r113252, r113257);
double r113259 = r113246 + r113258;
double r113260 = r113239 * r113237;
double r113261 = r113243 * r113241;
double r113262 = r113260 - r113261;
double r113263 = r113234 * r113262;
double r113264 = cbrt(r113256);
double r113265 = r113264 * r113264;
double r113266 = r113253 * r113265;
double r113267 = r113266 * r113264;
double r113268 = fma(r113247, r113252, r113267);
double r113269 = r113263 + r113268;
double r113270 = r113236 ? r113259 : r113269;
return r113270;
}



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 x < 2.601442109879439e+51Initial program 12.7
Simplified12.7
rmApplied fma-udef12.7
rmApplied sub-neg12.7
Applied distribute-lft-in12.7
Simplified12.7
Simplified12.3
rmApplied associate-*r*12.2
Simplified12.2
rmApplied associate-*r*10.9
if 2.601442109879439e+51 < x Initial program 7.1
Simplified7.1
rmApplied fma-udef7.1
rmApplied add-cube-cbrt7.3
Applied associate-*r*7.3
Final simplification10.4
herbie shell --seed 2019322 +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)))))