Average Error: 11.9 → 10.1
Time: 19.8s
Precision: 64
\[\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 -3.7660897539695966 \cdot 10^{+46}:\\ \;\;\;\;\left(c \cdot t - y \cdot i\right) \cdot j + \left(\left(\left(x \cdot z\right) \cdot y - \left(t \cdot x\right) \cdot a\right) - \left(\left(a \cdot i\right) \cdot \left(-b\right) + c \cdot \left(z \cdot b\right)\right)\right)\\ \mathbf{elif}\;y \le -3.0526732160857206 \cdot 10^{-237}:\\ \;\;\;\;\left(c \cdot t - y \cdot i\right) \cdot j + \left(x \cdot \left(z \cdot y - a \cdot t\right) - \left(\left(\sqrt[3]{z \cdot c - a \cdot i} \cdot \sqrt[3]{z \cdot c - a \cdot i}\right) \cdot b\right) \cdot \sqrt[3]{z \cdot c - a \cdot i}\right)\\ \mathbf{elif}\;y \le 1.2995606612721459 \cdot 10^{-272}:\\ \;\;\;\;\left(\left(x \cdot \left(z \cdot y\right) - \left(t \cdot x\right) \cdot a\right) - \left(z \cdot \left(b \cdot c\right) + \left(a \cdot i\right) \cdot \left(-b\right)\right)\right) + \left(c \cdot t - y \cdot i\right) \cdot j\\ \mathbf{elif}\;y \le 5.00542406503329 \cdot 10^{-24}:\\ \;\;\;\;\left(c \cdot t - y \cdot i\right) \cdot j + \left(\left(x \cdot \left(z \cdot y\right) - \left(t \cdot x\right) \cdot a\right) - \left(i \cdot \left(a \cdot \left(-b\right)\right) + c \cdot \left(z \cdot b\right)\right)\right)\\ \mathbf{else}:\\ \;\;\;\;\left(c \cdot t - y \cdot i\right) \cdot j + \left(\left(\left(x \cdot z\right) \cdot y - \left(t \cdot x\right) \cdot a\right) - \left(\left(a \cdot i\right) \cdot \left(-b\right) + c \cdot \left(z \cdot b\right)\right)\right)\\ \end{array}\]
\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 -3.7660897539695966 \cdot 10^{+46}:\\
\;\;\;\;\left(c \cdot t - y \cdot i\right) \cdot j + \left(\left(\left(x \cdot z\right) \cdot y - \left(t \cdot x\right) \cdot a\right) - \left(\left(a \cdot i\right) \cdot \left(-b\right) + c \cdot \left(z \cdot b\right)\right)\right)\\

\mathbf{elif}\;y \le -3.0526732160857206 \cdot 10^{-237}:\\
\;\;\;\;\left(c \cdot t - y \cdot i\right) \cdot j + \left(x \cdot \left(z \cdot y - a \cdot t\right) - \left(\left(\sqrt[3]{z \cdot c - a \cdot i} \cdot \sqrt[3]{z \cdot c - a \cdot i}\right) \cdot b\right) \cdot \sqrt[3]{z \cdot c - a \cdot i}\right)\\

\mathbf{elif}\;y \le 1.2995606612721459 \cdot 10^{-272}:\\
\;\;\;\;\left(\left(x \cdot \left(z \cdot y\right) - \left(t \cdot x\right) \cdot a\right) - \left(z \cdot \left(b \cdot c\right) + \left(a \cdot i\right) \cdot \left(-b\right)\right)\right) + \left(c \cdot t - y \cdot i\right) \cdot j\\

\mathbf{elif}\;y \le 5.00542406503329 \cdot 10^{-24}:\\
\;\;\;\;\left(c \cdot t - y \cdot i\right) \cdot j + \left(\left(x \cdot \left(z \cdot y\right) - \left(t \cdot x\right) \cdot a\right) - \left(i \cdot \left(a \cdot \left(-b\right)\right) + c \cdot \left(z \cdot b\right)\right)\right)\\

