Average Error: 11.7 → 11.7
Time: 30.4s
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}\;b \le -3.929707136934608 \cdot 10^{-249}:\\ \;\;\;\;\left(c \cdot t - y \cdot i\right) \cdot j + \left(\left(\sqrt[3]{\left(y \cdot z - t \cdot a\right) \cdot x} \cdot \sqrt[3]{\left(y \cdot z - t \cdot a\right) \cdot x}\right) \cdot \sqrt[3]{\left(y \cdot z - t \cdot a\right) \cdot x} - b \cdot \left(c \cdot z - a \cdot i\right)\right)\\ \mathbf{elif}\;b \le 7.525919208168165 \cdot 10^{-236}:\\ \;\;\;\;\left(y \cdot z - t \cdot a\right) \cdot x + \left(c \cdot t - y \cdot i\right) \cdot j\\ \mathbf{else}:\\ \;\;\;\;\left(c \cdot t - y \cdot i\right) \cdot j + \left(\left(y \cdot z - t \cdot a\right) \cdot x - \left(\left(c \cdot z - a \cdot i\right) \cdot \sqrt{b}\right) \cdot \sqrt{b}\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}\;b \le -3.929707136934608 \cdot 10^{-249}:\\
\;\;\;\;\left(c \cdot t - y \cdot i\right) \cdot j + \left(\left(\sqrt[3]{\left(y \cdot z - t \cdot a\right) \cdot x} \cdot \sqrt[3]{\left(y \cdot z - t \cdot a\right) \cdot x}\right) \cdot \sqrt[3]{\left(y \cdot z - t \cdot a\right) \cdot x} - b \cdot \left(c \cdot z - a \cdot i\right)\right)\\

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

\mathbf{else}:\\
\;\;\;\;\left(c \cdot t - y \cdot i\right) \cdot j + \left(\left(y \cdot z - t \cdot a\right) \cdot x - \left(\left(c \cdot z - a \cdot i\right) \cdot \sqrt{b}\right) \cdot \sqrt{b}\right)\\

\end{array}
double f(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
        double r4799099 = x;
        double r4799100 = y;
        double r4799101 = z;
        double r4799102 = r4799100 * r4799101;
        double r4799103 = t;
        double r4799104 = a;
        double r4799105 = r4799103 * r4799104;
        double r4799106 = r4799102 - r4799105;
        double r4799107 = r4799099 * r4799106;
        double r4799108 = b;
        double r4799109 = c;
        double r4799110 = r4799109 * r4799101;
        double r4799111 = i;
        double r4799112 = r4799111 * r4799104;
        double r4799113 = r4799110 - r4799112;
        double r4799114 = r4799108 * r4799113;
        double r4799115 = r4799107 - r4799114;
        double r4799116 = j;
        double r4799117 = r4799109 * r4799103;
        double r4799118 = r4799111 * r4799100;
        double r4799119 = r4799117 - r4799118;
        double r4799120 = r4799116 * r4799119;
        double r4799121 = r4799115 + r4799120;
        return r4799121;
}

double f(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
        double r4799122 = b;
        double r4799123 = -3.929707136934608e-249;
        bool r4799124 = r4799122 <= r4799123;
        double r4799125 = c;
        double r4799126 = t;
        double r4799127 = r4799125 * r4799126;
        double r4799128 = y;
        double r4799129 = i;
        double r4799130 = r4799128 * r4799129;
        double r4799131 = r4799127 - r4799130;
        double r4799132 = j;
        double r4799133 = r4799131 * r4799132;
        double r4799134 = z;
        double r4799135 = r4799128 * r4799134;
        double r4799136 = a;
        double r4799137 = r4799126 * r4799136;
        double r4799138 = r4799135 - r4799137;
        double r4799139 = x;
        double r4799140 = r4799138 * r4799139;
        double r4799141 = cbrt(r4799140);
        double r4799142 = r4799141 * r4799141;
        double r4799143 = r4799142 * r4799141;
        double r4799144 = r4799125 * r4799134;
        double r4799145 = r4799136 * r4799129;
        double r4799146 = r4799144 - r4799145;
        double r4799147 = r4799122 * r4799146;
        double r4799148 = r4799143 - r4799147;
        double r4799149 = r4799133 + r4799148;
        double r4799150 = 7.525919208168165e-236;
        bool r4799151 = r4799122 <= r4799150;
        double r4799152 = r4799140 + r4799133;
        double r4799153 = sqrt(r4799122);
        double r4799154 = r4799146 * r4799153;
        double r4799155 = r4799154 * r4799153;
        double r4799156 = r4799140 - r4799155;
        double r4799157 = r4799133 + r4799156;
        double r4799158 = r4799151 ? r4799152 : r4799157;
        double r4799159 = r4799124 ? r4799149 : r4799158;
        return r4799159;
}

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

Derivation

  1. Split input into 3 regimes
  2. if b < -3.929707136934608e-249

    1. Initial program 10.9

      \[\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-cbrt11.2

      \[\leadsto \left(\color{blue}{\left(\sqrt[3]{x \cdot \left(y \cdot z - t \cdot a\right)} \cdot \sqrt[3]{x \cdot \left(y \cdot z - t \cdot a\right)}\right) \cdot \sqrt[3]{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)\]

    if -3.929707136934608e-249 < b < 7.525919208168165e-236

    1. Initial program 18.1

      \[\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. Taylor expanded around 0 16.7

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

    if 7.525919208168165e-236 < b

    1. Initial program 10.4

      \[\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-sqr-sqrt10.5

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

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

    \[\leadsto \begin{array}{l} \mathbf{if}\;b \le -3.929707136934608 \cdot 10^{-249}:\\ \;\;\;\;\left(c \cdot t - y \cdot i\right) \cdot j + \left(\left(\sqrt[3]{\left(y \cdot z - t \cdot a\right) \cdot x} \cdot \sqrt[3]{\left(y \cdot z - t \cdot a\right) \cdot x}\right) \cdot \sqrt[3]{\left(y \cdot z - t \cdot a\right) \cdot x} - b \cdot \left(c \cdot z - a \cdot i\right)\right)\\ \mathbf{elif}\;b \le 7.525919208168165 \cdot 10^{-236}:\\ \;\;\;\;\left(y \cdot z - t \cdot a\right) \cdot x + \left(c \cdot t - y \cdot i\right) \cdot j\\ \mathbf{else}:\\ \;\;\;\;\left(c \cdot t - y \cdot i\right) \cdot j + \left(\left(y \cdot z - t \cdot a\right) \cdot x - \left(\left(c \cdot z - a \cdot i\right) \cdot \sqrt{b}\right) \cdot \sqrt{b}\right)\\ \end{array}\]

Reproduce

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