\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}\;y5 \le -6.7159667034134052 \cdot 10^{-9}:\\
\;\;\;\;\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(a \cdot \left(y3 \cdot \left(y1 \cdot z\right)\right) - \left(y0 \cdot \left(z \cdot \left(y3 \cdot c\right)\right) + a \cdot \left(x \cdot \left(y2 \cdot y1\right)\right)\right)\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}\;y5 \le 1.13848822505884045 \cdot 10^{-219}:\\
\;\;\;\;\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(k \cdot \left(i \cdot \left(y \cdot y5\right)\right) - \left(t \cdot \left(i \cdot \left(j \cdot y5\right)\right) + k \cdot \left(y4 \cdot \left(y \cdot b\right)\right)\right)\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}\;y5 \le 8.6448449157860781 \cdot 10^{-14}:\\
\;\;\;\;\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(\left(t \cdot y2 - y \cdot y3\right) \cdot \left(\sqrt[3]{y4 \cdot c - y5 \cdot a} \cdot \sqrt[3]{y4 \cdot c - y5 \cdot a}\right)\right) \cdot \sqrt[3]{y4 \cdot c - y5 \cdot a}\right) + \left(k \cdot y2 - j \cdot y3\right) \cdot \left(y4 \cdot y1 - y5 \cdot y0\right)\\
\mathbf{elif}\;y5 \le 9.057615930547528 \cdot 10^{55}:\\
\;\;\;\;\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(k \cdot \left(i \cdot \left(y \cdot y5\right)\right) - \left(t \cdot \left(i \cdot \left(j \cdot y5\right)\right) + k \cdot \left(y4 \cdot \left(y \cdot b\right)\right)\right)\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}\;y5 \le 4.7545985175856366 \cdot 10^{191}:\\
\;\;\;\;\left(\left(\left(\left(\left(x \cdot y - z \cdot t\right) \cdot \left(a \cdot b - c \cdot i\right) - 0\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(\left(t \cdot y2 - y \cdot y3\right) \cdot \left(\sqrt[3]{y4 \cdot c - y5 \cdot a} \cdot \sqrt[3]{y4 \cdot c - y5 \cdot a}\right)\right) \cdot \sqrt[3]{y4 \cdot c - y5 \cdot a}\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(\sqrt[3]{\left(t \cdot y2 - y \cdot y3\right) \cdot \left(y4 \cdot c - y5 \cdot a\right)} \cdot \sqrt[3]{\left(t \cdot y2 - y \cdot y3\right) \cdot \left(y4 \cdot c - y5 \cdot a\right)}\right) \cdot \sqrt[3]{\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)\\
\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 r162296 = x;
double r162297 = y;
double r162298 = r162296 * r162297;
double r162299 = z;
double r162300 = t;
double r162301 = r162299 * r162300;
double r162302 = r162298 - r162301;
double r162303 = a;
double r162304 = b;
double r162305 = r162303 * r162304;
double r162306 = c;
double r162307 = i;
double r162308 = r162306 * r162307;
double r162309 = r162305 - r162308;
double r162310 = r162302 * r162309;
double r162311 = j;
double r162312 = r162296 * r162311;
double r162313 = k;
double r162314 = r162299 * r162313;
double r162315 = r162312 - r162314;
double r162316 = y0;
double r162317 = r162316 * r162304;
double r162318 = y1;
double r162319 = r162318 * r162307;
double r162320 = r162317 - r162319;
double r162321 = r162315 * r162320;
double r162322 = r162310 - r162321;
double r162323 = y2;
double r162324 = r162296 * r162323;
double r162325 = y3;
double r162326 = r162299 * r162325;
double r162327 = r162324 - r162326;
double r162328 = r162316 * r162306;
double r162329 = r162318 * r162303;
double r162330 = r162328 - r162329;
double r162331 = r162327 * r162330;
double r162332 = r162322 + r162331;
double r162333 = r162300 * r162311;
double r162334 = r162297 * r162313;
double r162335 = r162333 - r162334;
double r162336 = y4;
double r162337 = r162336 * r162304;
double r162338 = y5;
double r162339 = r162338 * r162307;
double r162340 = r162337 - r162339;
double r162341 = r162335 * r162340;
double r162342 = r162332 + r162341;
double r162343 = r162300 * r162323;
double r162344 = r162297 * r162325;
double r162345 = r162343 - r162344;
double r162346 = r162336 * r162306;
double r162347 = r162338 * r162303;
double r162348 = r162346 - r162347;
double r162349 = r162345 * r162348;
double r162350 = r162342 - r162349;
double r162351 = r162313 * r162323;
double r162352 = r162311 * r162325;
double r162353 = r162351 - r162352;
double r162354 = r162336 * r162318;
double r162355 = r162338 * r162316;
double r162356 = r162354 - r162355;
double r162357 = r162353 * r162356;
double r162358 = r162350 + r162357;
return r162358;
}
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 r162359 = y5;
double r162360 = -6.715966703413405e-09;
bool r162361 = r162359 <= r162360;
double r162362 = x;
double r162363 = y;
double r162364 = r162362 * r162363;
double r162365 = z;
double r162366 = t;
double r162367 = r162365 * r162366;
double r162368 = r162364 - r162367;
double r162369 = a;
double r162370 = b;
double r162371 = r162369 * r162370;
double r162372 = c;
double r162373 = i;
double r162374 = r162372 * r162373;
double r162375 = r162371 - r162374;
double r162376 = r162368 * r162375;
double r162377 = j;
double r162378 = r162362 * r162377;
double r162379 = k;
double r162380 = r162365 * r162379;
double r162381 = r162378 - r162380;
double r162382 = y0;
double r162383 = r162382 * r162370;
double r162384 = y1;
double r162385 = r162384 * r162373;
double r162386 = r162383 - r162385;
double r162387 = r162381 * r162386;
double r162388 = r162376 - r162387;
double r162389 = y3;
double r162390 = r162384 * r162365;
double r162391 = r162389 * r162390;
double r162392 = r162369 * r162391;
double r162393 = r162389 * r162372;
double r162394 = r162365 * r162393;
double r162395 = r162382 * r162394;
double r162396 = y2;
double r162397 = r162396 * r162384;
double r162398 = r162362 * r162397;
double r162399 = r162369 * r162398;
double r162400 = r162395 + r162399;
double r162401 = r162392 - r162400;
double r162402 = r162388 + r162401;
double r162403 = r162366 * r162377;
double r162404 = r162363 * r162379;
double r162405 = r162403 - r162404;
double r162406 = y4;
double r162407 = r162406 * r162370;
double r162408 = r162359 * r162373;
double r162409 = r162407 - r162408;
double r162410 = r162405 * r162409;
double r162411 = r162402 + r162410;
double r162412 = r162366 * r162396;
double r162413 = r162363 * r162389;
double r162414 = r162412 - r162413;
double r162415 = r162406 * r162372;
double r162416 = r162359 * r162369;
double r162417 = r162415 - r162416;
double r162418 = r162414 * r162417;
double r162419 = r162411 - r162418;
double r162420 = r162379 * r162396;
double r162421 = r162377 * r162389;
double r162422 = r162420 - r162421;
double r162423 = r162406 * r162384;
double r162424 = r162359 * r162382;
double r162425 = r162423 - r162424;
double r162426 = r162422 * r162425;
double r162427 = r162419 + r162426;
double r162428 = 1.1384882250588404e-219;
bool r162429 = r162359 <= r162428;
double r162430 = r162362 * r162396;
double r162431 = r162365 * r162389;
double r162432 = r162430 - r162431;
double r162433 = r162382 * r162372;
double r162434 = r162384 * r162369;
double r162435 = r162433 - r162434;
double r162436 = r162432 * r162435;
double r162437 = r162388 + r162436;
double r162438 = r162363 * r162359;
double r162439 = r162373 * r162438;
double r162440 = r162379 * r162439;
double r162441 = r162377 * r162359;
double r162442 = r162373 * r162441;
double r162443 = r162366 * r162442;
double r162444 = r162363 * r162370;
double r162445 = r162406 * r162444;
double r162446 = r162379 * r162445;
double r162447 = r162443 + r162446;
double r162448 = r162440 - r162447;
double r162449 = r162437 + r162448;
double r162450 = r162449 - r162418;
double r162451 = r162450 + r162426;
double r162452 = 8.644844915786078e-14;
bool r162453 = r162359 <= r162452;
double r162454 = r162365 * r162384;
double r162455 = r162373 * r162454;
double r162456 = r162379 * r162455;
double r162457 = r162384 * r162362;
double r162458 = r162377 * r162457;
double r162459 = r162373 * r162458;
double r162460 = r162379 * r162370;
double r162461 = r162365 * r162460;
double r162462 = r162382 * r162461;
double r162463 = r162459 + r162462;
double r162464 = r162456 - r162463;
double r162465 = r162376 - r162464;
double r162466 = r162465 + r162436;
double r162467 = r162466 + r162410;
double r162468 = cbrt(r162417);
double r162469 = r162468 * r162468;
double r162470 = r162414 * r162469;
double r162471 = r162470 * r162468;
double r162472 = r162467 - r162471;
double r162473 = r162472 + r162426;
double r162474 = 9.057615930547528e+55;
bool r162475 = r162359 <= r162474;
double r162476 = 4.7545985175856366e+191;
bool r162477 = r162359 <= r162476;
double r162478 = 0.0;
double r162479 = r162376 - r162478;
double r162480 = r162479 + r162436;
double r162481 = r162480 + r162410;
double r162482 = r162481 - r162471;
double r162483 = r162482 + r162426;
double r162484 = r162437 + r162410;
double r162485 = cbrt(r162418);
double r162486 = r162485 * r162485;
double r162487 = r162486 * r162485;
double r162488 = r162484 - r162487;
double r162489 = r162488 + r162426;
double r162490 = r162477 ? r162483 : r162489;
double r162491 = r162475 ? r162451 : r162490;
double r162492 = r162453 ? r162473 : r162491;
double r162493 = r162429 ? r162451 : r162492;
double r162494 = r162361 ? r162427 : r162493;
return r162494;
}



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 y5 < -6.715966703413405e-09Initial program 28.0
Taylor expanded around inf 31.9
if -6.715966703413405e-09 < y5 < 1.1384882250588404e-219 or 8.644844915786078e-14 < y5 < 9.057615930547528e+55Initial program 26.9
Taylor expanded around inf 28.0
if 1.1384882250588404e-219 < y5 < 8.644844915786078e-14Initial program 25.0
rmApplied add-cube-cbrt25.1
Applied associate-*r*25.1
Taylor expanded around inf 27.8
if 9.057615930547528e+55 < y5 < 4.7545985175856366e+191Initial program 26.2
rmApplied add-cube-cbrt26.2
Applied associate-*r*26.2
Taylor expanded around 0 31.6
if 4.7545985175856366e+191 < y5 Initial program 33.4
rmApplied add-cube-cbrt33.5
Final simplification29.2
herbie shell --seed 2020024
(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)))))