\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 -3.068136913593689871171353580308452333931 \cdot 10^{57}:\\
\;\;\;\;\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(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 7.665419953743729151544965939512326853023 \cdot 10^{-168}:\\
\;\;\;\;\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(k \cdot y2 - j \cdot y3\right) \cdot \left(y4 \cdot y1 - y5 \cdot y0\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(\sqrt[3]{\left(k \cdot y2 - j \cdot y3\right) \cdot \left(y4 \cdot y1 - y5 \cdot y0\right)} \cdot \sqrt[3]{\left(k \cdot y2 - j \cdot y3\right) \cdot \left(y4 \cdot y1 - y5 \cdot y0\right)}\right) \cdot \sqrt[3]{\left(k \cdot y2 - j \cdot y3\right) \cdot \left(y4 \cdot y1 - y5 \cdot y0\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 r154435 = x;
double r154436 = y;
double r154437 = r154435 * r154436;
double r154438 = z;
double r154439 = t;
double r154440 = r154438 * r154439;
double r154441 = r154437 - r154440;
double r154442 = a;
double r154443 = b;
double r154444 = r154442 * r154443;
double r154445 = c;
double r154446 = i;
double r154447 = r154445 * r154446;
double r154448 = r154444 - r154447;
double r154449 = r154441 * r154448;
double r154450 = j;
double r154451 = r154435 * r154450;
double r154452 = k;
double r154453 = r154438 * r154452;
double r154454 = r154451 - r154453;
double r154455 = y0;
double r154456 = r154455 * r154443;
double r154457 = y1;
double r154458 = r154457 * r154446;
double r154459 = r154456 - r154458;
double r154460 = r154454 * r154459;
double r154461 = r154449 - r154460;
double r154462 = y2;
double r154463 = r154435 * r154462;
double r154464 = y3;
double r154465 = r154438 * r154464;
double r154466 = r154463 - r154465;
double r154467 = r154455 * r154445;
double r154468 = r154457 * r154442;
double r154469 = r154467 - r154468;
double r154470 = r154466 * r154469;
double r154471 = r154461 + r154470;
double r154472 = r154439 * r154450;
double r154473 = r154436 * r154452;
double r154474 = r154472 - r154473;
double r154475 = y4;
double r154476 = r154475 * r154443;
double r154477 = y5;
double r154478 = r154477 * r154446;
double r154479 = r154476 - r154478;
double r154480 = r154474 * r154479;
double r154481 = r154471 + r154480;
double r154482 = r154439 * r154462;
double r154483 = r154436 * r154464;
double r154484 = r154482 - r154483;
double r154485 = r154475 * r154445;
double r154486 = r154477 * r154442;
double r154487 = r154485 - r154486;
double r154488 = r154484 * r154487;
double r154489 = r154481 - r154488;
double r154490 = r154452 * r154462;
double r154491 = r154450 * r154464;
double r154492 = r154490 - r154491;
double r154493 = r154475 * r154457;
double r154494 = r154477 * r154455;
double r154495 = r154493 - r154494;
double r154496 = r154492 * r154495;
double r154497 = r154489 + r154496;
return r154497;
}
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 r154498 = y;
double r154499 = -3.06813691359369e+57;
bool r154500 = r154498 <= r154499;
double r154501 = x;
double r154502 = r154501 * r154498;
double r154503 = z;
double r154504 = t;
double r154505 = r154503 * r154504;
double r154506 = r154502 - r154505;
double r154507 = a;
double r154508 = b;
double r154509 = r154507 * r154508;
double r154510 = c;
double r154511 = i;
double r154512 = r154510 * r154511;
double r154513 = r154509 - r154512;
double r154514 = r154506 * r154513;
double r154515 = j;
double r154516 = r154501 * r154515;
double r154517 = k;
double r154518 = r154503 * r154517;
double r154519 = r154516 - r154518;
double r154520 = y0;
double r154521 = r154520 * r154508;
double r154522 = y1;
double r154523 = r154522 * r154511;
double r154524 = r154521 - r154523;
double r154525 = r154519 * r154524;
double r154526 = r154514 - r154525;
double r154527 = r154504 * r154515;
double r154528 = r154498 * r154517;
double r154529 = r154527 - r154528;
double r154530 = y4;
double r154531 = r154530 * r154508;
double r154532 = y5;
double r154533 = r154532 * r154511;
double r154534 = r154531 - r154533;
double r154535 = r154529 * r154534;
double r154536 = r154526 + r154535;
double r154537 = y2;
double r154538 = r154504 * r154537;
double r154539 = y3;
double r154540 = r154498 * r154539;
double r154541 = r154538 - r154540;
double r154542 = r154530 * r154510;
double r154543 = r154532 * r154507;
double r154544 = r154542 - r154543;
double r154545 = r154541 * r154544;
double r154546 = r154536 - r154545;
double r154547 = r154517 * r154537;
double r154548 = r154515 * r154539;
double r154549 = r154547 - r154548;
double r154550 = r154530 * r154522;
double r154551 = r154532 * r154520;
double r154552 = r154550 - r154551;
double r154553 = r154549 * r154552;
double r154554 = r154546 + r154553;
double r154555 = 7.665419953743729e-168;
bool r154556 = r154498 <= r154555;
double r154557 = r154503 * r154510;
double r154558 = r154511 * r154557;
double r154559 = r154504 * r154558;
double r154560 = r154498 * r154501;
double r154561 = r154510 * r154560;
double r154562 = r154511 * r154561;
double r154563 = r154503 * r154508;
double r154564 = r154504 * r154563;
double r154565 = r154507 * r154564;
double r154566 = r154562 + r154565;
double r154567 = r154559 - r154566;
double r154568 = r154567 - r154525;
double r154569 = r154501 * r154537;
double r154570 = r154503 * r154539;
double r154571 = r154569 - r154570;
double r154572 = r154520 * r154510;
double r154573 = r154522 * r154507;
double r154574 = r154572 - r154573;
double r154575 = r154571 * r154574;
double r154576 = r154568 + r154575;
double r154577 = r154576 + r154535;
double r154578 = r154577 - r154545;
double r154579 = r154578 + r154553;
double r154580 = r154526 + r154575;
double r154581 = r154580 + r154535;
double r154582 = r154581 - r154545;
double r154583 = cbrt(r154553);
double r154584 = r154583 * r154583;
double r154585 = r154584 * r154583;
double r154586 = r154582 + r154585;
double r154587 = r154556 ? r154579 : r154586;
double r154588 = r154500 ? r154554 : r154587;
return r154588;
}



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 < -3.06813691359369e+57Initial program 29.7
Taylor expanded around 0 32.3
if -3.06813691359369e+57 < y < 7.665419953743729e-168Initial program 26.2
Taylor expanded around inf 27.6
if 7.665419953743729e-168 < y Initial program 26.1
rmApplied add-cube-cbrt26.2
Final simplification27.7
herbie shell --seed 2019303
(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)))))