\left(\left(\left(\left(\left(x \cdot y - z \cdot t\right) \cdot \left(a \cdot b - c \cdot i\right) - \left(x \cdot j - z \cdot k\right) \cdot \left(y0 \cdot b - y1 \cdot i\right)\right) + \left(x \cdot y2 - z \cdot y3\right) \cdot \left(y0 \cdot c - y1 \cdot a\right)\right) + \left(t \cdot j - y \cdot k\right) \cdot \left(y4 \cdot b - y5 \cdot i\right)\right) - \left(t \cdot y2 - y \cdot y3\right) \cdot \left(y4 \cdot c - y5 \cdot a\right)\right) + \left(k \cdot y2 - j \cdot y3\right) \cdot \left(y4 \cdot y1 - y5 \cdot y0\right)
\begin{array}{l}
\mathbf{if}\;y \le -5.048662660641097209172817181683536345471 \cdot 10^{63}:\\
\;\;\;\;\left(\left(\left(\left(\left(x \cdot y - z \cdot t\right) \cdot \left(a \cdot b - c \cdot i\right) - \left(k \cdot \left(i \cdot \left(z \cdot y1\right)\right) - \left(i \cdot \left(j \cdot \left(y1 \cdot x\right)\right) + y0 \cdot \left(z \cdot \left(k \cdot b\right)\right)\right)\right)\right) + \left(x \cdot y2 - z \cdot y3\right) \cdot \left(y0 \cdot c - y1 \cdot a\right)\right) + \left(t \cdot j - y \cdot k\right) \cdot \left(y4 \cdot b - y5 \cdot i\right)\right) - \left(t \cdot y2 - y \cdot y3\right) \cdot \left(y4 \cdot c - y5 \cdot a\right)\right) + \left(k \cdot y2 - j \cdot y3\right) \cdot \left(y4 \cdot y1 - y5 \cdot y0\right)\\
\mathbf{elif}\;y \le -2.700419640437994109127298961331956246595 \cdot 10^{-144}:\\
\;\;\;\;\left(\left(\left(\left(\left(x \cdot y - z \cdot t\right) \cdot \left(a \cdot b - c \cdot i\right) - \left(x \cdot j - z \cdot k\right) \cdot \left(y0 \cdot b - y1 \cdot i\right)\right) + \left(x \cdot y2 - z \cdot y3\right) \cdot \left(y0 \cdot c - y1 \cdot a\right)\right) + \left(t \cdot j - y \cdot k\right) \cdot \left(y4 \cdot b - y5 \cdot i\right)\right) - \left(t \cdot y2 - y \cdot y3\right) \cdot \left(y4 \cdot c - y5 \cdot a\right)\right) + \left(y0 \cdot \left(y3 \cdot \left(j \cdot y5\right) - y2 \cdot \left(k \cdot y5\right)\right) - y1 \cdot \left(y3 \cdot \left(j \cdot y4\right)\right)\right)\\
\mathbf{elif}\;y \le -7.125494913478496202639042530559237478427 \cdot 10^{-209}:\\
\;\;\;\;\left(\left(\left(\left(\left(x \cdot y - z \cdot t\right) \cdot \left(a \cdot b - c \cdot i\right) - \left(k \cdot \left(i \cdot \left(z \cdot y1\right)\right) - \left(i \cdot \left(j \cdot \left(y1 \cdot x\right)\right) + y0 \cdot \left(z \cdot \left(k \cdot b\right)\right)\right)\right)\right) + \left(x \cdot y2 - z \cdot y3\right) \cdot \left(y0 \cdot c - y1 \cdot a\right)\right) + \left(t \cdot j - y \cdot k\right) \cdot \left(y4 \cdot b - y5 \cdot i\right)\right) - \left(t \cdot y2 - y \cdot y3\right) \cdot \left(y4 \cdot c - y5 \cdot a\right)\right) + \left(k \cdot y2 - j \cdot y3\right) \cdot \left(y4 \cdot y1 - y5 \cdot y0\right)\\
\mathbf{elif}\;y \le 1.292892001555813278581179254722571342485 \cdot 10^{-51}:\\
\;\;\;\;\left(\left(\left(\left(\left(t \cdot \left(i \cdot \left(z \cdot c\right)\right) - \left(i \cdot \left(c \cdot \left(y \cdot x\right)\right) + a \cdot \left(t \cdot \left(z \cdot b\right)\right)\right)\right) - \left(x \cdot j - z \cdot k\right) \cdot \left(y0 \cdot b - y1 \cdot i\right)\right) + \left(x \cdot y2 - z \cdot y3\right) \cdot \left(y0 \cdot c - y1 \cdot a\right)\right) + \left(t \cdot j - y \cdot k\right) \cdot \left(y4 \cdot b - y5 \cdot i\right)\right) - \left(t \cdot y2 - y \cdot y3\right) \cdot \left(y4 \cdot c - y5 \cdot a\right)\right) + \left(\left(k \cdot y2 - j \cdot y3\right) \cdot \left(y4 \cdot y1\right) + \left(k \cdot y2 - j \cdot y3\right) \cdot \left(-y5 \cdot y0\right)\right)\\
\mathbf{else}:\\
\;\;\;\;\left(\left(\left(\left(\left(x \cdot y - z \cdot t\right) \cdot \left(a \cdot b - c \cdot i\right) - \left(x \cdot j - z \cdot k\right) \cdot \left(y0 \cdot b - y1 \cdot i\right)\right) + \left(x \cdot y2 - z \cdot y3\right) \cdot \left(y0 \cdot c - y1 \cdot a\right)\right) + \left(t \cdot j - y \cdot k\right) \cdot \left(y4 \cdot b - y5 \cdot i\right)\right) - \left(t \cdot y2 - y \cdot y3\right) \cdot \left(y4 \cdot c - y5 \cdot a\right)\right) + \left(y0 \cdot \left(y3 \cdot \left(j \cdot y5\right) - y2 \cdot \left(k \cdot y5\right)\right) - y1 \cdot \left(y3 \cdot \left(j \cdot y4\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 k, double y0, double y1, double y2, double y3, double y4, double y5) {
double r125362 = x;
double r125363 = y;
double r125364 = r125362 * r125363;
double r125365 = z;
double r125366 = t;
double r125367 = r125365 * r125366;
double r125368 = r125364 - r125367;
double r125369 = a;
double r125370 = b;
double r125371 = r125369 * r125370;
double r125372 = c;
double r125373 = i;
double r125374 = r125372 * r125373;
double r125375 = r125371 - r125374;
double r125376 = r125368 * r125375;
double r125377 = j;
double r125378 = r125362 * r125377;
double r125379 = k;
double r125380 = r125365 * r125379;
double r125381 = r125378 - r125380;
double r125382 = y0;
double r125383 = r125382 * r125370;
double r125384 = y1;
double r125385 = r125384 * r125373;
double r125386 = r125383 - r125385;
double r125387 = r125381 * r125386;
double r125388 = r125376 - r125387;
double r125389 = y2;
double r125390 = r125362 * r125389;
double r125391 = y3;
double r125392 = r125365 * r125391;
double r125393 = r125390 - r125392;
double r125394 = r125382 * r125372;
double r125395 = r125384 * r125369;
double r125396 = r125394 - r125395;
double r125397 = r125393 * r125396;
double r125398 = r125388 + r125397;
double r125399 = r125366 * r125377;
double r125400 = r125363 * r125379;
double r125401 = r125399 - r125400;
double r125402 = y4;
double r125403 = r125402 * r125370;
double r125404 = y5;
double r125405 = r125404 * r125373;
double r125406 = r125403 - r125405;
double r125407 = r125401 * r125406;
double r125408 = r125398 + r125407;
double r125409 = r125366 * r125389;
double r125410 = r125363 * r125391;
double r125411 = r125409 - r125410;
double r125412 = r125402 * r125372;
double r125413 = r125404 * r125369;
double r125414 = r125412 - r125413;
double r125415 = r125411 * r125414;
double r125416 = r125408 - r125415;
double r125417 = r125379 * r125389;
double r125418 = r125377 * r125391;
double r125419 = r125417 - r125418;
double r125420 = r125402 * r125384;
double r125421 = r125404 * r125382;
double r125422 = r125420 - r125421;
double r125423 = r125419 * r125422;
double r125424 = r125416 + r125423;
return r125424;
}
double f(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k, double y0, double y1, double y2, double y3, double y4, double y5) {
double r125425 = y;
double r125426 = -5.048662660641097e+63;
bool r125427 = r125425 <= r125426;
double r125428 = x;
double r125429 = r125428 * r125425;
double r125430 = z;
double r125431 = t;
double r125432 = r125430 * r125431;
double r125433 = r125429 - r125432;
double r125434 = a;
double r125435 = b;
double r125436 = r125434 * r125435;
double r125437 = c;
double r125438 = i;
double r125439 = r125437 * r125438;
double r125440 = r125436 - r125439;
double r125441 = r125433 * r125440;
double r125442 = k;
double r125443 = y1;
double r125444 = r125430 * r125443;
double r125445 = r125438 * r125444;
double r125446 = r125442 * r125445;
double r125447 = j;
double r125448 = r125443 * r125428;
double r125449 = r125447 * r125448;
double r125450 = r125438 * r125449;
double r125451 = y0;
double r125452 = r125442 * r125435;
double r125453 = r125430 * r125452;
double r125454 = r125451 * r125453;
double r125455 = r125450 + r125454;
double r125456 = r125446 - r125455;
double r125457 = r125441 - r125456;
double r125458 = y2;
double r125459 = r125428 * r125458;
double r125460 = y3;
double r125461 = r125430 * r125460;
double r125462 = r125459 - r125461;
double r125463 = r125451 * r125437;
double r125464 = r125443 * r125434;
double r125465 = r125463 - r125464;
double r125466 = r125462 * r125465;
double r125467 = r125457 + r125466;
double r125468 = r125431 * r125447;
double r125469 = r125425 * r125442;
double r125470 = r125468 - r125469;
double r125471 = y4;
double r125472 = r125471 * r125435;
double r125473 = y5;
double r125474 = r125473 * r125438;
double r125475 = r125472 - r125474;
double r125476 = r125470 * r125475;
double r125477 = r125467 + r125476;
double r125478 = r125431 * r125458;
double r125479 = r125425 * r125460;
double r125480 = r125478 - r125479;
double r125481 = r125471 * r125437;
double r125482 = r125473 * r125434;
double r125483 = r125481 - r125482;
double r125484 = r125480 * r125483;
double r125485 = r125477 - r125484;
double r125486 = r125442 * r125458;
double r125487 = r125447 * r125460;
double r125488 = r125486 - r125487;
double r125489 = r125471 * r125443;
double r125490 = r125473 * r125451;
double r125491 = r125489 - r125490;
double r125492 = r125488 * r125491;
double r125493 = r125485 + r125492;
double r125494 = -2.700419640437994e-144;
bool r125495 = r125425 <= r125494;
double r125496 = r125428 * r125447;
double r125497 = r125430 * r125442;
double r125498 = r125496 - r125497;
double r125499 = r125451 * r125435;
double r125500 = r125443 * r125438;
double r125501 = r125499 - r125500;
double r125502 = r125498 * r125501;
double r125503 = r125441 - r125502;
double r125504 = r125503 + r125466;
double r125505 = r125504 + r125476;
double r125506 = r125505 - r125484;
double r125507 = r125447 * r125473;
double r125508 = r125460 * r125507;
double r125509 = r125442 * r125473;
double r125510 = r125458 * r125509;
double r125511 = r125508 - r125510;
double r125512 = r125451 * r125511;
double r125513 = r125447 * r125471;
double r125514 = r125460 * r125513;
double r125515 = r125443 * r125514;
double r125516 = r125512 - r125515;
double r125517 = r125506 + r125516;
double r125518 = -7.125494913478496e-209;
bool r125519 = r125425 <= r125518;
double r125520 = 1.2928920015558133e-51;
bool r125521 = r125425 <= r125520;
double r125522 = r125430 * r125437;
double r125523 = r125438 * r125522;
double r125524 = r125431 * r125523;
double r125525 = r125425 * r125428;
double r125526 = r125437 * r125525;
double r125527 = r125438 * r125526;
double r125528 = r125430 * r125435;
double r125529 = r125431 * r125528;
double r125530 = r125434 * r125529;
double r125531 = r125527 + r125530;
double r125532 = r125524 - r125531;
double r125533 = r125532 - r125502;
double r125534 = r125533 + r125466;
double r125535 = r125534 + r125476;
double r125536 = r125535 - r125484;
double r125537 = r125488 * r125489;
double r125538 = -r125490;
double r125539 = r125488 * r125538;
double r125540 = r125537 + r125539;
double r125541 = r125536 + r125540;
double r125542 = r125521 ? r125541 : r125517;
double r125543 = r125519 ? r125493 : r125542;
double r125544 = r125495 ? r125517 : r125543;
double r125545 = r125427 ? r125493 : r125544;
return r125545;
}



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



Bits error versus k



Bits error versus y0



Bits error versus y1



Bits error versus y2



Bits error versus y3



Bits error versus y4



Bits error versus y5
Results
if y < -5.048662660641097e+63 or -2.700419640437994e-144 < y < -7.125494913478496e-209Initial program 29.0
Taylor expanded around inf 31.4
if -5.048662660641097e+63 < y < -2.700419640437994e-144 or 1.2928920015558133e-51 < y Initial program 26.1
Taylor expanded around inf 28.2
Simplified28.2
if -7.125494913478496e-209 < y < 1.2928920015558133e-51Initial program 26.9
rmApplied sub-neg26.9
Applied distribute-lft-in26.9
Taylor expanded around inf 28.0
Final simplification28.7
herbie shell --seed 2019323
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5)
:name "Linear.Matrix:det44 from linear-1.19.1.3"
:precision binary64
(+ (- (+ (+ (- (* (- (* x y) (* z t)) (- (* a b) (* c i))) (* (- (* x j) (* z k)) (- (* y0 b) (* y1 i)))) (* (- (* x y2) (* z y3)) (- (* y0 c) (* y1 a)))) (* (- (* t j) (* y k)) (- (* y4 b) (* y5 i)))) (* (- (* t y2) (* y y3)) (- (* y4 c) (* y5 a)))) (* (- (* k y2) (* j y3)) (- (* y4 y1) (* y5 y0)))))