Average Error: 26.3 → 26.4
Time: 3.5m
Precision: 64
\[\left(\left(\left(\left(\left(x \cdot y - z \cdot t\right) \cdot \left(a \cdot b - c \cdot i\right) - \left(x \cdot j - z \cdot k\right) \cdot \left(y0 \cdot b - y1 \cdot i\right)\right) + \left(x \cdot y2 - z \cdot y3\right) \cdot \left(y0 \cdot c - y1 \cdot a\right)\right) + \left(t \cdot j - y \cdot k\right) \cdot \left(y4 \cdot b - y5 \cdot i\right)\right) - \left(t \cdot y2 - y \cdot y3\right) \cdot \left(y4 \cdot c - y5 \cdot a\right)\right) + \left(k \cdot y2 - j \cdot y3\right) \cdot \left(y4 \cdot y1 - y5 \cdot y0\right)\]
\[\left(\left(\left(t \cdot j - k \cdot y\right) \cdot \left(b \cdot y4 - y5 \cdot i\right) + \left(\left(\left(a \cdot b - c \cdot i\right) \cdot \left(x \cdot y - z \cdot t\right) - \left(y0 \cdot b - i \cdot y1\right) \cdot \left(j \cdot x - z \cdot k\right)\right) + \left(y2 \cdot x - z \cdot y3\right) \cdot \left(y0 \cdot c - y1 \cdot a\right)\right)\right) - \left(y2 \cdot t - y \cdot y3\right) \cdot \left(c \cdot y4 - a \cdot y5\right)\right) + \left(\sqrt[3]{\left(y4 \cdot y1 - y0 \cdot y5\right) \cdot \left(y2 \cdot k - j \cdot y3\right)} \cdot \sqrt[3]{\left(y4 \cdot y1 - y0 \cdot y5\right) \cdot \left(y2 \cdot k - j \cdot y3\right)}\right) \cdot \sqrt[3]{\left(y4 \cdot y1 - y0 \cdot y5\right) \cdot \left(y2 \cdot k - j \cdot y3\right)}\]
\left(\left(\left(\left(\left(x \cdot y - z \cdot t\right) \cdot \left(a \cdot b - c \cdot i\right) - \left(x \cdot j - z \cdot k\right) \cdot \left(y0 \cdot b - y1 \cdot i\right)\right) + \left(x \cdot y2 - z \cdot y3\right) \cdot \left(y0 \cdot c - y1 \cdot a\right)\right) + \left(t \cdot j - y \cdot k\right) \cdot \left(y4 \cdot b - y5 \cdot i\right)\right) - \left(t \cdot y2 - y \cdot y3\right) \cdot \left(y4 \cdot c - y5 \cdot a\right)\right) + \left(k \cdot y2 - j \cdot y3\right) \cdot \left(y4 \cdot y1 - y5 \cdot y0\right)
\left(\left(\left(t \cdot j - k \cdot y\right) \cdot \left(b \cdot y4 - y5 \cdot i\right) + \left(\left(\left(a \cdot b - c \cdot i\right) \cdot \left(x \cdot y - z \cdot t\right) - \left(y0 \cdot b - i \cdot y1\right) \cdot \left(j \cdot x - z \cdot k\right)\right) + \left(y2 \cdot x - z \cdot y3\right) \cdot \left(y0 \cdot c - y1 \cdot a\right)\right)\right) - \left(y2 \cdot t - y \cdot y3\right) \cdot \left(c \cdot y4 - a \cdot y5\right)\right) + \left(\sqrt[3]{\left(y4 \cdot y1 - y0 \cdot y5\right) \cdot \left(y2 \cdot k - j \cdot y3\right)} \cdot \sqrt[3]{\left(y4 \cdot y1 - y0 \cdot y5\right) \cdot \left(y2 \cdot k - j \cdot y3\right)}\right) \cdot \sqrt[3]{\left(y4 \cdot y1 - y0 \cdot y5\right) \cdot \left(y2 \cdot k - j \cdot y3\right)}
double f(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k, double y0, double y1, double y2, double y3, double y4, double y5) {
        double r32808278 = x;
        double r32808279 = y;
        double r32808280 = r32808278 * r32808279;
        double r32808281 = z;
        double r32808282 = t;
        double r32808283 = r32808281 * r32808282;
        double r32808284 = r32808280 - r32808283;
        double r32808285 = a;
        double r32808286 = b;
        double r32808287 = r32808285 * r32808286;
        double r32808288 = c;
        double r32808289 = i;
        double r32808290 = r32808288 * r32808289;
        double r32808291 = r32808287 - r32808290;
        double r32808292 = r32808284 * r32808291;
        double r32808293 = j;
        double r32808294 = r32808278 * r32808293;
        double r32808295 = k;
        double r32808296 = r32808281 * r32808295;
        double r32808297 = r32808294 - r32808296;
        double r32808298 = y0;
        double r32808299 = r32808298 * r32808286;
        double r32808300 = y1;
        double r32808301 = r32808300 * r32808289;
        double r32808302 = r32808299 - r32808301;
        double r32808303 = r32808297 * r32808302;
        double r32808304 = r32808292 - r32808303;
        double r32808305 = y2;
        double r32808306 = r32808278 * r32808305;
        double r32808307 = y3;
        double r32808308 = r32808281 * r32808307;
        double r32808309 = r32808306 - r32808308;
        double r32808310 = r32808298 * r32808288;
        double r32808311 = r32808300 * r32808285;
        double r32808312 = r32808310 - r32808311;
        double r32808313 = r32808309 * r32808312;
        double r32808314 = r32808304 + r32808313;
        double r32808315 = r32808282 * r32808293;
        double r32808316 = r32808279 * r32808295;
        double r32808317 = r32808315 - r32808316;
        double r32808318 = y4;
        double r32808319 = r32808318 * r32808286;
        double r32808320 = y5;
        double r32808321 = r32808320 * r32808289;
        double r32808322 = r32808319 - r32808321;
        double r32808323 = r32808317 * r32808322;
        double r32808324 = r32808314 + r32808323;
        double r32808325 = r32808282 * r32808305;
        double r32808326 = r32808279 * r32808307;
        double r32808327 = r32808325 - r32808326;
        double r32808328 = r32808318 * r32808288;
        double r32808329 = r32808320 * r32808285;
        double r32808330 = r32808328 - r32808329;
        double r32808331 = r32808327 * r32808330;
        double r32808332 = r32808324 - r32808331;
        double r32808333 = r32808295 * r32808305;
        double r32808334 = r32808293 * r32808307;
        double r32808335 = r32808333 - r32808334;
        double r32808336 = r32808318 * r32808300;
        double r32808337 = r32808320 * r32808298;
        double r32808338 = r32808336 - r32808337;
        double r32808339 = r32808335 * r32808338;
        double r32808340 = r32808332 + r32808339;
        return r32808340;
}