\mathbf{else}:\\
\;\;\;\;\left(c \cdot t - y \cdot i\right) \cdot j + \left(\left(\left(x \cdot z\right) \cdot y - \left(t \cdot x\right) \cdot a\right) - \left(\left(a \cdot i\right) \cdot \left(-b\right) + c \cdot \left(z \cdot b\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 r11138575 = x;
        double r11138576 = y;
        double r11138577 = z;
        double r11138578 = r11138576 * r11138577;
        double r11138579 = t;
        double r11138580 = a;
        double r11138581 = r11138579 * r11138580;
        double r11138582 = r11138578 - r11138581;
        double r11138583 = r11138575 * r11138582;
        double r11138584 = b;
        double r11138585 = c;
        double r11138586 = r11138585 * r11138577;
        double r11138587 = i;
        double r11138588 = r11138587 * r11138580;
        double r11138589 = r11138586 - r11138588;
        double r11138590 = r11138584 * r11138589;
        double r11138591 = r11138583 - r11138590;
        double r11138592 = j;
        double r11138593 = r11138585 * r11138579;
        double r11138594 = r11138587 * r11138576;
        double r11138595 = r11138593 - r11138594;
        double r11138596 = r11138592 * r11138595;
        double r11138597 = r11138591 + r11138596;
        return r11138597;
}

double f(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
        double r11138598 = y;
        double r11138599 = -3.7660897539695966e+46;
        bool r11138600 = r11138598 <= r11138599;
        double r11138601 = c;
        double r11138602 = t;
        double r11138603 = r11138601 * r11138602;
        double r11138604 = i;
        double r11138605 = r11138598 * r11138604;
        double r11138606 = r11138603 - r11138605;
        double r11138607 = j;
        double r11138608 = r11138606 * r11138607;
        double r11138609 = x;
        double r11138610 = z;
        double r11138611 = r11138609 * r11138610;
        double r11138612 = r11138611 * r11138598;
        double r11138613 = r11138602 * r11138609;
        double r11138614 = a;
        double r11138615 = r11138613 * r11138614;
        double r11138616 = r11138612 - r11138615;
        double r11138617 = r11138614 * r11138604;
        double r11138618 = b;
        double r11138619 = -r11138618;
        double r11138620 = r11138617 * r11138619;
        double r11138621 = r11138610 * r11138618;
        double r11138622 = r11138601 * r11138621;
        double r11138623 = r11138620 + r11138622;
        double r11138624 = r11138616 - r11138623;
        double r11138625 = r11138608 + r11138624;
        double r11138626 = -3.0526732160857206e-237;
        bool r11138627 = r11138598 <= r11138626;
        double r11138628 = r11138610 * r11138598;
        double r11138629 = r11138614 * r11138602;
        double r11138630 = r11138628 - r11138629;
        double r11138631 = r11138609 * r11138630;
        double r11138632 = r11138610 * r11138601;
        double r11138633 = r11138632 - r11138617;
        double r11138634 = cbrt(r11138633);
        double r11138635 = r11138634 * r11138634;
        double r11138636 = r11138635 * r11138618;
        double r11138637 = r11138636 * r11138634;
        double r11138638 = r11138631 - r11138637;
        double r11138639 = r11138608 + r11138638;
        double r11138640 = 1.2995606612721459e-272;
        bool r11138641 = r11138598 <= r11138640;
        double r11138642 = r11138609 * r11138628;
        double r11138643 = r11138642 - r11138615;
        double r11138644 = r11138618 * r11138601;
        double r11138645 = r11138610 * r11138644;
        double r11138646 = r11138645 + r11138620;
        double r11138647 = r11138643 - r11138646;
        double r11138648 = r11138647 + r11138608;
        double r11138649 = 5.00542406503329e-24;
        bool r11138650 = r11138598 <= r11138649;
        double r11138651 = r11138614 * r11138619;
        double r11138652 = r11138604 * r11138651;
        double r11138653 = r11138652 + r11138622;
        double r11138654 = r11138643 - r11138653;
        double r11138655 = r11138608 + r11138654;
        double r11138656 = r11138650 ? r11138655 : r11138625;
        double r11138657 = r11138641 ? r11138648 : r11138656;
        double r11138658 = r11138627 ? r11138639 : r11138657;
        double r11138659 = r11138600 ? r11138625 : r11138658;
        return r11138659;
}

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

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Target

Original11.9
Target15.6
Herbie10.1
\[\begin{array}{l} \mathbf{if}\;t \lt -8.120978919195912 \cdot 10^{-33}:\\ \;\;\;\;x \cdot \left(z \cdot y - a \cdot t\right) - \left(b \cdot \left(z \cdot c - a \cdot i\right) - \left(c \cdot t - y \cdot i\right) \cdot j\right)\\ \mathbf{elif}\;t \lt -4.712553818218485 \cdot 10^{-169}:\\ \;\;\;\;\left(x \cdot \left(y \cdot z - t \cdot a\right) - b \cdot \left(c \cdot z - i \cdot a\right)\right) + \frac{j \cdot \left({\left(c \cdot t\right)}^{2} - {\left(i \cdot y\right)}^{2}\right)}{c \cdot t + i \cdot y}\\ \mathbf{elif}\;t \lt -7.633533346031584 \cdot 10^{-308}:\\ \;\;\;\;x \cdot \left(z \cdot y - a \cdot t\right) - \left(b \cdot \left(z \cdot c - a \cdot i\right) - \left(c \cdot t - y \cdot i\right) \cdot j\right)\\ \mathbf{elif}\;t \lt 1.0535888557455487 \cdot 10^{-139}:\\ \;\;\;\;\left(x \cdot \left(y \cdot z - t \cdot a\right) - b \cdot \left(c \cdot z - i \cdot a\right)\right) + \frac{j \cdot \left({\left(c \cdot t\right)}^{2} - {\left(i \cdot y\right)}^{2}\right)}{c \cdot t + i \cdot y}\\ \mathbf{else}:\\ \;\;\;\;x \cdot \left(z \cdot y - a \cdot t\right) - \left(b \cdot \left(z \cdot c - a \cdot i\right) - \left(c \cdot t - y \cdot i\right) \cdot j\right)\\ \end{array}\]

Derivation

  1. Split input into 4 regimes
  2. if y < -3.7660897539695966e+46 or 5.00542406503329e-24 < y

    1. Initial program 16.6

      \[\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)\]
    2. Using strategy rm
    3. Applied sub-neg16.6

      \[\leadsto \left(x \cdot \left(y \cdot z - t \cdot a\right) - b \cdot \color{blue}{\left(c \cdot z + \left(-i \cdot a\right)\right)}\right) + j \cdot \left(c \cdot t - i \cdot y\right)\]
    4. Applied distribute-rgt-in16.6

      \[\leadsto \left(x \cdot \left(y \cdot z - t \cdot a\right) - \color{blue}{\left(\left(c \cdot z\right) \cdot b + \left(-i \cdot a\right) \cdot b\right)}\right) + j \cdot \left(c \cdot t - i \cdot y\right)\]
    5. Using strategy rm
    6. Applied associate-*l*16.5

      \[\leadsto \left(x \cdot \left(y \cdot z - t \cdot a\right) - \left(\color{blue}{c \cdot \left(z \cdot b\right)} + \left(-i \cdot a\right) \cdot b\right)\right) + j \cdot \left(c \cdot t - i \cdot y\right)\]
    7. Taylor expanded around inf 15.8

      \[\leadsto \left(\color{blue}{\left(x \cdot \left(z \cdot y\right) - a \cdot \left(x \cdot t\right)\right)} - \left(c \cdot \left(z \cdot b\right) + \left(-i \cdot a\right) \cdot b\right)\right) + j \cdot \left(c \cdot t - i \cdot y\right)\]
    8. Using strategy rm
    9. Applied associate-*r*12.0

      \[\leadsto \left(\left(\color{blue}{\left(x \cdot z\right) \cdot y} - a \cdot \left(x \cdot t\right)\right) - \left(c \cdot \left(z \cdot b\right) + \left(-i \cdot a\right) \cdot b\right)\right) + j \cdot \left(c \cdot t - i \cdot y\right)\]

    if -3.7660897539695966e+46 < y < -3.0526732160857206e-237

    1. Initial program 8.6

      \[\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)\]
    2. Using strategy rm
    3. Applied add-cube-cbrt9.0

      \[\leadsto \left(x \cdot \left(y \cdot z - t \cdot a\right) - b \cdot \color{blue}{\left(\left(\sqrt[3]{c \cdot z - i \cdot a} \cdot \sqrt[3]{c \cdot z - i \cdot a}\right) \cdot \sqrt[3]{c \cdot z - i \cdot a}\right)}\right) + j \cdot \left(c \cdot t - i \cdot y\right)\]
    4. Applied associate-*r*9.0

      \[\leadsto \left(x \cdot \left(y \cdot z - t \cdot a\right) - \color{blue}{\left(b \cdot \left(\sqrt[3]{c \cdot z - i \cdot a} \cdot \sqrt[3]{c \cdot z - i \cdot a}\right)\right) \cdot \sqrt[3]{c \cdot z - i \cdot a}}\right) + j \cdot \left(c \cdot t - i \cdot y\right)\]

    if -3.0526732160857206e-237 < y < 1.2995606612721459e-272

    1. Initial program 9.8

      \[\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)\]
    2. Using strategy rm
    3. Applied sub-neg9.8

      \[\leadsto \left(x \cdot \left(y \cdot z - t \cdot a\right) - b \cdot \color{blue}{\left(c \cdot z + \left(-i \cdot a\right)\right)}\right) + j \cdot \left(c \cdot t - i \cdot y\right)\]
    4. Applied distribute-rgt-in9.8

      \[\leadsto \left(x \cdot \left(y \cdot z - t \cdot a\right) - \color{blue}{\left(\left(c \cdot z\right) \cdot b + \left(-i \cdot a\right) \cdot b\right)}\right) + j \cdot \left(c \cdot t - i \cdot y\right)\]
    5. Using strategy rm
    6. Applied associate-*l*9.7

      \[\leadsto \left(x \cdot \left(y \cdot z - t \cdot a\right) - \left(\color{blue}{c \cdot \left(z \cdot b\right)} + \left(-i \cdot a\right) \cdot b\right)\right) + j \cdot \left(c \cdot t - i \cdot y\right)\]
    7. Taylor expanded around inf 9.4

      \[\leadsto \left(\color{blue}{\left(x \cdot \left(z \cdot y\right) - a \cdot \left(x \cdot t\right)\right)} - \left(c \cdot \left(z \cdot b\right) + \left(-i \cdot a\right) \cdot b\right)\right) + j \cdot \left(c \cdot t - i \cdot y\right)\]
    8. Taylor expanded around inf 8.2

      \[\leadsto \left(\left(x \cdot \left(z \cdot y\right) - a \cdot \left(x \cdot t\right)\right) - \left(\color{blue}{z \cdot \left(b \cdot c\right)} + \left(-i \cdot a\right) \cdot b\right)\right) + j \cdot \left(c \cdot t - i \cdot y\right)\]

    if 1.2995606612721459e-272 < y < 5.00542406503329e-24

    1. Initial program 9.0

      \[\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)\]
    2. Using strategy rm
    3. Applied sub-neg9.0

      \[\leadsto \left(x \cdot \left(y \cdot z - t \cdot a\right) - b \cdot \color{blue}{\left(c \cdot z + \left(-i \cdot a\right)\right)}\right) + j \cdot \left(c \cdot t - i \cdot y\right)\]
    4. Applied distribute-rgt-in9.0

      \[\leadsto \left(x \cdot \left(y \cdot z - t \cdot a\right) - \color{blue}{\left(\left(c \cdot z\right) \cdot b + \left(-i \cdot a\right) \cdot b\right)}\right) + j \cdot \left(c \cdot t - i \cdot y\right)\]
    5. Using strategy rm
    6. Applied associate-*l*9.7

      \[\leadsto \left(x \cdot \left(y \cdot z - t \cdot a\right) - \left(\color{blue}{c \cdot \left(z \cdot b\right)} + \left(-i \cdot a\right) \cdot b\right)\right) + j \cdot \left(c \cdot t - i \cdot y\right)\]
    7. Taylor expanded around inf 10.3

      \[\leadsto \left(\color{blue}{\left(x \cdot \left(z \cdot y\right) - a \cdot \left(x \cdot t\right)\right)} - \left(c \cdot \left(z \cdot b\right) + \left(-i \cdot a\right) \cdot b\right)\right) + j \cdot \left(c \cdot t - i \cdot y\right)\]
    8. Using strategy rm
    9. Applied distribute-lft-neg-in10.3

      \[\leadsto \left(\left(x \cdot \left(z \cdot y\right) - a \cdot \left(x \cdot t\right)\right) - \left(c \cdot \left(z \cdot b\right) + \color{blue}{\left(\left(-i\right) \cdot a\right)} \cdot b\right)\right) + j \cdot \left(c \cdot t - i \cdot y\right)\]
    10. Applied associate-*l*9.2

      \[\leadsto \left(\left(x \cdot \left(z \cdot y\right) - a \cdot \left(x \cdot t\right)\right) - \left(c \cdot \left(z \cdot b\right) + \color{blue}{\left(-i\right) \cdot \left(a \cdot b\right)}\right)\right) + j \cdot \left(c \cdot t - i \cdot y\right)\]
  3. Recombined 4 regimes into one program.
  4. Final simplification10.1

    \[\leadsto \begin{array}{l} \mathbf{if}\;y \le -3.7660897539695966 \cdot 10^{+46}:\\ \;\;\;\;\left(c \cdot t - y \cdot i\right) \cdot j + \left(\left(\left(x \cdot z\right) \cdot y - \left(t \cdot x\right) \cdot a\right) - \left(\left(a \cdot i\right) \cdot \left(-b\right) + c \cdot \left(z \cdot b\right)\right)\right)\\ \mathbf{elif}\;y \le -3.0526732160857206 \cdot 10^{-237}:\\ \;\;\;\;\left(c \cdot t - y \cdot i\right) \cdot j + \left(x \cdot \left(z \cdot y - a \cdot t\right) - \left(\left(\sqrt[3]{z \cdot c - a \cdot i} \cdot \sqrt[3]{z \cdot c - a \cdot i}\right) \cdot b\right) \cdot \sqrt[3]{z \cdot c - a \cdot i}\right)\\ \mathbf{elif}\;y \le 1.2995606612721459 \cdot 10^{-272}:\\ \;\;\;\;\left(\left(x \cdot \left(z \cdot y\right) - \left(t \cdot x\right) \cdot a\right) - \left(z \cdot \left(b \cdot c\right) + \left(a \cdot i\right) \cdot \left(-b\right)\right)\right) + \left(c \cdot t - y \cdot i\right) \cdot j\\ \mathbf{elif}\;y \le 5.00542406503329 \cdot 10^{-24}:\\ \;\;\;\;\left(c \cdot t - y \cdot i\right) \cdot j + \left(\left(x \cdot \left(z \cdot y\right) - \left(t \cdot x\right) \cdot a\right) - \left(i \cdot \left(a \cdot \left(-b\right)\right) + c \cdot \left(z \cdot b\right)\right)\right)\\ \mathbf{else}:\\ \;\;\;\;\left(c \cdot t - y \cdot i\right) \cdot j + \left(\left(\left(x \cdot z\right) \cdot y - \left(t \cdot x\right) \cdot a\right) - \left(\left(a \cdot i\right) \cdot \left(-b\right) + c \cdot \left(z \cdot b\right)\right)\right)\\ \end{array}\]

