\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)
\begin{array}{l}
\mathbf{if}\;y0 \le -5.491209746310479243911953043107916795698 \cdot 10^{-87}:\\
\;\;\;\;\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) + \mathsf{fma}\left(y0, y3 \cdot \left(j \cdot y5\right), -\mathsf{fma}\left(y0, y2 \cdot \left(k \cdot y5\right), y1 \cdot \left(y3 \cdot \left(j \cdot y4\right)\right)\right)\right)\\
\mathbf{elif}\;y0 \le -5.930087093633848733827530546660597620228 \cdot 10^{-132}:\\
\;\;\;\;\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) - \mathsf{fma}\left(a, y3 \cdot \left(y \cdot y5\right), -\mathsf{fma}\left(y, y3 \cdot \left(y4 \cdot c\right), y5 \cdot \left(a \cdot \left(y2 \cdot t\right)\right)\right)\right)\right) + \left(k \cdot y2 - j \cdot y3\right) \cdot \left(y4 \cdot y1 - y5 \cdot y0\right)\\
\mathbf{elif}\;y0 \le 7213927107.58885097503662109375:\\
\;\;\;\;\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(\sqrt[3]{\left(k \cdot y2 - j \cdot y3\right) \cdot \left(y4 \cdot y1 - y5 \cdot y0\right)} \cdot \sqrt[3]{\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)}}\right) \cdot \sqrt[3]{\left(\left(k \cdot y2 - j \cdot y3\right) \cdot \left(\sqrt[3]{y4 \cdot y1 - y5 \cdot y0} \cdot \sqrt[3]{y4 \cdot y1 - y5 \cdot y0}\right)\right) \cdot \sqrt[3]{y4 \cdot y1 - y5 \cdot y0}}\\
\mathbf{else}:\\
\;\;\;\;\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) + \mathsf{fma}\left(y0, y3 \cdot \left(j \cdot y5\right), -\mathsf{fma}\left(y0, y2 \cdot \left(k \cdot y5\right), y1 \cdot \left(y3 \cdot \left(j \cdot y4\right)\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 k, double y0, double y1, double y2, double y3, double y4, double y5) {
double r151167 = x;
double r151168 = y;
double r151169 = r151167 * r151168;
double r151170 = z;
double r151171 = t;
double r151172 = r151170 * r151171;
double r151173 = r151169 - r151172;
double r151174 = a;
double r151175 = b;
double r151176 = r151174 * r151175;
double r151177 = c;
double r151178 = i;
double r151179 = r151177 * r151178;
double r151180 = r151176 - r151179;
double r151181 = r151173 * r151180;
double r151182 = j;
double r151183 = r151167 * r151182;
double r151184 = k;
double r151185 = r151170 * r151184;
double r151186 = r151183 - r151185;
double r151187 = y0;
double r151188 = r151187 * r151175;
double r151189 = y1;
double r151190 = r151189 * r151178;
double r151191 = r151188 - r151190;
double r151192 = r151186 * r151191;
double r151193 = r151181 - r151192;
double r151194 = y2;
double r151195 = r151167 * r151194;
double r151196 = y3;
double r151197 = r151170 * r151196;
double r151198 = r151195 - r151197;
double r151199 = r151187 * r151177;
double r151200 = r151189 * r151174;
double r151201 = r151199 - r151200;
double r151202 = r151198 * r151201;
double r151203 = r151193 + r151202;
double r151204 = r151171 * r151182;
double r151205 = r151168 * r151184;
double r151206 = r151204 - r151205;
double r151207 = y4;
double r151208 = r151207 * r151175;
double r151209 = y5;
double r151210 = r151209 * r151178;
double r151211 = r151208 - r151210;
double r151212 = r151206 * r151211;
double r151213 = r151203 + r151212;
double r151214 = r151171 * r151194;
double r151215 = r151168 * r151196;
double r151216 = r151214 - r151215;
double r151217 = r151207 * r151177;
double r151218 = r151209 * r151174;
double r151219 = r151217 - r151218;
double r151220 = r151216 * r151219;
double r151221 = r151213 - r151220;
double r151222 = r151184 * r151194;
double r151223 = r151182 * r151196;
double r151224 = r151222 - r151223;
double r151225 = r151207 * r151189;
double r151226 = r151209 * r151187;
double r151227 = r151225 - r151226;
double r151228 = r151224 * r151227;
double r151229 = r151221 + r151228;
return r151229;
}
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 r151230 = y0;
double r151231 = -5.491209746310479e-87;
bool r151232 = r151230 <= r151231;
double r151233 = x;
double r151234 = y;
double r151235 = r151233 * r151234;
double r151236 = z;
double r151237 = t;
double r151238 = r151236 * r151237;
double r151239 = r151235 - r151238;
double r151240 = a;
double r151241 = b;
double r151242 = r151240 * r151241;
double r151243 = c;
double r151244 = i;
double r151245 = r151243 * r151244;
double r151246 = r151242 - r151245;
double r151247 = r151239 * r151246;
double r151248 = j;
double r151249 = r151233 * r151248;
double r151250 = k;
double r151251 = r151236 * r151250;
double r151252 = r151249 - r151251;
double r151253 = r151230 * r151241;
double r151254 = y1;
double r151255 = r151254 * r151244;
double r151256 = r151253 - r151255;
double r151257 = r151252 * r151256;
double r151258 = r151247 - r151257;
double r151259 = y2;
double r151260 = r151233 * r151259;
double r151261 = y3;
double r151262 = r151236 * r151261;
double r151263 = r151260 - r151262;
double r151264 = r151230 * r151243;
double r151265 = r151254 * r151240;
double r151266 = r151264 - r151265;
double r151267 = r151263 * r151266;
double r151268 = r151258 + r151267;
double r151269 = r151237 * r151248;
double r151270 = r151234 * r151250;
double r151271 = r151269 - r151270;
double r151272 = y4;
double r151273 = r151272 * r151241;
double r151274 = y5;
double r151275 = r151274 * r151244;
double r151276 = r151273 - r151275;
double r151277 = r151271 * r151276;
double r151278 = r151268 + r151277;
double r151279 = r151237 * r151259;
double r151280 = r151234 * r151261;
double r151281 = r151279 - r151280;
double r151282 = r151272 * r151243;
double r151283 = r151274 * r151240;
double r151284 = r151282 - r151283;
double r151285 = r151281 * r151284;
double r151286 = r151278 - r151285;
double r151287 = r151248 * r151274;
double r151288 = r151261 * r151287;
double r151289 = r151250 * r151274;
double r151290 = r151259 * r151289;
double r151291 = r151248 * r151272;
double r151292 = r151261 * r151291;
double r151293 = r151254 * r151292;
double r151294 = fma(r151230, r151290, r151293);
double r151295 = -r151294;
double r151296 = fma(r151230, r151288, r151295);
double r151297 = r151286 + r151296;
double r151298 = -5.930087093633849e-132;
bool r151299 = r151230 <= r151298;
double r151300 = r151234 * r151274;
double r151301 = r151261 * r151300;
double r151302 = r151261 * r151282;
double r151303 = r151259 * r151237;
double r151304 = r151240 * r151303;
double r151305 = r151274 * r151304;
double r151306 = fma(r151234, r151302, r151305);
double r151307 = -r151306;
double r151308 = fma(r151240, r151301, r151307);
double r151309 = r151278 - r151308;
double r151310 = r151250 * r151259;
double r151311 = r151248 * r151261;
double r151312 = r151310 - r151311;
double r151313 = r151272 * r151254;
double r151314 = r151274 * r151230;
double r151315 = r151313 - r151314;
double r151316 = r151312 * r151315;
double r151317 = r151309 + r151316;
double r151318 = 7213927107.588851;
bool r151319 = r151230 <= r151318;
double r151320 = cbrt(r151316);
double r151321 = r151320 * r151320;
double r151322 = r151321 * r151320;
double r151323 = cbrt(r151322);
double r151324 = r151320 * r151323;
double r151325 = cbrt(r151315);
double r151326 = r151325 * r151325;
double r151327 = r151312 * r151326;
double r151328 = r151327 * r151325;
double r151329 = cbrt(r151328);
double r151330 = r151324 * r151329;
double r151331 = r151286 + r151330;
double r151332 = r151319 ? r151331 : r151297;
double r151333 = r151299 ? r151317 : r151332;
double r151334 = r151232 ? r151297 : r151333;
return r151334;
}



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
if y0 < -5.491209746310479e-87 or 7213927107.588851 < y0 Initial program 27.5
Taylor expanded around inf 27.5
Simplified27.5
if -5.491209746310479e-87 < y0 < -5.930087093633849e-132Initial program 27.2
Taylor expanded around inf 30.1
Simplified30.1
if -5.930087093633849e-132 < y0 < 7213927107.588851Initial program 26.7
rmApplied add-cube-cbrt26.8
rmApplied add-cube-cbrt26.8
Applied associate-*r*26.8
rmApplied add-cube-cbrt26.8
Final simplification27.3
herbie shell --seed 2020002 +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"
:precision binary64
(+ (- (+ (+ (- (* (- (* 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)))))