Average Error: 12.3 → 11.8
Time: 40.1s
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 -418713864343.68804931640625:\\ \;\;\;\;\mathsf{fma}\left(\sqrt[3]{t \cdot c - y \cdot i} \cdot \left(\sqrt[3]{t \cdot c - y \cdot i} \cdot \sqrt[3]{t \cdot c - y \cdot i}\right), j, \mathsf{fma}\left(a \cdot i - z \cdot c, b, \left(y \cdot z - a \cdot t\right) \cdot x\right)\right)\\ \mathbf{elif}\;b \le -5.773525167388780290184618287791244901908 \cdot 10^{-11}:\\ \;\;\;\;z \cdot \left(x \cdot y - c \cdot b\right) - t \cdot \left(a \cdot x\right)\\ \mathbf{elif}\;b \le -1.057363907468381250814663089969603877706 \cdot 10^{-96}:\\ \;\;\;\;\mathsf{fma}\left(t \cdot c - y \cdot i, j, \mathsf{fma}\left(a \cdot i - z \cdot c, b, \sqrt[3]{x} \cdot \left(\left(y \cdot z - a \cdot t\right) \cdot \left(\sqrt[3]{x} \cdot \sqrt[3]{x}\right)\right)\right)\right)\\ \mathbf{elif}\;b \le 5.249314572033981894177886147892417816116 \cdot 10^{-261}:\\ \;\;\;\;\mathsf{fma}\left(t \cdot c - y \cdot i, j, z \cdot \left(x \cdot y - c \cdot b\right) - \left(t \cdot x\right) \cdot a\right)\\ \mathbf{else}:\\ \;\;\;\;\mathsf{fma}\left(\sqrt[3]{t \cdot c - y \cdot i} \cdot \left(\sqrt[3]{t \cdot c - y \cdot i} \cdot \sqrt[3]{t \cdot c - y \cdot i}\right), j, \mathsf{fma}\left(a \cdot i - z \cdot c, b, \left(y \cdot z - a \cdot t\right) \cdot x\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}\;b \le -418713864343.68804931640625:\\
\;\;\;\;\mathsf{fma}\left(\sqrt[3]{t \cdot c - y \cdot i} \cdot \left(\sqrt[3]{t \cdot c - y \cdot i} \cdot \sqrt[3]{t \cdot c - y \cdot i}\right), j, \mathsf{fma}\left(a \cdot i - z \cdot c, b, \left(y \cdot z - a \cdot t\right) \cdot x\right)\right)\\

\mathbf{elif}\;b \le -5.773525167388780290184618287791244901908 \cdot 10^{-11}:\\
\;\;\;\;z \cdot \left(x \cdot y - c \cdot b\right) - t \cdot \left(a \cdot x\right)\\

\mathbf{elif}\;b \le -1.057363907468381250814663089969603877706 \cdot 10^{-96}:\\
\;\;\;\;\mathsf{fma}\left(t \cdot c - y \cdot i, j, \mathsf{fma}\left(a \cdot i - z \cdot c, b, \sqrt[3]{x} \cdot \left(\left(y \cdot z - a \cdot t\right) \cdot \left(\sqrt[3]{x} \cdot \sqrt[3]{x}\right)\right)\right)\right)\\

\mathbf{elif}\;b \le 5.249314572033981894177886147892417816116 \cdot 10^{-261}:\\
\;\;\;\;\mathsf{fma}\left(t \cdot c - y \cdot i, j, z \cdot \left(x \cdot y - c \cdot b\right) - \left(t \cdot x\right) \cdot a\right)\\

\mathbf{else}:\\
\;\;\;\;\mathsf{fma}\left(\sqrt[3]{t \cdot c - y \cdot i} \cdot \left(\sqrt[3]{t \cdot c - y \cdot i} \cdot \sqrt[3]{t \cdot c - y \cdot i}\right), j, \mathsf{fma}\left(a \cdot i - z \cdot c, b, \left(y \cdot z - a \cdot t\right) \cdot x\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 r4591235 = x;
        double r4591236 = y;
        double r4591237 = z;
        double r4591238 = r4591236 * r4591237;
        double r4591239 = t;
        double r4591240 = a;
        double r4591241 = r4591239 * r4591240;
        double r4591242 = r4591238 - r4591241;
        double r4591243 = r4591235 * r4591242;
        double r4591244 = b;
        double r4591245 = c;
        double r4591246 = r4591245 * r4591237;
        double r4591247 = i;
        double r4591248 = r4591247 * r4591240;
        double r4591249 = r4591246 - r4591248;
        double r4591250 = r4591244 * r4591249;
        double r4591251 = r4591243 - r4591250;
        double r4591252 = j;
        double r4591253 = r4591245 * r4591239;
        double r4591254 = r4591247 * r4591236;
        double r4591255 = r4591253 - r4591254;
        double r4591256 = r4591252 * r4591255;
        double r4591257 = r4591251 + r4591256;
        return r4591257;
}

double f(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
        double r4591258 = b;
        double r4591259 = -418713864343.68805;
        bool r4591260 = r4591258 <= r4591259;
        double r4591261 = t;
        double r4591262 = c;
        double r4591263 = r4591261 * r4591262;
        double r4591264 = y;
        double r4591265 = i;
        double r4591266 = r4591264 * r4591265;
        double r4591267 = r4591263 - r4591266;
        double r4591268 = cbrt(r4591267);
        double r4591269 = r4591268 * r4591268;
        double r4591270 = r4591268 * r4591269;
        double r4591271 = j;
        double r4591272 = a;
        double r4591273 = r4591272 * r4591265;
        double r4591274 = z;
        double r4591275 = r4591274 * r4591262;
        double r4591276 = r4591273 - r4591275;
        double r4591277 = r4591264 * r4591274;
        double r4591278 = r4591272 * r4591261;
        double r4591279 = r4591277 - r4591278;
        double r4591280 = x;
        double r4591281 = r4591279 * r4591280;
        double r4591282 = fma(r4591276, r4591258, r4591281);
        double r4591283 = fma(r4591270, r4591271, r4591282);
        double r4591284 = -5.77352516738878e-11;
        bool r4591285 = r4591258 <= r4591284;
        double r4591286 = r4591280 * r4591264;
        double r4591287 = r4591262 * r4591258;
        double r4591288 = r4591286 - r4591287;
        double r4591289 = r4591274 * r4591288;
        double r4591290 = r4591272 * r4591280;
        double r4591291 = r4591261 * r4591290;
        double r4591292 = r4591289 - r4591291;
        double r4591293 = -1.0573639074683813e-96;
        bool r4591294 = r4591258 <= r4591293;
        double r4591295 = cbrt(r4591280);
        double r4591296 = r4591295 * r4591295;
        double r4591297 = r4591279 * r4591296;
        double r4591298 = r4591295 * r4591297;
        double r4591299 = fma(r4591276, r4591258, r4591298);
        double r4591300 = fma(r4591267, r4591271, r4591299);
        double r4591301 = 5.249314572033982e-261;
        bool r4591302 = r4591258 <= r4591301;
        double r4591303 = r4591261 * r4591280;
        double r4591304 = r4591303 * r4591272;
        double r4591305 = r4591289 - r4591304;
        double r4591306 = fma(r4591267, r4591271, r4591305);
        double r4591307 = r4591302 ? r4591306 : r4591283;
        double r4591308 = r4591294 ? r4591300 : r4591307;
        double r4591309 = r4591285 ? r4591292 : r4591308;
        double r4591310 = r4591260 ? r4591283 : r4591309;
        return r4591310;
}

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

Derivation

  1. Split input into 4 regimes
  2. if b < -418713864343.68805 or 5.249314572033982e-261 < b

    1. Initial program 10.2

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

      \[\leadsto \color{blue}{\mathsf{fma}\left(t \cdot c - i \cdot y, j, \mathsf{fma}\left(i \cdot a - z \cdot c, b, \left(z \cdot y - t \cdot a\right) \cdot x\right)\right)}\]
    3. Using strategy rm
    4. Applied add-cube-cbrt10.5

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

    if -418713864343.68805 < b < -5.77352516738878e-11

    1. Initial program 12.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. Simplified12.4

      \[\leadsto \color{blue}{\mathsf{fma}\left(t \cdot c - i \cdot y, j, \mathsf{fma}\left(i \cdot a - z \cdot c, b, \left(z \cdot y - t \cdot a\right) \cdot x\right)\right)}\]
    3. Using strategy rm
    4. Applied add-cube-cbrt12.7

      \[\leadsto \mathsf{fma}\left(t \cdot c - i \cdot y, j, \mathsf{fma}\left(i \cdot a - z \cdot c, b, \left(z \cdot y - t \cdot a\right) \cdot \color{blue}{\left(\left(\sqrt[3]{x} \cdot \sqrt[3]{x}\right) \cdot \sqrt[3]{x}\right)}\right)\right)\]
    5. Applied associate-*r*12.7

      \[\leadsto \mathsf{fma}\left(t \cdot c - i \cdot y, j, \mathsf{fma}\left(i \cdot a - z \cdot c, b, \color{blue}{\left(\left(z \cdot y - t \cdot a\right) \cdot \left(\sqrt[3]{x} \cdot \sqrt[3]{x}\right)\right) \cdot \sqrt[3]{x}}\right)\right)\]
    6. Using strategy rm
    7. Applied add-cube-cbrt12.8

      \[\leadsto \mathsf{fma}\left(t \cdot c - i \cdot y, j, \mathsf{fma}\left(i \cdot a - z \cdot c, b, \color{blue}{\left(\left(\sqrt[3]{\left(z \cdot y - t \cdot a\right) \cdot \left(\sqrt[3]{x} \cdot \sqrt[3]{x}\right)} \cdot \sqrt[3]{\left(z \cdot y - t \cdot a\right) \cdot \left(\sqrt[3]{x} \cdot \sqrt[3]{x}\right)}\right) \cdot \sqrt[3]{\left(z \cdot y - t \cdot a\right) \cdot \left(\sqrt[3]{x} \cdot \sqrt[3]{x}\right)}\right)} \cdot \sqrt[3]{x}\right)\right)\]
    8. Taylor expanded around inf 31.0

      \[\leadsto \color{blue}{x \cdot \left(z \cdot y\right) - \left(z \cdot \left(b \cdot c\right) + a \cdot \left(x \cdot t\right)\right)}\]
    9. Simplified29.7

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

    if -5.77352516738878e-11 < b < -1.0573639074683813e-96

    1. Initial program 13.2

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

      \[\leadsto \color{blue}{\mathsf{fma}\left(t \cdot c - i \cdot y, j, \mathsf{fma}\left(i \cdot a - z \cdot c, b, \left(z \cdot y - t \cdot a\right) \cdot x\right)\right)}\]
    3. Using strategy rm
    4. Applied add-cube-cbrt13.5

      \[\leadsto \mathsf{fma}\left(t \cdot c - i \cdot y, j, \mathsf{fma}\left(i \cdot a - z \cdot c, b, \left(z \cdot y - t \cdot a\right) \cdot \color{blue}{\left(\left(\sqrt[3]{x} \cdot \sqrt[3]{x}\right) \cdot \sqrt[3]{x}\right)}\right)\right)\]
    5. Applied associate-*r*13.5

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

    if -1.0573639074683813e-96 < b < 5.249314572033982e-261

    1. Initial program 17.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. Simplified17.1

      \[\leadsto \color{blue}{\mathsf{fma}\left(t \cdot c - i \cdot y, j, \mathsf{fma}\left(i \cdot a - z \cdot c, b, \left(z \cdot y - t \cdot a\right) \cdot x\right)\right)}\]
    3. Taylor expanded around inf 14.9

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

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

    \[\leadsto \begin{array}{l} \mathbf{if}\;b \le -418713864343.68804931640625:\\ \;\;\;\;\mathsf{fma}\left(\sqrt[3]{t \cdot c - y \cdot i} \cdot \left(\sqrt[3]{t \cdot c - y \cdot i} \cdot \sqrt[3]{t \cdot c - y \cdot i}\right), j, \mathsf{fma}\left(a \cdot i - z \cdot c, b, \left(y \cdot z - a \cdot t\right) \cdot x\right)\right)\\ \mathbf{elif}\;b \le -5.773525167388780290184618287791244901908 \cdot 10^{-11}:\\ \;\;\;\;z \cdot \left(x \cdot y - c \cdot b\right) - t \cdot \left(a \cdot x\right)\\ \mathbf{elif}\;b \le -1.057363907468381250814663089969603877706 \cdot 10^{-96}:\\ \;\;\;\;\mathsf{fma}\left(t \cdot c - y \cdot i, j, \mathsf{fma}\left(a \cdot i - z \cdot c, b, \sqrt[3]{x} \cdot \left(\left(y \cdot z - a \cdot t\right) \cdot \left(\sqrt[3]{x} \cdot \sqrt[3]{x}\right)\right)\right)\right)\\ \mathbf{elif}\;b \le 5.249314572033981894177886147892417816116 \cdot 10^{-261}:\\ \;\;\;\;\mathsf{fma}\left(t \cdot c - y \cdot i, j, z \cdot \left(x \cdot y - c \cdot b\right) - \left(t \cdot x\right) \cdot a\right)\\ \mathbf{else}:\\ \;\;\;\;\mathsf{fma}\left(\sqrt[3]{t \cdot c - y \cdot i} \cdot \left(\sqrt[3]{t \cdot c - y \cdot i} \cdot \sqrt[3]{t \cdot c - y \cdot i}\right), j, \mathsf{fma}\left(a \cdot i - z \cdot c, b, \left(y \cdot z - a \cdot t\right) \cdot x\right)\right)\\ \end{array}\]

Reproduce

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