double f(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k, double y0, double y1, double y2, double y3, double y4, double y5) {
        double r32808341 = t;
        double r32808342 = j;
        double r32808343 = r32808341 * r32808342;
        double r32808344 = k;
        double r32808345 = y;
        double r32808346 = r32808344 * r32808345;
        double r32808347 = r32808343 - r32808346;
        double r32808348 = b;
        double r32808349 = y4;
        double r32808350 = r32808348 * r32808349;
        double r32808351 = y5;
        double r32808352 = i;
        double r32808353 = r32808351 * r32808352;
        double r32808354 = r32808350 - r32808353;
        double r32808355 = r32808347 * r32808354;
        double r32808356 = a;
        double r32808357 = r32808356 * r32808348;
        double r32808358 = c;
        double r32808359 = r32808358 * r32808352;
        double r32808360 = r32808357 - r32808359;
        double r32808361 = x;
        double r32808362 = r32808361 * r32808345;
        double r32808363 = z;
        double r32808364 = r32808363 * r32808341;
        double r32808365 = r32808362 - r32808364;
        double r32808366 = r32808360 * r32808365;
        double r32808367 = y0;
        double r32808368 = r32808367 * r32808348;
        double r32808369 = y1;
        double r32808370 = r32808352 * r32808369;
        double r32808371 = r32808368 - r32808370;
        double r32808372 = r32808342 * r32808361;
        double r32808373 = r32808363 * r32808344;
        double r32808374 = r32808372 - r32808373;
        double r32808375 = r32808371 * r32808374;
        double r32808376 = r32808366 - r32808375;
        double r32808377 = y2;
        double r32808378 = r32808377 * r32808361;
        double r32808379 = y3;
        double r32808380 = r32808363 * r32808379;
        double r32808381 = r32808378 - r32808380;
        double r32808382 = r32808367 * r32808358;
        double r32808383 = r32808369 * r32808356;
        double r32808384 = r32808382 - r32808383;
        double r32808385 = r32808381 * r32808384;
        double r32808386 = r32808376 + r32808385;
        double r32808387 = r32808355 + r32808386;
        double r32808388 = r32808377 * r32808341;
        double r32808389 = r32808345 * r32808379;
        double r32808390 = r32808388 - r32808389;
        double r32808391 = r32808358 * r32808349;
        double r32808392 = r32808356 * r32808351;
        double r32808393 = r32808391 - r32808392;
        double r32808394 = r32808390 * r32808393;
        double r32808395 = r32808387 - r32808394;
        double r32808396 = r32808349 * r32808369;
        double r32808397 = r32808367 * r32808351;
        double r32808398 = r32808396 - r32808397;
        double r32808399 = r32808377 * r32808344;
        double r32808400 = r32808342 * r32808379;
        double r32808401 = r32808399 - r32808400;
        double r32808402 = r32808398 * r32808401;
        double r32808403 = cbrt(r32808402);
        double r32808404 = r32808403 * r32808403;
        double r32808405 = r32808404 * r32808403;
        double r32808406 = r32808395 + r32808405;
        return r32808406;
}

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

