Average Error: 27.0 → 28.8
Time: 37.9s
Precision: 64
\[\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}\;b \le -4.059251109457473 \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(\left(x \cdot j - z \cdot k\right) \cdot \mathsf{fma}\left(y0, b, -i \cdot y1\right) + \left(x \cdot j - z \cdot k\right) \cdot \mathsf{fma}\left(-i, y1, i \cdot y1\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) + \mathsf{fma}\left(y0, y3 \cdot \left(j \cdot y5\right), -\mathsf{fma}\left(y0, y2 \cdot \left(k \cdot y5\right), y1 \cdot \left(y3 \cdot \left(j \cdot y4\right)\right)\right)\right)\\ \mathbf{elif}\;b \le 1.4370545924555493 \cdot 10^{-134}:\\ \;\;\;\;\left(\left(\left(\left(\left(x \cdot y - z \cdot t\right) \cdot \left(a \cdot b - c \cdot i\right) - \mathsf{fma}\left(k, i \cdot \left(z \cdot y1\right), -\mathsf{fma}\left(i, j \cdot \left(y1 \cdot x\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{else}:\\ \;\;\;\;\left(\left(\left(\left(\left(x \cdot y - z \cdot t\right) \cdot \left(a \cdot b - c \cdot i\right) - \left(\left(x \cdot j - z \cdot k\right) \cdot \mathsf{fma}\left(y0, b, -i \cdot y1\right) + \left(x \cdot j - z \cdot k\right) \cdot \mathsf{fma}\left(-i, y1, i \cdot y1\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) - \mathsf{fma}\left(a, y3 \cdot \left(y \cdot y5\right), -\mathsf{fma}\left(y, y3 \cdot \left(y4 \cdot c\right), y5 \cdot \left(a \cdot \left(y2 \cdot t\right)\right)\right)\right)\right) + \left(k \cdot y2 - j \cdot y3\right) \cdot \left(y4 \cdot y1 - y5 \cdot y0\right)\\ \end{array}\]
\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}\;b \le -4.059251109457473 \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(\left(x \cdot j - z \cdot k\right) \cdot \mathsf{fma}\left(y0, b, -i \cdot y1\right) + \left(x \cdot j - z \cdot k\right) \cdot \mathsf{fma}\left(-i, y1, i \cdot y1\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) + \mathsf{fma}\left(y0, y3 \cdot \left(j \cdot y5\right), -\mathsf{fma}\left(y0, y2 \cdot \left(k \cdot y5\right), y1 \cdot \left(y3 \cdot \left(j \cdot y4\right)\right)\right)\right)\\

\mathbf{elif}\;b \le 1.4370545924555493 \cdot 10^{-134}:\\
\;\;\;\;\left(\left(\left(\left(\left(x \cdot y - z \cdot t\right) \cdot \left(a \cdot b - c \cdot i\right) - \mathsf{fma}\left(k, i \cdot \left(z \cdot y1\right), -\mathsf{fma}\left(i, j \cdot \left(y1 \cdot x\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{else}:\\
\;\;\;\;\left(\left(\left(\left(\left(x \cdot y - z \cdot t\right) \cdot \left(a \cdot b - c \cdot i\right) - \left(\left(x \cdot j - z \cdot k\right) \cdot \mathsf{fma}\left(y0, b, -i \cdot y1\right) + \left(x \cdot j - z \cdot k\right) \cdot \mathsf{fma}\left(-i, y1, i \cdot y1\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) - \mathsf{fma}\left(a, y3 \cdot \left(y \cdot y5\right), -\mathsf{fma}\left(y, y3 \cdot \left(y4 \cdot c\right), y5 \cdot \left(a \cdot \left(y2 \cdot t\right)\right)\right)\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 r572444 = x;
        double r572445 = y;
        double r572446 = r572444 * r572445;
        double r572447 = z;
        double r572448 = t;
        double r572449 = r572447 * r572448;
        double r572450 = r572446 - r572449;
        double r572451 = a;
        double r572452 = b;
        double r572453 = r572451 * r572452;
        double r572454 = c;
        double r572455 = i;
        double r572456 = r572454 * r572455;
        double r572457 = r572453 - r572456;
        double r572458 = r572450 * r572457;
        double r572459 = j;
        double r572460 = r572444 * r572459;
        double r572461 = k;
        double r572462 = r572447 * r572461;
        double r572463 = r572460 - r572462;
        double r572464 = y0;
        double r572465 = r572464 * r572452;
        double r572466 = y1;
        double r572467 = r572466 * r572455;
        double r572468 = r572465 - r572467;
        double r572469 = r572463 * r572468;
        double r572470 = r572458 - r572469;
        double r572471 = y2;
        double r572472 = r572444 * r572471;
        double r572473 = y3;
        double r572474 = r572447 * r572473;
        double r572475 = r572472 - r572474;
        double r572476 = r572464 * r572454;
        double r572477 = r572466 * r572451;
        double r572478 = r572476 - r572477;
        double r572479 = r572475 * r572478;
        double r572480 = r572470 + r572479;
        double r572481 = r572448 * r572459;
        double r572482 = r572445 * r572461;
        double r572483 = r572481 - r572482;
        double r572484 = y4;
        double r572485 = r572484 * r572452;
        double r572486 = y5;
        double r572487 = r572486 * r572455;
        double r572488 = r572485 - r572487;
        double r572489 = r572483 * r572488;
        double r572490 = r572480 + r572489;
        double r572491 = r572448 * r572471;
        double r572492 = r572445 * r572473;
        double r572493 = r572491 - r572492;
        double r572494 = r572484 * r572454;
        double r572495 = r572486 * r572451;
        double r572496 = r572494 - r572495;
        double r572497 = r572493 * r572496;
        double r572498 = r572490 - r572497;
        double r572499 = r572461 * r572471;
        double r572500 = r572459 * r572473;
        double r572501 = r572499 - r572500;
        double r572502 = r572484 * r572466;
        double r572503 = r572486 * r572464;
        double r572504 = r572502 - r572503;
        double r572505 = r572501 * r572504;
        double r572506 = r572498 + r572505;
        return r572506;
}

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 r572507 = b;
        double r572508 = -4.059251109457473e-144;
        bool r572509 = r572507 <= r572508;
        double r572510 = x;
        double r572511 = y;
        double r572512 = r572510 * r572511;
        double r572513 = z;
        double r572514 = t;
        double r572515 = r572513 * r572514;
        double r572516 = r572512 - r572515;
        double r572517 = a;
        double r572518 = r572517 * r572507;
        double r572519 = c;
        double r572520 = i;
        double r572521 = r572519 * r572520;
        double r572522 = r572518 - r572521;
        double r572523 = r572516 * r572522;
        double r572524 = j;
        double r572525 = r572510 * r572524;
        double r572526 = k;
        double r572527 = r572513 * r572526;
        double r572528 = r572525 - r572527;
        double r572529 = y0;
        double r572530 = y1;
        double r572531 = r572520 * r572530;
        double r572532 = -r572531;
        double r572533 = fma(r572529, r572507, r572532);
        double r572534 = r572528 * r572533;
        double r572535 = -r572520;
        double r572536 = fma(r572535, r572530, r572531);
        double r572537 = r572528 * r572536;
        double r572538 = r572534 + r572537;
        double r572539 = r572523 - r572538;
        double r572540 = y2;
        double r572541 = r572510 * r572540;
        double r572542 = y3;
        double r572543 = r572513 * r572542;
        double r572544 = r572541 - r572543;
        double r572545 = r572529 * r572519;
        double r572546 = r572530 * r572517;
        double r572547 = r572545 - r572546;
        double r572548 = r572544 * r572547;
        double r572549 = r572539 + r572548;
        double r572550 = r572514 * r572524;
        double r572551 = r572511 * r572526;
        double r572552 = r572550 - r572551;
        double r572553 = y4;
        double r572554 = r572553 * r572507;
        double r572555 = y5;
        double r572556 = r572555 * r572520;
        double r572557 = r572554 - r572556;
        double r572558 = r572552 * r572557;
        double r572559 = r572549 + r572558;
        double r572560 = r572514 * r572540;
        double r572561 = r572511 * r572542;
        double r572562 = r572560 - r572561;
        double r572563 = r572553 * r572519;
        double r572564 = r572555 * r572517;
        double r572565 = r572563 - r572564;
        double r572566 = r572562 * r572565;
        double r572567 = r572559 - r572566;
        double r572568 = r572524 * r572555;
        double r572569 = r572542 * r572568;
        double r572570 = r572526 * r572555;
        double r572571 = r572540 * r572570;
        double r572572 = r572524 * r572553;
        double r572573 = r572542 * r572572;
        double r572574 = r572530 * r572573;
        double r572575 = fma(r572529, r572571, r572574);
        double r572576 = -r572575;
        double r572577 = fma(r572529, r572569, r572576);
        double r572578 = r572567 + r572577;
        double r572579 = 1.4370545924555493e-134;
        bool r572580 = r572507 <= r572579;
        double r572581 = r572513 * r572530;
        double r572582 = r572520 * r572581;
        double r572583 = r572530 * r572510;
        double r572584 = r572524 * r572583;
        double r572585 = r572526 * r572507;
        double r572586 = r572513 * r572585;
        double r572587 = r572529 * r572586;
        double r572588 = fma(r572520, r572584, r572587);
        double r572589 = -r572588;
        double r572590 = fma(r572526, r572582, r572589);
        double r572591 = r572523 - r572590;
        double r572592 = r572591 + r572548;
        double r572593 = r572592 + r572558;
        double r572594 = r572593 - r572566;
        double r572595 = r572526 * r572540;
        double r572596 = r572524 * r572542;
        double r572597 = r572595 - r572596;
        double r572598 = r572553 * r572530;
        double r572599 = r572555 * r572529;
        double r572600 = r572598 - r572599;
        double r572601 = r572597 * r572600;
        double r572602 = r572594 + r572601;
        double r572603 = r572511 * r572555;
        double r572604 = r572542 * r572603;
        double r572605 = r572542 * r572563;
        double r572606 = r572540 * r572514;
        double r572607 = r572517 * r572606;
        double r572608 = r572555 * r572607;
        double r572609 = fma(r572511, r572605, r572608);
        double r572610 = -r572609;
        double r572611 = fma(r572517, r572604, r572610);
        double r572612 = r572559 - r572611;
        double r572613 = r572612 + r572601;
        double r572614 = r572580 ? r572602 : r572613;
        double r572615 = r572509 ? r572578 : r572614;
        return r572615;
}

Error

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

Target

Original27.0
Target30.4
Herbie28.8
\[\begin{array}{l} \mathbf{if}\;y4 \lt -7.2062562319964813 \cdot 10^{60}:\\ \;\;\;\;\left(\left(b \cdot a - i \cdot c\right) \cdot \left(y \cdot x - t \cdot z\right) - \left(\left(j \cdot x - k \cdot z\right) \cdot \left(y0 \cdot b - i \cdot y1\right) - \left(j \cdot t - k \cdot y\right) \cdot \left(y4 \cdot b - y5 \cdot i\right)\right)\right) - \left(\frac{y2 \cdot t - y3 \cdot y}{\frac{1}{y4 \cdot c - y5 \cdot a}} - \left(y2 \cdot k - y3 \cdot j\right) \cdot \left(y4 \cdot y1 - y5 \cdot y0\right)\right)\\ \mathbf{elif}\;y4 \lt -3.3646035052463169 \cdot 10^{-66}:\\ \;\;\;\;\left(\left(\left(\left(t \cdot c\right) \cdot \left(i \cdot z\right) - \left(a \cdot t\right) \cdot \left(b \cdot z\right)\right) - \left(y \cdot c\right) \cdot \left(i \cdot x\right)\right) - \left(b \cdot y0 - i \cdot y1\right) \cdot \left(j \cdot x - k \cdot z\right)\right) + \left(\left(y0 \cdot c - a \cdot y1\right) \cdot \left(x \cdot y2 - z \cdot y3\right) - \left(\left(t \cdot y2 - y \cdot y3\right) \cdot \left(y4 \cdot c - a \cdot y5\right) - \left(y1 \cdot y4 - y5 \cdot y0\right) \cdot \left(k \cdot y2 - j \cdot y3\right)\right)\right)\\ \mathbf{elif}\;y4 \lt -1.2000065055686116 \cdot 10^{-105}:\\ \;\;\;\;\left(\left(\left(j \cdot t - k \cdot y\right) \cdot \left(y4 \cdot b - y5 \cdot i\right) - \left(y3 \cdot y\right) \cdot \left(y5 \cdot a - y4 \cdot c\right)\right) + \left(\left(y5 \cdot a\right) \cdot \left(t \cdot y2\right) + \left(k \cdot y2 - j \cdot y3\right) \cdot \left(y4 \cdot y1 - y5 \cdot y0\right)\right)\right) + \left(\left(x \cdot y2 - z \cdot y3\right) \cdot \left(c \cdot y0 - a \cdot y1\right) - \left(\left(b \cdot y0 - i \cdot y1\right) \cdot \left(j \cdot x - k \cdot z\right) - \left(y \cdot x - z \cdot t\right) \cdot \left(b \cdot a - i \cdot c\right)\right)\right)\\ \mathbf{elif}\;y4 \lt 6.7189631240574946 \cdot 10^{-279}:\\ \;\;\;\;\left(\left(\left(\left(k \cdot y\right) \cdot \left(y5 \cdot i\right) - \left(y \cdot b\right) \cdot \left(y4 \cdot k\right)\right) - \left(y5 \cdot t\right) \cdot \left(i \cdot j\right)\right) - \left(\left(y2 \cdot t - y3 \cdot y\right) \cdot \left(y4 \cdot c - y5 \cdot a\right) - \left(y2 \cdot k - y3 \cdot j\right) \cdot \left(y4 \cdot y1 - y5 \cdot y0\right)\right)\right) + \left(\left(b \cdot a - i \cdot c\right) \cdot \left(y \cdot x - t \cdot z\right) - \left(\left(j \cdot x - k \cdot z\right) \cdot \left(y0 \cdot b - i \cdot y1\right) - \left(y2 \cdot x - y3 \cdot z\right) \cdot \left(c \cdot y0 - y1 \cdot a\right)\right)\right)\\ \mathbf{elif}\;y4 \lt 4.77962681403791987 \cdot 10^{-222}:\\ \;\;\;\;\left(\left(\left(j \cdot t - k \cdot y\right) \cdot \left(y4 \cdot b - y5 \cdot i\right) - \left(y3 \cdot y\right) \cdot \left(y5 \cdot a - y4 \cdot c\right)\right) + \left(\left(y5 \cdot a\right) \cdot \left(t \cdot y2\right) + \left(k \cdot y2 - j \cdot y3\right) \cdot \left(y4 \cdot y1 - y5 \cdot y0\right)\right)\right) + \left(\left(x \cdot y2 - z \cdot y3\right) \cdot \left(c \cdot y0 - a \cdot y1\right) - \left(\left(b \cdot y0 - i \cdot y1\right) \cdot \left(j \cdot x - k \cdot z\right) - \left(y \cdot x - z \cdot t\right) \cdot \left(b \cdot a - i \cdot c\right)\right)\right)\\ \mathbf{elif}\;y4 \lt 2.2852241541266835 \cdot 10^{-175}:\\ \;\;\;\;\left(\left(\left(\left(k \cdot y\right) \cdot \left(y5 \cdot i\right) - \left(y \cdot b\right) \cdot \left(y4 \cdot k\right)\right) - \left(y5 \cdot t\right) \cdot \left(i \cdot j\right)\right) - \left(\left(y2 \cdot t - y3 \cdot y\right) \cdot \left(y4 \cdot c - y5 \cdot a\right) - \left(y2 \cdot k - y3 \cdot j\right) \cdot \left(y4 \cdot y1 - y5 \cdot y0\right)\right)\right) + \left(\left(b \cdot a - i \cdot c\right) \cdot \left(y \cdot x - t \cdot z\right) - \left(\left(j \cdot x - k \cdot z\right) \cdot \left(y0 \cdot b - i \cdot y1\right) - \left(y2 \cdot x - y3 \cdot z\right) \cdot \left(c \cdot y0 - y1 \cdot a\right)\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(k \cdot \left(i \cdot \left(z \cdot y1\right)\right) - \left(j \cdot \left(i \cdot \left(x \cdot y1\right)\right) + y0 \cdot \left(k \cdot \left(z \cdot b\right)\right)\right)\right)\right) + \left(z \cdot \left(y3 \cdot \left(a \cdot y1\right)\right) - \left(y2 \cdot \left(x \cdot \left(a \cdot y1\right)\right) + y0 \cdot \left(z \cdot \left(c \cdot y3\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)\\ \end{array}\]

Derivation

  1. Split input into 3 regimes
  2. if b < -4.059251109457473e-144

    1. Initial program 26.2

      \[\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)\]
    2. Using strategy rm
    3. Applied prod-diff26.2

      \[\leadsto \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 \color{blue}{\left(\mathsf{fma}\left(y0, b, -i \cdot y1\right) + \mathsf{fma}\left(-i, y1, i \cdot y1\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)\]
    4. Applied distribute-lft-in26.2

      \[\leadsto \left(\left(\left(\left(\left(x \cdot y - z \cdot t\right) \cdot \left(a \cdot b - c \cdot i\right) - \color{blue}{\left(\left(x \cdot j - z \cdot k\right) \cdot \mathsf{fma}\left(y0, b, -i \cdot y1\right) + \left(x \cdot j - z \cdot k\right) \cdot \mathsf{fma}\left(-i, y1, i \cdot y1\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)\]
    5. Taylor expanded around inf 29.4

      \[\leadsto \left(\left(\left(\left(\left(x \cdot y - z \cdot t\right) \cdot \left(a \cdot b - c \cdot i\right) - \left(\left(x \cdot j - z \cdot k\right) \cdot \mathsf{fma}\left(y0, b, -i \cdot y1\right) + \left(x \cdot j - z \cdot k\right) \cdot \mathsf{fma}\left(-i, y1, i \cdot y1\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) + \color{blue}{\left(y0 \cdot \left(y3 \cdot \left(j \cdot y5\right)\right) - \left(y0 \cdot \left(y2 \cdot \left(k \cdot y5\right)\right) + y1 \cdot \left(y3 \cdot \left(j \cdot y4\right)\right)\right)\right)}\]
    6. Simplified29.4

      \[\leadsto \left(\left(\left(\left(\left(x \cdot y - z \cdot t\right) \cdot \left(a \cdot b - c \cdot i\right) - \left(\left(x \cdot j - z \cdot k\right) \cdot \mathsf{fma}\left(y0, b, -i \cdot y1\right) + \left(x \cdot j - z \cdot k\right) \cdot \mathsf{fma}\left(-i, y1, i \cdot y1\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) + \color{blue}{\mathsf{fma}\left(y0, y3 \cdot \left(j \cdot y5\right), -\mathsf{fma}\left(y0, y2 \cdot \left(k \cdot y5\right), y1 \cdot \left(y3 \cdot \left(j \cdot y4\right)\right)\right)\right)}\]

    if -4.059251109457473e-144 < b < 1.4370545924555493e-134

    1. Initial program 27.4

      \[\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)\]
    2. Taylor expanded around inf 27.9

      \[\leadsto \left(\left(\left(\left(\left(x \cdot y - z \cdot t\right) \cdot \left(a \cdot b - c \cdot i\right) - \color{blue}{\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)\]
    3. Simplified27.9

      \[\leadsto \left(\left(\left(\left(\left(x \cdot y - z \cdot t\right) \cdot \left(a \cdot b - c \cdot i\right) - \color{blue}{\mathsf{fma}\left(k, i \cdot \left(z \cdot y1\right), -\mathsf{fma}\left(i, j \cdot \left(y1 \cdot x\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)\]

    if 1.4370545924555493e-134 < b

    1. Initial program 27.4

      \[\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)\]
    2. Using strategy rm
    3. Applied prod-diff27.4

      \[\leadsto \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 \color{blue}{\left(\mathsf{fma}\left(y0, b, -i \cdot y1\right) + \mathsf{fma}\left(-i, y1, i \cdot y1\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)\]
    4. Applied distribute-lft-in27.4

      \[\leadsto \left(\left(\left(\left(\left(x \cdot y - z \cdot t\right) \cdot \left(a \cdot b - c \cdot i\right) - \color{blue}{\left(\left(x \cdot j - z \cdot k\right) \cdot \mathsf{fma}\left(y0, b, -i \cdot y1\right) + \left(x \cdot j - z \cdot k\right) \cdot \mathsf{fma}\left(-i, y1, i \cdot y1\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)\]
    5. Taylor expanded around inf 29.3

      \[\leadsto \left(\left(\left(\left(\left(x \cdot y - z \cdot t\right) \cdot \left(a \cdot b - c \cdot i\right) - \left(\left(x \cdot j - z \cdot k\right) \cdot \mathsf{fma}\left(y0, b, -i \cdot y1\right) + \left(x \cdot j - z \cdot k\right) \cdot \mathsf{fma}\left(-i, y1, i \cdot y1\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) - \color{blue}{\left(a \cdot \left(y3 \cdot \left(y \cdot y5\right)\right) - \left(y \cdot \left(y3 \cdot \left(y4 \cdot c\right)\right) + y5 \cdot \left(a \cdot \left(y2 \cdot t\right)\right)\right)\right)}\right) + \left(k \cdot y2 - j \cdot y3\right) \cdot \left(y4 \cdot y1 - y5 \cdot y0\right)\]
    6. Simplified29.3

      \[\leadsto \left(\left(\left(\left(\left(x \cdot y - z \cdot t\right) \cdot \left(a \cdot b - c \cdot i\right) - \left(\left(x \cdot j - z \cdot k\right) \cdot \mathsf{fma}\left(y0, b, -i \cdot y1\right) + \left(x \cdot j - z \cdot k\right) \cdot \mathsf{fma}\left(-i, y1, i \cdot y1\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) - \color{blue}{\mathsf{fma}\left(a, y3 \cdot \left(y \cdot y5\right), -\mathsf{fma}\left(y, y3 \cdot \left(y4 \cdot c\right), y5 \cdot \left(a \cdot \left(y2 \cdot t\right)\right)\right)\right)}\right) + \left(k \cdot y2 - j \cdot y3\right) \cdot \left(y4 \cdot y1 - y5 \cdot y0\right)\]
  3. Recombined 3 regimes into one program.
  4. Final simplification28.8

    \[\leadsto \begin{array}{l} \mathbf{if}\;b \le -4.059251109457473 \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(\left(x \cdot j - z \cdot k\right) \cdot \mathsf{fma}\left(y0, b, -i \cdot y1\right) + \left(x \cdot j - z \cdot k\right) \cdot \mathsf{fma}\left(-i, y1, i \cdot y1\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) + \mathsf{fma}\left(y0, y3 \cdot \left(j \cdot y5\right), -\mathsf{fma}\left(y0, y2 \cdot \left(k \cdot y5\right), y1 \cdot \left(y3 \cdot \left(j \cdot y4\right)\right)\right)\right)\\ \mathbf{elif}\;b \le 1.4370545924555493 \cdot 10^{-134}:\\ \;\;\;\;\left(\left(\left(\left(\left(x \cdot y - z \cdot t\right) \cdot \left(a \cdot b - c \cdot i\right) - \mathsf{fma}\left(k, i \cdot \left(z \cdot y1\right), -\mathsf{fma}\left(i, j \cdot \left(y1 \cdot x\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{else}:\\ \;\;\;\;\left(\left(\left(\left(\left(x \cdot y - z \cdot t\right) \cdot \left(a \cdot b - c \cdot i\right) - \left(\left(x \cdot j - z \cdot k\right) \cdot \mathsf{fma}\left(y0, b, -i \cdot y1\right) + \left(x \cdot j - z \cdot k\right) \cdot \mathsf{fma}\left(-i, y1, i \cdot y1\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) - \mathsf{fma}\left(a, y3 \cdot \left(y \cdot y5\right), -\mathsf{fma}\left(y, y3 \cdot \left(y4 \cdot c\right), y5 \cdot \left(a \cdot \left(y2 \cdot t\right)\right)\right)\right)\right) + \left(k \cdot y2 - j \cdot y3\right) \cdot \left(y4 \cdot y1 - y5 \cdot y0\right)\\ \end{array}\]

Reproduce

herbie shell --seed 2020020 +o rules:numerics
(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

  :herbie-target
  (if (< y4 -7.206256231996481e+60) (- (- (* (- (* b a) (* i c)) (- (* y x) (* t z))) (- (* (- (* j x) (* k z)) (- (* y0 b) (* i y1))) (* (- (* j t) (* k y)) (- (* y4 b) (* y5 i))))) (- (/ (- (* y2 t) (* y3 y)) (/ 1 (- (* y4 c) (* y5 a)))) (* (- (* y2 k) (* y3 j)) (- (* y4 y1) (* y5 y0))))) (if (< y4 -3.364603505246317e-66) (+ (- (- (- (* (* t c) (* i z)) (* (* a t) (* b z))) (* (* y c) (* i x))) (* (- (* b y0) (* i y1)) (- (* j x) (* k z)))) (- (* (- (* y0 c) (* a y1)) (- (* x y2) (* z y3))) (- (* (- (* t y2) (* y y3)) (- (* y4 c) (* a y5))) (* (- (* y1 y4) (* y5 y0)) (- (* k y2) (* j y3)))))) (if (< y4 -1.2000065055686116e-105) (+ (+ (- (* (- (* j t) (* k y)) (- (* y4 b) (* y5 i))) (* (* y3 y) (- (* y5 a) (* y4 c)))) (+ (* (* y5 a) (* t y2)) (* (- (* k y2) (* j y3)) (- (* y4 y1) (* y5 y0))))) (- (* (- (* x y2) (* z y3)) (- (* c y0) (* a y1))) (- (* (- (* b y0) (* i y1)) (- (* j x) (* k z))) (* (- (* y x) (* z t)) (- (* b a) (* i c)))))) (if (< y4 6.718963124057495e-279) (+ (- (- (- (* (* k y) (* y5 i)) (* (* y b) (* y4 k))) (* (* y5 t) (* i j))) (- (* (- (* y2 t) (* y3 y)) (- (* y4 c) (* y5 a))) (* (- (* y2 k) (* y3 j)) (- (* y4 y1) (* y5 y0))))) (- (* (- (* b a) (* i c)) (- (* y x) (* t z))) (- (* (- (* j x) (* k z)) (- (* y0 b) (* i y1))) (* (- (* y2 x) (* y3 z)) (- (* c y0) (* y1 a)))))) (if (< y4 4.77962681403792e-222) (+ (+ (- (* (- (* j t) (* k y)) (- (* y4 b) (* y5 i))) (* (* y3 y) (- (* y5 a) (* y4 c)))) (+ (* (* y5 a) (* t y2)) (* (- (* k y2) (* j y3)) (- (* y4 y1) (* y5 y0))))) (- (* (- (* x y2) (* z y3)) (- (* c y0) (* a y1))) (- (* (- (* b y0) (* i y1)) (- (* j x) (* k z))) (* (- (* y x) (* z t)) (- (* b a) (* i c)))))) (if (< y4 2.2852241541266835e-175) (+ (- (- (- (* (* k y) (* y5 i)) (* (* y b) (* y4 k))) (* (* y5 t) (* i j))) (- (* (- (* y2 t) (* y3 y)) (- (* y4 c) (* y5 a))) (* (- (* y2 k) (* y3 j)) (- (* y4 y1) (* y5 y0))))) (- (* (- (* b a) (* i c)) (- (* y x) (* t z))) (- (* (- (* j x) (* k z)) (- (* y0 b) (* i y1))) (* (- (* y2 x) (* y3 z)) (- (* c y0) (* y1 a)))))) (+ (- (+ (+ (- (* (- (* x y) (* z t)) (- (* a b) (* c i))) (- (* k (* i (* z y1))) (+ (* j (* i (* x y1))) (* y0 (* k (* z b)))))) (- (* z (* y3 (* a y1))) (+ (* y2 (* x (* a y1))) (* y0 (* z (* c y3)))))) (* (- (* t j) (* y k)) (- (* y4 b) (* y5 i)))) (* (- (* t y2) (* y y3)) (- (* y4 c) (* y5 a)))) (* (- (* k y2) (* j y3)) (- (* y4 y1) (* y5 y0))))))))))

  (+ (- (+ (+ (- (* (- (* 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)))))