\left(\left(\left(\left(\left(\left(x \cdot 18.0\right) \cdot y\right) \cdot z\right) \cdot t - \left(a \cdot 4.0\right) \cdot t\right) + b \cdot c\right) - \left(x \cdot 4.0\right) \cdot i\right) - \left(j \cdot 27.0\right) \cdot k
\begin{array}{l}
\mathbf{if}\;\left(\left(t \cdot \left(\left(\left(x \cdot 18.0\right) \cdot y\right) \cdot z\right) - \left(a \cdot 4.0\right) \cdot t\right) + c \cdot b\right) - \left(x \cdot 4.0\right) \cdot i = -\infty:\\
\;\;\;\;\mathsf{fma}\left(b, c, \left(\left(t \cdot x\right) \cdot \left(y \cdot 18.0\right)\right) \cdot z - \mathsf{fma}\left(4.0, \mathsf{fma}\left(t, a, x \cdot i\right), 27.0 \cdot \left(k \cdot j\right)\right)\right)\\
\mathbf{elif}\;\left(\left(t \cdot \left(\left(\left(x \cdot 18.0\right) \cdot y\right) \cdot z\right) - \left(a \cdot 4.0\right) \cdot t\right) + c \cdot b\right) - \left(x \cdot 4.0\right) \cdot i \le 2.403209667818115 \cdot 10^{+294}:\\
\;\;\;\;\left(\left(\left(t \cdot \left(\left(\left(x \cdot 18.0\right) \cdot y\right) \cdot z\right) - \left(a \cdot 4.0\right) \cdot t\right) + c \cdot b\right) - \left(x \cdot 4.0\right) \cdot i\right) - j \cdot \left(27.0 \cdot k\right)\\
\mathbf{else}:\\
\;\;\;\;\left(\left(c \cdot b + \left(\left(y \cdot \left(\left(z \cdot x\right) \cdot t\right)\right) \cdot 18.0 - \left(a \cdot 4.0\right) \cdot t\right)\right) - \left(x \cdot 4.0\right) \cdot i\right) - \sqrt[3]{\left(k \cdot j\right) \cdot \left(27.0 \cdot \left(\left(27.0 \cdot \left(k \cdot j\right)\right) \cdot \left(27.0 \cdot \left(k \cdot j\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 r4259355 = x;
double r4259356 = 18.0;
double r4259357 = r4259355 * r4259356;
double r4259358 = y;
double r4259359 = r4259357 * r4259358;
double r4259360 = z;
double r4259361 = r4259359 * r4259360;
double r4259362 = t;
double r4259363 = r4259361 * r4259362;
double r4259364 = a;
double r4259365 = 4.0;
double r4259366 = r4259364 * r4259365;
double r4259367 = r4259366 * r4259362;
double r4259368 = r4259363 - r4259367;
double r4259369 = b;
double r4259370 = c;
double r4259371 = r4259369 * r4259370;
double r4259372 = r4259368 + r4259371;
double r4259373 = r4259355 * r4259365;
double r4259374 = i;
double r4259375 = r4259373 * r4259374;
double r4259376 = r4259372 - r4259375;
double r4259377 = j;
double r4259378 = 27.0;
double r4259379 = r4259377 * r4259378;
double r4259380 = k;
double r4259381 = r4259379 * r4259380;
double r4259382 = r4259376 - r4259381;
return r4259382;
}
double f(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k) {
double r4259383 = t;
double r4259384 = x;
double r4259385 = 18.0;
double r4259386 = r4259384 * r4259385;
double r4259387 = y;
double r4259388 = r4259386 * r4259387;
double r4259389 = z;
double r4259390 = r4259388 * r4259389;
double r4259391 = r4259383 * r4259390;
double r4259392 = a;
double r4259393 = 4.0;
double r4259394 = r4259392 * r4259393;
double r4259395 = r4259394 * r4259383;
double r4259396 = r4259391 - r4259395;
double r4259397 = c;
double r4259398 = b;
double r4259399 = r4259397 * r4259398;
double r4259400 = r4259396 + r4259399;
double r4259401 = r4259384 * r4259393;
double r4259402 = i;
double r4259403 = r4259401 * r4259402;
double r4259404 = r4259400 - r4259403;
double r4259405 = -inf.0;
bool r4259406 = r4259404 <= r4259405;
double r4259407 = r4259383 * r4259384;
double r4259408 = r4259387 * r4259385;
double r4259409 = r4259407 * r4259408;
double r4259410 = r4259409 * r4259389;
double r4259411 = r4259384 * r4259402;
double r4259412 = fma(r4259383, r4259392, r4259411);
double r4259413 = 27.0;
double r4259414 = k;
double r4259415 = j;
double r4259416 = r4259414 * r4259415;
double r4259417 = r4259413 * r4259416;
double r4259418 = fma(r4259393, r4259412, r4259417);
double r4259419 = r4259410 - r4259418;
double r4259420 = fma(r4259398, r4259397, r4259419);
double r4259421 = 2.403209667818115e+294;
bool r4259422 = r4259404 <= r4259421;
double r4259423 = r4259413 * r4259414;
double r4259424 = r4259415 * r4259423;
double r4259425 = r4259404 - r4259424;
double r4259426 = r4259389 * r4259384;
double r4259427 = r4259426 * r4259383;
double r4259428 = r4259387 * r4259427;
double r4259429 = r4259428 * r4259385;
double r4259430 = r4259429 - r4259395;
double r4259431 = r4259399 + r4259430;
double r4259432 = r4259431 - r4259403;
double r4259433 = r4259417 * r4259417;
double r4259434 = r4259413 * r4259433;
double r4259435 = r4259416 * r4259434;
double r4259436 = cbrt(r4259435);
double r4259437 = r4259432 - r4259436;
double r4259438 = r4259422 ? r4259425 : r4259437;
double r4259439 = r4259406 ? r4259420 : r4259438;
return r4259439;
}



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
if (- (+ (- (* (* (* (* x 18.0) y) z) t) (* (* a 4.0) t)) (* b c)) (* (* x 4.0) i)) < -inf.0Initial program 60.5
Simplified12.8
if -inf.0 < (- (+ (- (* (* (* (* x 18.0) y) z) t) (* (* a 4.0) t)) (* b c)) (* (* x 4.0) i)) < 2.403209667818115e+294Initial program 0.3
rmApplied associate-*l*0.3
if 2.403209667818115e+294 < (- (+ (- (* (* (* (* x 18.0) y) z) t) (* (* a 4.0) t)) (* b c)) (* (* x 4.0) i)) Initial program 42.0
Taylor expanded around inf 27.1
rmApplied associate-*r*27.2
rmApplied associate-*r*10.2
rmApplied add-cbrt-cube21.3
Applied add-cbrt-cube21.3
Applied add-cbrt-cube34.1
Applied cbrt-unprod34.1
Applied cbrt-unprod34.5
Simplified21.9
Final simplification2.1
herbie shell --seed 2019163 +o rules:numerics
(FPCore (x y z t a b c i j k)
:name "Diagrams.Solve.Polynomial:cubForm from diagrams-solve-0.1"
(- (- (+ (- (* (* (* (* x 18.0) y) z) t) (* (* a 4.0) t)) (* b c)) (* (* x 4.0) i)) (* (* j 27.0) k)))