Bits error versus k

Bits error versus y0

Bits error versus y1

Bits error versus y2

Bits error versus y3

Bits error versus y4

Bits error versus y5

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 26.3

    \[\left(\left(\left(\left(\left(x \cdot y - z \cdot t\right) \cdot \left(a \cdot b - c \cdot i\right) - \left(x \cdot j - z \cdot k\right) \cdot \left(y0 \cdot b - y1 \cdot i\right)\right) + \left(x \cdot y2 - z \cdot y3\right) \cdot \left(y0 \cdot c - y1 \cdot a\right)\right) + \left(t \cdot j - y \cdot k\right) \cdot \left(y4 \cdot b - y5 \cdot i\right)\right) - \left(t \cdot y2 - y \cdot y3\right) \cdot \left(y4 \cdot c - y5 \cdot a\right)\right) + \left(k \cdot y2 - j \cdot y3\right) \cdot \left(y4 \cdot y1 - y5 \cdot y0\right)\]
  2. Using strategy rm
  3. Applied add-cube-cbrt26.4

    \[\leadsto \left(\left(\left(\left(\left(x \cdot y - z \cdot t\right) \cdot \left(a \cdot b - c \cdot i\right) - \left(x \cdot j - z \cdot k\right) \cdot \left(y0 \cdot b - y1 \cdot i\right)\right) + \left(x \cdot y2 - z \cdot y3\right) \cdot \left(y0 \cdot c - y1 \cdot a\right)\right) + \left(t \cdot j - y \cdot k\right) \cdot \left(y4 \cdot b - y5 \cdot i\right)\right) - \left(t \cdot y2 - y \cdot y3\right) \cdot \left(y4 \cdot c - y5 \cdot a\right)\right) + \color{blue}{\left(\sqrt[3]{\left(k \cdot y2 - j \cdot y3\right) \cdot \left(y4 \cdot y1 - y5 \cdot y0\right)} \cdot \sqrt[3]{\left(k \cdot y2 - j \cdot y3\right) \cdot \left(y4 \cdot y1 - y5 \cdot y0\right)}\right) \cdot \sqrt[3]{\left(k \cdot y2 - j \cdot y3\right) \cdot \left(y4 \cdot y1 - y5 \cdot y0\right)}}\]
  4. Final simplification26.4

    \[\leadsto \left(\left(\left(t \cdot j - k \cdot y\right) \cdot \left(b \cdot y4 - y5 \cdot i\right) + \left(\left(\left(a \cdot b - c \cdot i\right) \cdot \left(x \cdot y - z \cdot t\right) - \left(y0 \cdot b - i \cdot y1\right) \cdot \left(j \cdot x - z \cdot k\right)\right) + \left(y2 \cdot x - z \cdot y3\right) \cdot \left(y0 \cdot c - y1 \cdot a\right)\right)\right) - \left(y2 \cdot t - y \cdot y3\right) \cdot \left(c \cdot y4 - a \cdot y5\right)\right) + \left(\sqrt[3]{\left(y4 \cdot y1 - y0 \cdot y5\right) \cdot \left(y2 \cdot k - j \cdot y3\right)} \cdot \sqrt[3]{\left(y4 \cdot y1 - y0 \cdot y5\right) \cdot \left(y2 \cdot k - j \cdot y3\right)}\right) \cdot \sqrt[3]{\left(y4 \cdot y1 - y0 \cdot y5\right) \cdot \left(y2 \cdot k - j \cdot y3\right)}\]

Reproduce

herbie shell --seed 2019124 +o rules:numerics
(FPCore (x y z t a b c i j k y0 y1 y2 y3 y4 y5)
  :name "Linear.Matrix:det44 from linear-1.19.1.3"
  (+ (- (+ (+ (- (* (- (* x y) (* z t)) (- (* a b) (* c i))) (* (- (* x j) (* z k)) (- (* y0 b) (* y1 i)))) (* (- (* x y2) (* z y3)) (- (* y0 c) (* y1 a)))) (* (- (* t j) (* y k)) (- (* y4 b) (* y5 i)))) (* (- (* t y2) (* y y3)) (- (* y4 c) (* y5 a)))) (* (- (* k y2) (* j y3)) (- (* y4 y1) (* y5 y0)))))