Average Error: 11.3 → 11.9
Time: 54.2s
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}\;x \le -2.987700109246694 \cdot 10^{-143}:\\ \;\;\;\;\left(c \cdot t - i \cdot y\right) \cdot j + \left(\left(y \cdot z - a \cdot t\right) \cdot x - \left(\sqrt[3]{b \cdot \left(z \cdot c - i \cdot a\right)} \cdot \sqrt[3]{\sqrt[3]{b \cdot \left(z \cdot c - i \cdot a\right)} \cdot \left(\sqrt[3]{b \cdot \left(z \cdot c - i \cdot a\right)} \cdot \sqrt[3]{b \cdot \left(z \cdot c - i \cdot a\right)}\right)}\right) \cdot \sqrt[3]{b \cdot \left(z \cdot c - i \cdot a\right)}\right)\\ \mathbf{elif}\;x \le 8.952328813322225 \cdot 10^{-195}:\\ \;\;\;\;\left(c \cdot t - i \cdot y\right) \cdot j + \left(-b\right) \cdot \left(z \cdot c - i \cdot a\right)\\ \mathbf{else}:\\ \;\;\;\;\left(c \cdot t - i \cdot y\right) \cdot j + \left(\sqrt{x} \cdot \left(\sqrt{x} \cdot \left(y \cdot z - a \cdot t\right)\right) - b \cdot \left(z \cdot c - i \cdot a\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}\;x \le -2.987700109246694 \cdot 10^{-143}:\\
\;\;\;\;\left(c \cdot t - i \cdot y\right) \cdot j + \left(\left(y \cdot z - a \cdot t\right) \cdot x - \left(\sqrt[3]{b \cdot \left(z \cdot c - i \cdot a\right)} \cdot \sqrt[3]{\sqrt[3]{b \cdot \left(z \cdot c - i \cdot a\right)} \cdot \left(\sqrt[3]{b \cdot \left(z \cdot c - i \cdot a\right)} \cdot \sqrt[3]{b \cdot \left(z \cdot c - i \cdot a\right)}\right)}\right) \cdot \sqrt[3]{b \cdot \left(z \cdot c - i \cdot a\right)}\right)\\

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

\mathbf{else}:\\
\;\;\;\;\left(c \cdot t - i \cdot y\right) \cdot j + \left(\sqrt{x} \cdot \left(\sqrt{x} \cdot \left(y \cdot z - a \cdot t\right)\right) - b \cdot \left(z \cdot c - i \cdot a\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 r13045310 = x;
        double r13045311 = y;
        double r13045312 = z;
        double r13045313 = r13045311 * r13045312;
        double r13045314 = t;
        double r13045315 = a;
        double r13045316 = r13045314 * r13045315;
        double r13045317 = r13045313 - r13045316;
        double r13045318 = r13045310 * r13045317;
        double r13045319 = b;
        double r13045320 = c;
        double r13045321 = r13045320 * r13045312;
        double r13045322 = i;
        double r13045323 = r13045322 * r13045315;
        double r13045324 = r13045321 - r13045323;
        double r13045325 = r13045319 * r13045324;
        double r13045326 = r13045318 - r13045325;
        double r13045327 = j;
        double r13045328 = r13045320 * r13045314;
        double r13045329 = r13045322 * r13045311;
        double r13045330 = r13045328 - r13045329;
        double r13045331 = r13045327 * r13045330;
        double r13045332 = r13045326 + r13045331;
        return r13045332;
}

double f(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
        double r13045333 = x;
        double r13045334 = -2.987700109246694e-143;
        bool r13045335 = r13045333 <= r13045334;
        double r13045336 = c;
        double r13045337 = t;
        double r13045338 = r13045336 * r13045337;
        double r13045339 = i;
        double r13045340 = y;
        double r13045341 = r13045339 * r13045340;
        double r13045342 = r13045338 - r13045341;
        double r13045343 = j;
        double r13045344 = r13045342 * r13045343;
        double r13045345 = z;
        double r13045346 = r13045340 * r13045345;
        double r13045347 = a;
        double r13045348 = r13045347 * r13045337;
        double r13045349 = r13045346 - r13045348;
        double r13045350 = r13045349 * r13045333;
        double r13045351 = b;
        double r13045352 = r13045345 * r13045336;
        double r13045353 = r13045339 * r13045347;
        double r13045354 = r13045352 - r13045353;
        double r13045355 = r13045351 * r13045354;
        double r13045356 = cbrt(r13045355);
        double r13045357 = r13045356 * r13045356;
        double r13045358 = r13045356 * r13045357;
        double r13045359 = cbrt(r13045358);
        double r13045360 = r13045356 * r13045359;
        double r13045361 = r13045360 * r13045356;
        double r13045362 = r13045350 - r13045361;
        double r13045363 = r13045344 + r13045362;
        double r13045364 = 8.952328813322225e-195;
        bool r13045365 = r13045333 <= r13045364;
        double r13045366 = -r13045351;
        double r13045367 = r13045366 * r13045354;
        double r13045368 = r13045344 + r13045367;
        double r13045369 = sqrt(r13045333);
        double r13045370 = r13045369 * r13045349;
        double r13045371 = r13045369 * r13045370;
        double r13045372 = r13045371 - r13045355;
        double r13045373 = r13045344 + r13045372;
        double r13045374 = r13045365 ? r13045368 : r13045373;
        double r13045375 = r13045335 ? r13045363 : r13045374;
        return r13045375;
}

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 x < -2.987700109246694e-143

    1. Initial program 10.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 add-cube-cbrt10.2

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

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

    if -2.987700109246694e-143 < x < 8.952328813322225e-195

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

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

    if 8.952328813322225e-195 < x

    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 add-sqr-sqrt10.0

      \[\leadsto \left(\color{blue}{\left(\sqrt{x} \cdot \sqrt{x}\right)} \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)\]
    4. Applied associate-*l*9.9

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

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

Reproduce

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