Average Error: 12.4 → 8.7
Time: 25.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}\;\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) \le -1.5986232483573093 \cdot 10^{303} \lor \neg \left(\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) \le 5.61245374523984867 \cdot 10^{300}\right):\\ \;\;\;\;\left(x \cdot \left(y \cdot z - t \cdot a\right) - \left(\left(z \cdot b\right) \cdot c + \left(-i \cdot a\right) \cdot b\right)\right) + \left(\left(j \cdot c\right) \cdot t + \left(-i \cdot \left(j \cdot y\right)\right)\right)\\ \mathbf{else}:\\ \;\;\;\;\left(\sqrt[3]{\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)} \cdot \sqrt[3]{\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)}\right) \cdot \sqrt[3]{\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)}\\ \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}\;\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) \le -1.5986232483573093 \cdot 10^{303} \lor \neg \left(\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) \le 5.61245374523984867 \cdot 10^{300}\right):\\
\;\;\;\;\left(x \cdot \left(y \cdot z - t \cdot a\right) - \left(\left(z \cdot b\right) \cdot c + \left(-i \cdot a\right) \cdot b\right)\right) + \left(\left(j \cdot c\right) \cdot t + \left(-i \cdot \left(j \cdot y\right)\right)\right)\\

\mathbf{else}:\\
\;\;\;\;\left(\sqrt[3]{\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)} \cdot \sqrt[3]{\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)}\right) \cdot \sqrt[3]{\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)}\\

\end{array}
double f(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
        double r84322 = x;
        double r84323 = y;
        double r84324 = z;
        double r84325 = r84323 * r84324;
        double r84326 = t;
        double r84327 = a;
        double r84328 = r84326 * r84327;
        double r84329 = r84325 - r84328;
        double r84330 = r84322 * r84329;
        double r84331 = b;
        double r84332 = c;
        double r84333 = r84332 * r84324;
        double r84334 = i;
        double r84335 = r84334 * r84327;
        double r84336 = r84333 - r84335;
        double r84337 = r84331 * r84336;
        double r84338 = r84330 - r84337;
        double r84339 = j;
        double r84340 = r84332 * r84326;
        double r84341 = r84334 * r84323;
        double r84342 = r84340 - r84341;
        double r84343 = r84339 * r84342;
        double r84344 = r84338 + r84343;
        return r84344;
}

double f(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
        double r84345 = x;
        double r84346 = y;
        double r84347 = z;
        double r84348 = r84346 * r84347;
        double r84349 = t;
        double r84350 = a;
        double r84351 = r84349 * r84350;
        double r84352 = r84348 - r84351;
        double r84353 = r84345 * r84352;
        double r84354 = b;
        double r84355 = c;
        double r84356 = r84355 * r84347;
        double r84357 = i;
        double r84358 = r84357 * r84350;
        double r84359 = r84356 - r84358;
        double r84360 = r84354 * r84359;
        double r84361 = r84353 - r84360;
        double r84362 = j;
        double r84363 = r84355 * r84349;
        double r84364 = r84357 * r84346;
        double r84365 = r84363 - r84364;
        double r84366 = r84362 * r84365;
        double r84367 = r84361 + r84366;
        double r84368 = -1.5986232483573093e+303;
        bool r84369 = r84367 <= r84368;
        double r84370 = 5.612453745239849e+300;
        bool r84371 = r84367 <= r84370;
        double r84372 = !r84371;
        bool r84373 = r84369 || r84372;
        double r84374 = r84347 * r84354;
        double r84375 = r84374 * r84355;
        double r84376 = -r84358;
        double r84377 = r84376 * r84354;
        double r84378 = r84375 + r84377;
        double r84379 = r84353 - r84378;
        double r84380 = r84362 * r84355;
        double r84381 = r84380 * r84349;
        double r84382 = r84362 * r84346;
        double r84383 = r84357 * r84382;
        double r84384 = -r84383;
        double r84385 = r84381 + r84384;
        double r84386 = r84379 + r84385;
        double r84387 = cbrt(r84367);
        double r84388 = r84387 * r84387;
        double r84389 = r84388 * r84387;
        double r84390 = r84373 ? r84386 : r84389;
        return r84390;
}

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 2 regimes
  2. if (+ (- (* x (- (* y z) (* t a))) (* b (- (* c z) (* i a)))) (* j (- (* c t) (* i y)))) < -1.5986232483573093e+303 or 5.612453745239849e+300 < (+ (- (* x (- (* y z) (* t a))) (* b (- (* c z) (* i a)))) (* j (- (* c t) (* i y))))

    1. Initial program 59.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 sub-neg59.0

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

      \[\leadsto \left(x \cdot \left(y \cdot z - t \cdot a\right) - b \cdot \left(c \cdot z - i \cdot a\right)\right) + \left(j \cdot \left(c \cdot t\right) + \color{blue}{\left(-i \cdot \left(j \cdot y\right)\right)}\right)\]
    6. Using strategy rm
    7. Applied sub-neg51.9

      \[\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) + \left(j \cdot \left(c \cdot t\right) + \left(-i \cdot \left(j \cdot y\right)\right)\right)\]
    8. Applied distribute-lft-in51.9

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

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

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

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

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

    if -1.5986232483573093e+303 < (+ (- (* x (- (* y z) (* t a))) (* b (- (* c z) (* i a)))) (* j (- (* c t) (* i y)))) < 5.612453745239849e+300

    1. Initial program 1.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-cbrt2.0

      \[\leadsto \color{blue}{\left(\sqrt[3]{\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)} \cdot \sqrt[3]{\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)}\right) \cdot \sqrt[3]{\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)}}\]
  3. Recombined 2 regimes into one program.
  4. Final simplification8.7

    \[\leadsto \begin{array}{l} \mathbf{if}\;\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) \le -1.5986232483573093 \cdot 10^{303} \lor \neg \left(\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) \le 5.61245374523984867 \cdot 10^{300}\right):\\ \;\;\;\;\left(x \cdot \left(y \cdot z - t \cdot a\right) - \left(\left(z \cdot b\right) \cdot c + \left(-i \cdot a\right) \cdot b\right)\right) + \left(\left(j \cdot c\right) \cdot t + \left(-i \cdot \left(j \cdot y\right)\right)\right)\\ \mathbf{else}:\\ \;\;\;\;\left(\sqrt[3]{\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)} \cdot \sqrt[3]{\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)}\right) \cdot \sqrt[3]{\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)}\\ \end{array}\]

Reproduce

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