Average Error: 11.4 → 11.4
Time: 28.9s
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.2622187171660356 \cdot 10^{-188}:\\ \;\;\;\;\left(\left(y \cdot z - t \cdot a\right) \cdot x - b \cdot \left(c \cdot z - i \cdot a\right)\right) + \sqrt[3]{j \cdot \left(c \cdot t - i \cdot y\right)} \cdot \left(\sqrt[3]{j \cdot \left(c \cdot t - i \cdot y\right)} \cdot \sqrt[3]{j \cdot \left(c \cdot t - i \cdot y\right)}\right)\\ \mathbf{elif}\;b \le 3.6857664122654906 \cdot 10^{-204}:\\ \;\;\;\;j \cdot \left(c \cdot t - i \cdot y\right) + \left(y \cdot z - t \cdot a\right) \cdot x\\ \mathbf{else}:\\ \;\;\;\;\left(\left(y \cdot z - t \cdot a\right) \cdot x - \left(\left(c \cdot z - i \cdot a\right) \cdot \sqrt{b}\right) \cdot \sqrt{b}\right) + j \cdot \left(c \cdot t - i \cdot y\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.2622187171660356 \cdot 10^{-188}:\\
\;\;\;\;\left(\left(y \cdot z - t \cdot a\right) \cdot x - b \cdot \left(c \cdot z - i \cdot a\right)\right) + \sqrt[3]{j \cdot \left(c \cdot t - i \cdot y\right)} \cdot \left(\sqrt[3]{j \cdot \left(c \cdot t - i \cdot y\right)} \cdot \sqrt[3]{j \cdot \left(c \cdot t - i \cdot y\right)}\right)\\

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

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

\end{array}
double f(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
        double r2821117 = x;
        double r2821118 = y;
        double r2821119 = z;
        double r2821120 = r2821118 * r2821119;
        double r2821121 = t;
        double r2821122 = a;
        double r2821123 = r2821121 * r2821122;
        double r2821124 = r2821120 - r2821123;
        double r2821125 = r2821117 * r2821124;
        double r2821126 = b;
        double r2821127 = c;
        double r2821128 = r2821127 * r2821119;
        double r2821129 = i;
        double r2821130 = r2821129 * r2821122;
        double r2821131 = r2821128 - r2821130;
        double r2821132 = r2821126 * r2821131;
        double r2821133 = r2821125 - r2821132;
        double r2821134 = j;
        double r2821135 = r2821127 * r2821121;
        double r2821136 = r2821129 * r2821118;
        double r2821137 = r2821135 - r2821136;
        double r2821138 = r2821134 * r2821137;
        double r2821139 = r2821133 + r2821138;
        return r2821139;
}

double f(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
        double r2821140 = b;
        double r2821141 = -3.2622187171660356e-188;
        bool r2821142 = r2821140 <= r2821141;
        double r2821143 = y;
        double r2821144 = z;
        double r2821145 = r2821143 * r2821144;
        double r2821146 = t;
        double r2821147 = a;
        double r2821148 = r2821146 * r2821147;
        double r2821149 = r2821145 - r2821148;
        double r2821150 = x;
        double r2821151 = r2821149 * r2821150;
        double r2821152 = c;
        double r2821153 = r2821152 * r2821144;
        double r2821154 = i;
        double r2821155 = r2821154 * r2821147;
        double r2821156 = r2821153 - r2821155;
        double r2821157 = r2821140 * r2821156;
        double r2821158 = r2821151 - r2821157;
        double r2821159 = j;
        double r2821160 = r2821152 * r2821146;
        double r2821161 = r2821154 * r2821143;
        double r2821162 = r2821160 - r2821161;
        double r2821163 = r2821159 * r2821162;
        double r2821164 = cbrt(r2821163);
        double r2821165 = r2821164 * r2821164;
        double r2821166 = r2821164 * r2821165;
        double r2821167 = r2821158 + r2821166;
        double r2821168 = 3.6857664122654906e-204;
        bool r2821169 = r2821140 <= r2821168;
        double r2821170 = r2821163 + r2821151;
        double r2821171 = sqrt(r2821140);
        double r2821172 = r2821156 * r2821171;
        double r2821173 = r2821172 * r2821171;
        double r2821174 = r2821151 - r2821173;
        double r2821175 = r2821174 + r2821163;
        double r2821176 = r2821169 ? r2821170 : r2821175;
        double r2821177 = r2821142 ? r2821167 : r2821176;
        return r2821177;
}

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.2622187171660356e-188

    1. Initial program 9.7

      \[\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-cbrt10.0

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

    if -3.2622187171660356e-188 < b < 3.6857664122654906e-204

    1. Initial program 16.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. Taylor expanded around 0 16.2

      \[\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 3.6857664122654906e-204 < b

    1. Initial program 9.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-sqr-sqrt10.0

      \[\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.0

      \[\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.4

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

Reproduce

herbie shell --seed 2019135 
(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)))))