\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}\;y \le -5.048662660641097209172817181683536345471 \cdot 10^{63}:\\
\;\;\;\;\left(\left(\left(\left(\left(x \cdot y - z \cdot t\right) \cdot \left(a \cdot b - c \cdot i\right) - \left(k \cdot \left(i \cdot \left(z \cdot y1\right)\right) - \left(i \cdot \left(j \cdot \left(y1 \cdot x\right)\right) + y0 \cdot \left(z \cdot \left(k \cdot b\right)\right)\right)\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)\\
\mathbf{elif}\;y \le -2.700419640437994109127298961331956246595 \cdot 10^{-144}:\\
\;\;\;\;\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(y0 \cdot \left(y3 \cdot \left(j \cdot y5\right) - y2 \cdot \left(k \cdot y5\right)\right) - y1 \cdot \left(y3 \cdot \left(j \cdot y4\right)\right)\right)\\
\mathbf{elif}\;y \le -7.125494913478496202639042530559237478427 \cdot 10^{-209}:\\
\;\;\;\;\left(\left(\left(\left(\left(x \cdot y - z \cdot t\right) \cdot \left(a \cdot b - c \cdot i\right) - \left(k \cdot \left(i \cdot \left(z \cdot y1\right)\right) - \left(i \cdot \left(j \cdot \left(y1 \cdot x\right)\right) + y0 \cdot \left(z \cdot \left(k \cdot b\right)\right)\right)\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)\\
\mathbf{elif}\;y \le 1.292892001555813278581179254722571342485 \cdot 10^{-51}:\\
\;\;\;\;\left(\left(\left(\left(\left(t \cdot \left(i \cdot \left(z \cdot c\right)\right) - \left(i \cdot \left(c \cdot \left(y \cdot x\right)\right) + a \cdot \left(t \cdot \left(z \cdot b\right)\right)\right)\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(\left(k \cdot y2 - j \cdot y3\right) \cdot \left(y4 \cdot y1\right) + \left(k \cdot y2 - j \cdot y3\right) \cdot \left(-y5 \cdot y0\right)\right)\\
\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) + \left(y0 \cdot \left(y3 \cdot \left(j \cdot y5\right) - y2 \cdot \left(k \cdot y5\right)\right) - y1 \cdot \left(y3 \cdot \left(j \cdot y4\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 r125187 = x;
double r125188 = y;
double r125189 = r125187 * r125188;
double r125190 = z;
double r125191 = t;
double r125192 = r125190 * r125191;
double r125193 = r125189 - r125192;
double r125194 = a;
double r125195 = b;
double r125196 = r125194 * r125195;
double r125197 = c;
double r125198 = i;
double r125199 = r125197 * r125198;
double r125200 = r125196 - r125199;
double r125201 = r125193 * r125200;
double r125202 = j;
double r125203 = r125187 * r125202;
double r125204 = k;
double r125205 = r125190 * r125204;
double r125206 = r125203 - r125205;
double r125207 = y0;
double r125208 = r125207 * r125195;
double r125209 = y1;
double r125210 = r125209 * r125198;
double r125211 = r125208 - r125210;
double r125212 = r125206 * r125211;
double r125213 = r125201 - r125212;
double r125214 = y2;
double r125215 = r125187 * r125214;
double r125216 = y3;
double r125217 = r125190 * r125216;
double r125218 = r125215 - r125217;
double r125219 = r125207 * r125197;
double r125220 = r125209 * r125194;
double r125221 = r125219 - r125220;
double r125222 = r125218 * r125221;
double r125223 = r125213 + r125222;
double r125224 = r125191 * r125202;
double r125225 = r125188 * r125204;
double r125226 = r125224 - r125225;
double r125227 = y4;
double r125228 = r125227 * r125195;
double r125229 = y5;
double r125230 = r125229 * r125198;
double r125231 = r125228 - r125230;
double r125232 = r125226 * r125231;
double r125233 = r125223 + r125232;
double r125234 = r125191 * r125214;
double r125235 = r125188 * r125216;
double r125236 = r125234 - r125235;
double r125237 = r125227 * r125197;
double r125238 = r125229 * r125194;
double r125239 = r125237 - r125238;
double r125240 = r125236 * r125239;
double r125241 = r125233 - r125240;
double r125242 = r125204 * r125214;
double r125243 = r125202 * r125216;
double r125244 = r125242 - r125243;
double r125245 = r125227 * r125209;
double r125246 = r125229 * r125207;
double r125247 = r125245 - r125246;
double r125248 = r125244 * r125247;
double r125249 = r125241 + r125248;
return r125249;
}
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 r125250 = y;
double r125251 = -5.048662660641097e+63;
bool r125252 = r125250 <= r125251;
double r125253 = x;
double r125254 = r125253 * r125250;
double r125255 = z;
double r125256 = t;
double r125257 = r125255 * r125256;
double r125258 = r125254 - r125257;
double r125259 = a;
double r125260 = b;
double r125261 = r125259 * r125260;
double r125262 = c;
double r125263 = i;
double r125264 = r125262 * r125263;
double r125265 = r125261 - r125264;
double r125266 = r125258 * r125265;
double r125267 = k;
double r125268 = y1;
double r125269 = r125255 * r125268;
double r125270 = r125263 * r125269;
double r125271 = r125267 * r125270;
double r125272 = j;
double r125273 = r125268 * r125253;
double r125274 = r125272 * r125273;
double r125275 = r125263 * r125274;
double r125276 = y0;
double r125277 = r125267 * r125260;
double r125278 = r125255 * r125277;
double r125279 = r125276 * r125278;
double r125280 = r125275 + r125279;
double r125281 = r125271 - r125280;
double r125282 = r125266 - r125281;
double r125283 = y2;
double r125284 = r125253 * r125283;
double r125285 = y3;
double r125286 = r125255 * r125285;
double r125287 = r125284 - r125286;
double r125288 = r125276 * r125262;
double r125289 = r125268 * r125259;
double r125290 = r125288 - r125289;
double r125291 = r125287 * r125290;
double r125292 = r125282 + r125291;
double r125293 = r125256 * r125272;
double r125294 = r125250 * r125267;
double r125295 = r125293 - r125294;
double r125296 = y4;
double r125297 = r125296 * r125260;
double r125298 = y5;
double r125299 = r125298 * r125263;
double r125300 = r125297 - r125299;
double r125301 = r125295 * r125300;
double r125302 = r125292 + r125301;
double r125303 = r125256 * r125283;
double r125304 = r125250 * r125285;
double r125305 = r125303 - r125304;
double r125306 = r125296 * r125262;
double r125307 = r125298 * r125259;
double r125308 = r125306 - r125307;
double r125309 = r125305 * r125308;
double r125310 = r125302 - r125309;
double r125311 = r125267 * r125283;
double r125312 = r125272 * r125285;
double r125313 = r125311 - r125312;
double r125314 = r125296 * r125268;
double r125315 = r125298 * r125276;
double r125316 = r125314 - r125315;
double r125317 = r125313 * r125316;
double r125318 = r125310 + r125317;
double r125319 = -2.700419640437994e-144;
bool r125320 = r125250 <= r125319;
double r125321 = r125253 * r125272;
double r125322 = r125255 * r125267;
double r125323 = r125321 - r125322;
double r125324 = r125276 * r125260;
double r125325 = r125268 * r125263;
double r125326 = r125324 - r125325;
double r125327 = r125323 * r125326;
double r125328 = r125266 - r125327;
double r125329 = r125328 + r125291;
double r125330 = r125329 + r125301;
double r125331 = r125330 - r125309;
double r125332 = r125272 * r125298;
double r125333 = r125285 * r125332;
double r125334 = r125267 * r125298;
double r125335 = r125283 * r125334;
double r125336 = r125333 - r125335;
double r125337 = r125276 * r125336;
double r125338 = r125272 * r125296;
double r125339 = r125285 * r125338;
double r125340 = r125268 * r125339;
double r125341 = r125337 - r125340;
double r125342 = r125331 + r125341;
double r125343 = -7.125494913478496e-209;
bool r125344 = r125250 <= r125343;
double r125345 = 1.2928920015558133e-51;
bool r125346 = r125250 <= r125345;
double r125347 = r125255 * r125262;
double r125348 = r125263 * r125347;
double r125349 = r125256 * r125348;
double r125350 = r125250 * r125253;
double r125351 = r125262 * r125350;
double r125352 = r125263 * r125351;
double r125353 = r125255 * r125260;
double r125354 = r125256 * r125353;
double r125355 = r125259 * r125354;
double r125356 = r125352 + r125355;
double r125357 = r125349 - r125356;
double r125358 = r125357 - r125327;
double r125359 = r125358 + r125291;
double r125360 = r125359 + r125301;
double r125361 = r125360 - r125309;
double r125362 = r125313 * r125314;
double r125363 = -r125315;
double r125364 = r125313 * r125363;
double r125365 = r125362 + r125364;
double r125366 = r125361 + r125365;
double r125367 = r125346 ? r125366 : r125342;
double r125368 = r125344 ? r125318 : r125367;
double r125369 = r125320 ? r125342 : r125368;
double r125370 = r125252 ? r125318 : r125369;
return r125370;
}



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
Results
if y < -5.048662660641097e+63 or -2.700419640437994e-144 < y < -7.125494913478496e-209Initial program 29.0
Taylor expanded around inf 31.4
if -5.048662660641097e+63 < y < -2.700419640437994e-144 or 1.2928920015558133e-51 < y Initial program 26.1
Taylor expanded around inf 28.2
Simplified28.2
if -7.125494913478496e-209 < y < 1.2928920015558133e-51Initial program 26.9
rmApplied sub-neg26.9
Applied distribute-lft-in26.9
Taylor expanded around inf 28.0
Final simplification28.7
herbie shell --seed 2019323
(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)))))