\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}\;y \le -5.790815325220392908858165475828676773669 \cdot 10^{105}:\\
\;\;\;\;\left(x \cdot \left(y \cdot z - t \cdot a\right) - b \cdot \left(c \cdot z - i \cdot a\right)\right) + \left(\left(t \cdot j\right) \cdot c + \left(-i \cdot \left(j \cdot y\right)\right)\right)\\
\mathbf{elif}\;y \le -1.53784447253032729710026066052934139026 \cdot 10^{-198}:\\
\;\;\;\;\left(x \cdot \left(y \cdot z - t \cdot a\right) - \left(z \cdot \left(b \cdot c\right) + b \cdot \left(-i \cdot a\right)\right)\right) + j \cdot \left(c \cdot t - i \cdot y\right)\\
\mathbf{elif}\;y \le 4.328665951797104146389136561894216279411 \cdot 10^{-260}:\\
\;\;\;\;\left(\left(x \cdot \left(z \cdot y\right) + \left(-a \cdot \left(x \cdot t\right)\right)\right) - b \cdot \left(c \cdot z - i \cdot a\right)\right) + \left(t \cdot \left(j \cdot c\right) + \left(-i \cdot \left(j \cdot y\right)\right)\right)\\
\mathbf{elif}\;y \le 9.417727496660265300992831427606688521337 \cdot 10^{-4}:\\
\;\;\;\;\left(x \cdot \left(y \cdot z - t \cdot a\right) - \left(z \cdot \left(b \cdot c\right) + b \cdot \left(-i \cdot a\right)\right)\right) + j \cdot \left(c \cdot t - i \cdot y\right)\\
\mathbf{else}:\\
\;\;\;\;\left(x \cdot \left(y \cdot z - t \cdot a\right) - b \cdot \left(c \cdot z - i \cdot a\right)\right) + \left(t \cdot \left(j \cdot c\right) + \left(-\left(\left(i \cdot j\right) \cdot \sqrt{y}\right) \cdot \sqrt{y}\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 r80236 = x;
double r80237 = y;
double r80238 = z;
double r80239 = r80237 * r80238;
double r80240 = t;
double r80241 = a;
double r80242 = r80240 * r80241;
double r80243 = r80239 - r80242;
double r80244 = r80236 * r80243;
double r80245 = b;
double r80246 = c;
double r80247 = r80246 * r80238;
double r80248 = i;
double r80249 = r80248 * r80241;
double r80250 = r80247 - r80249;
double r80251 = r80245 * r80250;
double r80252 = r80244 - r80251;
double r80253 = j;
double r80254 = r80246 * r80240;
double r80255 = r80248 * r80237;
double r80256 = r80254 - r80255;
double r80257 = r80253 * r80256;
double r80258 = r80252 + r80257;
return r80258;
}
double f(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
double r80259 = y;
double r80260 = -5.790815325220393e+105;
bool r80261 = r80259 <= r80260;
double r80262 = x;
double r80263 = z;
double r80264 = r80259 * r80263;
double r80265 = t;
double r80266 = a;
double r80267 = r80265 * r80266;
double r80268 = r80264 - r80267;
double r80269 = r80262 * r80268;
double r80270 = b;
double r80271 = c;
double r80272 = r80271 * r80263;
double r80273 = i;
double r80274 = r80273 * r80266;
double r80275 = r80272 - r80274;
double r80276 = r80270 * r80275;
double r80277 = r80269 - r80276;
double r80278 = j;
double r80279 = r80265 * r80278;
double r80280 = r80279 * r80271;
double r80281 = r80278 * r80259;
double r80282 = r80273 * r80281;
double r80283 = -r80282;
double r80284 = r80280 + r80283;
double r80285 = r80277 + r80284;
double r80286 = -1.5378444725303273e-198;
bool r80287 = r80259 <= r80286;
double r80288 = r80270 * r80271;
double r80289 = r80263 * r80288;
double r80290 = -r80274;
double r80291 = r80270 * r80290;
double r80292 = r80289 + r80291;
double r80293 = r80269 - r80292;
double r80294 = r80271 * r80265;
double r80295 = r80273 * r80259;
double r80296 = r80294 - r80295;
double r80297 = r80278 * r80296;
double r80298 = r80293 + r80297;
double r80299 = 4.328665951797104e-260;
bool r80300 = r80259 <= r80299;
double r80301 = r80263 * r80259;
double r80302 = r80262 * r80301;
double r80303 = r80262 * r80265;
double r80304 = r80266 * r80303;
double r80305 = -r80304;
double r80306 = r80302 + r80305;
double r80307 = r80306 - r80276;
double r80308 = r80278 * r80271;
double r80309 = r80265 * r80308;
double r80310 = r80309 + r80283;
double r80311 = r80307 + r80310;
double r80312 = 0.0009417727496660265;
bool r80313 = r80259 <= r80312;
double r80314 = r80273 * r80278;
double r80315 = sqrt(r80259);
double r80316 = r80314 * r80315;
double r80317 = r80316 * r80315;
double r80318 = -r80317;
double r80319 = r80309 + r80318;
double r80320 = r80277 + r80319;
double r80321 = r80313 ? r80298 : r80320;
double r80322 = r80300 ? r80311 : r80321;
double r80323 = r80287 ? r80298 : r80322;
double r80324 = r80261 ? r80285 : r80323;
return r80324;
}



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
Results
if y < -5.790815325220393e+105Initial program 21.9
rmApplied sub-neg21.9
Applied distribute-lft-in21.9
Simplified21.6
Simplified20.9
rmApplied associate-*r*20.6
if -5.790815325220393e+105 < y < -1.5378444725303273e-198 or 4.328665951797104e-260 < y < 0.0009417727496660265Initial program 9.3
rmApplied sub-neg9.3
Applied distribute-lft-in9.3
Simplified8.9
if -1.5378444725303273e-198 < y < 4.328665951797104e-260Initial program 9.5
rmApplied sub-neg9.5
Applied distribute-lft-in9.5
Simplified10.0
Simplified9.9
rmApplied sub-neg9.9
Applied distribute-lft-in9.9
Simplified9.9
Simplified11.0
if 0.0009417727496660265 < y Initial program 16.5
rmApplied sub-neg16.5
Applied distribute-lft-in16.5
Simplified16.4
Simplified16.2
rmApplied associate-*r*12.2
rmApplied add-sqr-sqrt12.3
Applied associate-*r*12.3
Final simplification11.2
herbie shell --seed 2019326
(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)))))