Reproduce

herbie shell --seed 2019156 
(FPCore (x y z t a b c i j)
  :name "Linear.Matrix:det33 from linear-1.19.1.3"

  :herbie-target
  (if (< t -8.120978919195912e-33) (- (* x (- (* z y) (* a t))) (- (* b (- (* z c) (* a i))) (* (- (* c t) (* y i)) j))) (if (< t -4.712553818218485e-169) (+ (- (* x (- (* y z) (* t a))) (* b (- (* c z) (* i a)))) (/ (* j (- (pow (* c t) 2) (pow (* i y) 2))) (+ (* c t) (* i y)))) (if (< t -7.633533346031584e-308) (- (* x (- (* z y) (* a t))) (- (* b (- (* z c) (* a i))) (* (- (* c t) (* y i)) j))) (if (< t 1.0535888557455487e-139) (+ (- (* x (- (* y z) (* t a))) (* b (- (* c z) (* i a)))) (/ (* j (- (pow (* c t) 2) (pow (* i y) 2))) (+ (* c t) (* i y)))) (- (* x (- (* z y) (* a t))) (- (* b (- (* z c) (* a i))) (* (- (* c t) (* y i)) j)))))))

  (+ (- (* x (- (* y z) (* t a))) (* b (- (* c z) (* i a)))) (* j (- (* c t) (* i y)))))