Average Error: 12.2 → 10.6
Time: 24.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}\;b \le -6389942398473198090210217295872:\\ \;\;\;\;\left(a \cdot i - c \cdot z\right) \cdot b + \left(\left(y \cdot \left(x \cdot z\right) - a \cdot \left(t \cdot x\right)\right) + \left(\left(y \cdot i\right) \cdot \left(-j\right) + \left(t \cdot j\right) \cdot c\right)\right)\\ \mathbf{elif}\;b \le 1.002984371457371897530186849635221170932 \cdot 10^{-214}:\\ \;\;\;\;\left(a \cdot \left(i \cdot b\right) - \left(b \cdot z\right) \cdot c\right) + \left(\left(y \cdot z - t \cdot a\right) \cdot x + \left(t \cdot c - y \cdot i\right) \cdot j\right)\\ \mathbf{elif}\;b \le 5.220563116893869664129944069723770605172 \cdot 10^{-121} \lor \neg \left(b \le 26916558763106272\right):\\ \;\;\;\;\left(\left(\left(-i\right) \cdot \left(j \cdot y\right) + \left(t \cdot j\right) \cdot c\right) + \left(y \cdot \left(x \cdot z\right) - \left(x \cdot a\right) \cdot t\right)\right) + \left(a \cdot i - c \cdot z\right) \cdot b\\ \mathbf{else}:\\ \;\;\;\;\left(a \cdot i - c \cdot z\right) \cdot b + \left(\left(y \cdot \left(x \cdot z\right) - a \cdot \left(t \cdot x\right)\right) + \left(\left(y \cdot i\right) \cdot \left(-j\right) + \left(t \cdot j\right) \cdot c\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 -6389942398473198090210217295872:\\
\;\;\;\;\left(a \cdot i - c \cdot z\right) \cdot b + \left(\left(y \cdot \left(x \cdot z\right) - a \cdot \left(t \cdot x\right)\right) + \left(\left(y \cdot i\right) \cdot \left(-j\right) + \left(t \cdot j\right) \cdot c\right)\right)\\

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

\mathbf{elif}\;b \le 5.220563116893869664129944069723770605172 \cdot 10^{-121} \lor \neg \left(b \le 26916558763106272\right):\\
\;\;\;\;\left(\left(\left(-i\right) \cdot \left(j \cdot y\right) + \left(t \cdot j\right) \cdot c\right) + \left(y \cdot \left(x \cdot z\right) - \left(x \cdot a\right) \cdot t\right)\right) + \left(a \cdot i - c \cdot z\right) \cdot b\\

\mathbf{else}:\\
\;\;\;\;\left(a \cdot i - c \cdot z\right) \cdot b + \left(\left(y \cdot \left(x \cdot z\right) - a \cdot \left(t \cdot x\right)\right) + \left(\left(y \cdot i\right) \cdot \left(-j\right) + \left(t \cdot j\right) \cdot c\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 r71214 = x;
        double r71215 = y;
        double r71216 = z;
        double r71217 = r71215 * r71216;
        double r71218 = t;
        double r71219 = a;
        double r71220 = r71218 * r71219;
        double r71221 = r71217 - r71220;
        double r71222 = r71214 * r71221;
        double r71223 = b;
        double r71224 = c;
        double r71225 = r71224 * r71216;
        double r71226 = i;
        double r71227 = r71226 * r71219;
        double r71228 = r71225 - r71227;
        double r71229 = r71223 * r71228;
        double r71230 = r71222 - r71229;
        double r71231 = j;
        double r71232 = r71224 * r71218;
        double r71233 = r71226 * r71215;
        double r71234 = r71232 - r71233;
        double r71235 = r71231 * r71234;
        double r71236 = r71230 + r71235;
        return r71236;
}

double f(double x, double y, double z, double t, double a, double b, double c, double i, double j) {
        double r71237 = b;
        double r71238 = -6.389942398473198e+30;
        bool r71239 = r71237 <= r71238;
        double r71240 = a;
        double r71241 = i;
        double r71242 = r71240 * r71241;
        double r71243 = c;
        double r71244 = z;
        double r71245 = r71243 * r71244;
        double r71246 = r71242 - r71245;
        double r71247 = r71246 * r71237;
        double r71248 = y;
        double r71249 = x;
        double r71250 = r71249 * r71244;
        double r71251 = r71248 * r71250;
        double r71252 = t;
        double r71253 = r71252 * r71249;
        double r71254 = r71240 * r71253;
        double r71255 = r71251 - r71254;
        double r71256 = r71248 * r71241;
        double r71257 = j;
        double r71258 = -r71257;
        double r71259 = r71256 * r71258;
        double r71260 = r71252 * r71257;
        double r71261 = r71260 * r71243;
        double r71262 = r71259 + r71261;
        double r71263 = r71255 + r71262;
        double r71264 = r71247 + r71263;
        double r71265 = 1.002984371457372e-214;
        bool r71266 = r71237 <= r71265;
        double r71267 = r71241 * r71237;
        double r71268 = r71240 * r71267;
        double r71269 = r71237 * r71244;
        double r71270 = r71269 * r71243;
        double r71271 = r71268 - r71270;
        double r71272 = r71248 * r71244;
        double r71273 = r71252 * r71240;
        double r71274 = r71272 - r71273;
        double r71275 = r71274 * r71249;
        double r71276 = r71252 * r71243;
        double r71277 = r71276 - r71256;
        double r71278 = r71277 * r71257;
        double r71279 = r71275 + r71278;
        double r71280 = r71271 + r71279;
        double r71281 = 5.22056311689387e-121;
        bool r71282 = r71237 <= r71281;
        double r71283 = 2.691655876310627e+16;
        bool r71284 = r71237 <= r71283;
        double r71285 = !r71284;
        bool r71286 = r71282 || r71285;
        double r71287 = -r71241;
        double r71288 = r71257 * r71248;
        double r71289 = r71287 * r71288;
        double r71290 = r71289 + r71261;
        double r71291 = r71249 * r71240;
        double r71292 = r71291 * r71252;
        double r71293 = r71251 - r71292;
        double r71294 = r71290 + r71293;
        double r71295 = r71294 + r71247;
        double r71296 = r71286 ? r71295 : r71264;
        double r71297 = r71266 ? r71280 : r71296;
        double r71298 = r71239 ? r71264 : r71297;
        return r71298;
}

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 < -6.389942398473198e+30 or 5.22056311689387e-121 < b < 2.691655876310627e+16

    1. Initial program 9.6

      \[\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. Simplified9.6

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

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

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

      \[\leadsto \left(a \cdot i - z \cdot c\right) \cdot b + \left(\left(y \cdot \left(x \cdot z\right) - t \cdot \left(x \cdot \color{blue}{{a}^{1}}\right)\right) + j \cdot \left(t \cdot c - i \cdot y\right)\right)\]
    7. Applied pow19.2

      \[\leadsto \left(a \cdot i - z \cdot c\right) \cdot b + \left(\left(y \cdot \left(x \cdot z\right) - t \cdot \left(\color{blue}{{x}^{1}} \cdot {a}^{1}\right)\right) + j \cdot \left(t \cdot c - i \cdot y\right)\right)\]
    8. Applied pow-prod-down9.2

      \[\leadsto \left(a \cdot i - z \cdot c\right) \cdot b + \left(\left(y \cdot \left(x \cdot z\right) - t \cdot \color{blue}{{\left(x \cdot a\right)}^{1}}\right) + j \cdot \left(t \cdot c - i \cdot y\right)\right)\]
    9. Applied pow19.2

      \[\leadsto \left(a \cdot i - z \cdot c\right) \cdot b + \left(\left(y \cdot \left(x \cdot z\right) - \color{blue}{{t}^{1}} \cdot {\left(x \cdot a\right)}^{1}\right) + j \cdot \left(t \cdot c - i \cdot y\right)\right)\]
    10. Applied pow-prod-down9.2

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

      \[\leadsto \left(a \cdot i - z \cdot c\right) \cdot b + \left(\left(y \cdot \left(x \cdot z\right) - {\color{blue}{\left(\left(x \cdot t\right) \cdot a\right)}}^{1}\right) + j \cdot \left(t \cdot c - i \cdot y\right)\right)\]
    12. Using strategy rm
    13. Applied sub-neg9.4

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

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

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

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

    if -6.389942398473198e+30 < b < 1.002984371457372e-214

    1. Initial program 15.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. Simplified15.7

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

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

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

    if 1.002984371457372e-214 < b < 5.22056311689387e-121 or 2.691655876310627e+16 < b

    1. Initial program 9.6

      \[\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. Simplified9.6

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

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

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

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

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

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

      \[\leadsto \left(a \cdot i - z \cdot c\right) \cdot b + \left(\left(y \cdot \left(x \cdot z\right) - t \cdot \left(x \cdot a\right)\right) + \left(\left(t \cdot j\right) \cdot c + \color{blue}{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}\;b \le -6389942398473198090210217295872:\\ \;\;\;\;\left(a \cdot i - c \cdot z\right) \cdot b + \left(\left(y \cdot \left(x \cdot z\right) - a \cdot \left(t \cdot x\right)\right) + \left(\left(y \cdot i\right) \cdot \left(-j\right) + \left(t \cdot j\right) \cdot c\right)\right)\\ \mathbf{elif}\;b \le 1.002984371457371897530186849635221170932 \cdot 10^{-214}:\\ \;\;\;\;\left(a \cdot \left(i \cdot b\right) - \left(b \cdot z\right) \cdot c\right) + \left(\left(y \cdot z - t \cdot a\right) \cdot x + \left(t \cdot c - y \cdot i\right) \cdot j\right)\\ \mathbf{elif}\;b \le 5.220563116893869664129944069723770605172 \cdot 10^{-121} \lor \neg \left(b \le 26916558763106272\right):\\ \;\;\;\;\left(\left(\left(-i\right) \cdot \left(j \cdot y\right) + \left(t \cdot j\right) \cdot c\right) + \left(y \cdot \left(x \cdot z\right) - \left(x \cdot a\right) \cdot t\right)\right) + \left(a \cdot i - c \cdot z\right) \cdot b\\ \mathbf{else}:\\ \;\;\;\;\left(a \cdot i - c \cdot z\right) \cdot b + \left(\left(y \cdot \left(x \cdot z\right) - a \cdot \left(t \cdot x\right)\right) + \left(\left(y \cdot i\right) \cdot \left(-j\right) + \left(t \cdot j\right) \cdot c\right)\right)\\ \end{array}\]

Reproduce

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