Average Error: 11.9 → 10.6
Time: 24.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}\;t \le -7.200740981334782655496577567079341498697 \cdot 10^{-34}:\\ \;\;\;\;\left(\left(y \cdot \left(z \cdot x\right) + \left(-\left(a \cdot x\right) \cdot t\right)\right) - b \cdot \left(c \cdot z - i \cdot a\right)\right) + j \cdot \left(c \cdot t - i \cdot y\right)\\ \mathbf{elif}\;t \le 3.522490007732434229595790255302512577665 \cdot 10^{-205}:\\ \;\;\;\;\left(x \cdot \left(y \cdot z - t \cdot a\right) - \left(z \cdot \left(b \cdot c\right) + \left(b \cdot \left(-i\right)\right) \cdot a\right)\right) + j \cdot \left(c \cdot t - i \cdot y\right)\\ \mathbf{else}:\\ \;\;\;\;\left(x \cdot \left(y \cdot z - t \cdot a\right) - b \cdot \left(c \cdot z - i \cdot a\right)\right) + \left(t \cdot \left(j \cdot c\right) + \left(-i \cdot \left(j \cdot y\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}\;t \le -7.200740981334782655496577567079341498697 \cdot 10^{-34}:\\
\;\;\;\;\left(\left(y \cdot \left(z \cdot x\right) + \left(-\left(a \cdot x\right) \cdot t\right)\right) - b \cdot \left(c \cdot z - i \cdot a\right)\right) + j \cdot \left(c \cdot t - i \cdot y\right)\\

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

\mathbf{else}:\\
\;\;\;\;\left(x \cdot \left(y \cdot z - t \cdot a\right) - b \cdot \left(c \cdot z - i \cdot a\right)\right) + \left(t \cdot \left(j \cdot c\right) + \left(-i \cdot \left(j \cdot y\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 r86430 = x;
        double r86431 = y;
        double r86432 = z;
        double r86433 = r86431 * r86432;
        double r86434 = t;
        double r86435 = a;
        double r86436 = r86434 * r86435;
        double r86437 = r86433 - r86436;
        double r86438 = r86430 * r86437;
        double r86439 = b;
        double r86440 = c;
        double r86441 = r86440 * r86432;
        double r86442 = i;
        double r86443 = r86442 * r86435;
        double r86444 = r86441 - r86443;
        double r86445 = r86439 * r86444;
        double r86446 = r86438 - r86445;
        double r86447 = j;
        double r86448 = r86440 * r86434;
        double r86449 = r86442 * r86431;
        double r86450 = r86448 - r86449;
        double r86451 = r86447 * r86450;
        double r86452 = r86446 + r86451;
        return r86452;
}

double f(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
        double r86453 = t;
        double r86454 = -7.200740981334783e-34;
        bool r86455 = r86453 <= r86454;
        double r86456 = y;
        double r86457 = z;
        double r86458 = x;
        double r86459 = r86457 * r86458;
        double r86460 = r86456 * r86459;
        double r86461 = a;
        double r86462 = r86461 * r86458;
        double r86463 = r86462 * r86453;
        double r86464 = -r86463;
        double r86465 = r86460 + r86464;
        double r86466 = b;
        double r86467 = c;
        double r86468 = r86467 * r86457;
        double r86469 = i;
        double r86470 = r86469 * r86461;
        double r86471 = r86468 - r86470;
        double r86472 = r86466 * r86471;
        double r86473 = r86465 - r86472;
        double r86474 = j;
        double r86475 = r86467 * r86453;
        double r86476 = r86469 * r86456;
        double r86477 = r86475 - r86476;
        double r86478 = r86474 * r86477;
        double r86479 = r86473 + r86478;
        double r86480 = 3.5224900077324342e-205;
        bool r86481 = r86453 <= r86480;
        double r86482 = r86456 * r86457;
        double r86483 = r86453 * r86461;
        double r86484 = r86482 - r86483;
        double r86485 = r86458 * r86484;
        double r86486 = r86466 * r86467;
        double r86487 = r86457 * r86486;
        double r86488 = -r86469;
        double r86489 = r86466 * r86488;
        double r86490 = r86489 * r86461;
        double r86491 = r86487 + r86490;
        double r86492 = r86485 - r86491;
        double r86493 = r86492 + r86478;
        double r86494 = r86485 - r86472;
        double r86495 = r86474 * r86467;
        double r86496 = r86453 * r86495;
        double r86497 = r86474 * r86456;
        double r86498 = r86469 * r86497;
        double r86499 = -r86498;
        double r86500 = r86496 + r86499;
        double r86501 = r86494 + r86500;
        double r86502 = r86481 ? r86493 : r86501;
        double r86503 = r86455 ? r86479 : r86502;
        return r86503;
}

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 t < -7.200740981334783e-34

    1. Initial program 15.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 sub-neg15.4

      \[\leadsto \left(x \cdot \color{blue}{\left(y \cdot z + \left(-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)\]
    4. Applied distribute-lft-in15.4

      \[\leadsto \left(\color{blue}{\left(x \cdot \left(y \cdot z\right) + x \cdot \left(-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)\]
    5. Simplified15.4

      \[\leadsto \left(\left(\color{blue}{\left(y \cdot z\right) \cdot x} + x \cdot \left(-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)\]
    6. Simplified16.0

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

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

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

    if -7.200740981334783e-34 < t < 3.5224900077324342e-205

    1. Initial program 9.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. Using strategy rm
    3. Applied sub-neg9.1

      \[\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-lft-in9.1

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

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

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

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

    if 3.5224900077324342e-205 < t

    1. Initial program 12.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 sub-neg12.7

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

      \[\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(j \cdot \left(c \cdot t\right) + j \cdot \left(-i \cdot y\right)\right)}\]
    5. Simplified12.1

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

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

    \[\leadsto \begin{array}{l} \mathbf{if}\;t \le -7.200740981334782655496577567079341498697 \cdot 10^{-34}:\\ \;\;\;\;\left(\left(y \cdot \left(z \cdot x\right) + \left(-\left(a \cdot x\right) \cdot t\right)\right) - b \cdot \left(c \cdot z - i \cdot a\right)\right) + j \cdot \left(c \cdot t - i \cdot y\right)\\ \mathbf{elif}\;t \le 3.522490007732434229595790255302512577665 \cdot 10^{-205}:\\ \;\;\;\;\left(x \cdot \left(y \cdot z - t \cdot a\right) - \left(z \cdot \left(b \cdot c\right) + \left(b \cdot \left(-i\right)\right) \cdot a\right)\right) + j \cdot \left(c \cdot t - i \cdot y\right)\\ \mathbf{else}:\\ \;\;\;\;\left(x \cdot \left(y \cdot z - t \cdot a\right) - b \cdot \left(c \cdot z - i \cdot a\right)\right) + \left(t \cdot \left(j \cdot c\right) + \left(-i \cdot \left(j \cdot y\right)\right)\right)\\ \end{array}\]

Reproduce

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