\left(\left(\left(\left(\left(\left(x \cdot 18\right) \cdot y\right) \cdot z\right) \cdot t - \left(a \cdot 4\right) \cdot t\right) + b \cdot c\right) - \left(x \cdot 4\right) \cdot i\right) - \left(j \cdot 27\right) \cdot k
\begin{array}{l}
\mathbf{if}\;\left(\left(\left(t \cdot \left(\left(\left(x \cdot 18\right) \cdot y\right) \cdot z\right) - \left(a \cdot 4\right) \cdot t\right) + c \cdot b\right) - \left(x \cdot 4\right) \cdot i\right) - \left(27 \cdot j\right) \cdot k = -\infty:\\
\;\;\;\;\mathsf{fma}\left(b, c, 18 \cdot \left(y \cdot \left(z \cdot \left(t \cdot x\right)\right)\right) - \mathsf{fma}\left(4, \mathsf{fma}\left(t, a, x \cdot i\right), \sqrt[3]{j} \cdot \left(\left(\sqrt[3]{j} \cdot \sqrt[3]{j}\right) \cdot \left(k \cdot 27\right)\right)\right)\right)\\
\mathbf{elif}\;\left(\left(\left(t \cdot \left(\left(\left(x \cdot 18\right) \cdot y\right) \cdot z\right) - \left(a \cdot 4\right) \cdot t\right) + c \cdot b\right) - \left(x \cdot 4\right) \cdot i\right) - \left(27 \cdot j\right) \cdot k \le 5.292429442197061463553396675246931672241 \cdot 10^{278}:\\
\;\;\;\;\left(\left(\left(t \cdot \left(\left(\left(x \cdot 18\right) \cdot y\right) \cdot z\right) - \left(a \cdot 4\right) \cdot t\right) + c \cdot b\right) - \left(x \cdot 4\right) \cdot i\right) - \left(27 \cdot j\right) \cdot k\\
\mathbf{else}:\\
\;\;\;\;\mathsf{fma}\left(b, c, 18 \cdot \left(y \cdot \left(x \cdot \left(t \cdot z\right)\right)\right) - \mathsf{fma}\left(4, \mathsf{fma}\left(t, a, x \cdot i\right), \left(k \cdot 27\right) \cdot j\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 r6001411 = x;
double r6001412 = 18.0;
double r6001413 = r6001411 * r6001412;
double r6001414 = y;
double r6001415 = r6001413 * r6001414;
double r6001416 = z;
double r6001417 = r6001415 * r6001416;
double r6001418 = t;
double r6001419 = r6001417 * r6001418;
double r6001420 = a;
double r6001421 = 4.0;
double r6001422 = r6001420 * r6001421;
double r6001423 = r6001422 * r6001418;
double r6001424 = r6001419 - r6001423;
double r6001425 = b;
double r6001426 = c;
double r6001427 = r6001425 * r6001426;
double r6001428 = r6001424 + r6001427;
double r6001429 = r6001411 * r6001421;
double r6001430 = i;
double r6001431 = r6001429 * r6001430;
double r6001432 = r6001428 - r6001431;
double r6001433 = j;
double r6001434 = 27.0;
double r6001435 = r6001433 * r6001434;
double r6001436 = k;
double r6001437 = r6001435 * r6001436;
double r6001438 = r6001432 - r6001437;
return r6001438;
}
double f(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k) {
double r6001439 = t;
double r6001440 = x;
double r6001441 = 18.0;
double r6001442 = r6001440 * r6001441;
double r6001443 = y;
double r6001444 = r6001442 * r6001443;
double r6001445 = z;
double r6001446 = r6001444 * r6001445;
double r6001447 = r6001439 * r6001446;
double r6001448 = a;
double r6001449 = 4.0;
double r6001450 = r6001448 * r6001449;
double r6001451 = r6001450 * r6001439;
double r6001452 = r6001447 - r6001451;
double r6001453 = c;
double r6001454 = b;
double r6001455 = r6001453 * r6001454;
double r6001456 = r6001452 + r6001455;
double r6001457 = r6001440 * r6001449;
double r6001458 = i;
double r6001459 = r6001457 * r6001458;
double r6001460 = r6001456 - r6001459;
double r6001461 = 27.0;
double r6001462 = j;
double r6001463 = r6001461 * r6001462;
double r6001464 = k;
double r6001465 = r6001463 * r6001464;
double r6001466 = r6001460 - r6001465;
double r6001467 = -inf.0;
bool r6001468 = r6001466 <= r6001467;
double r6001469 = r6001439 * r6001440;
double r6001470 = r6001445 * r6001469;
double r6001471 = r6001443 * r6001470;
double r6001472 = r6001441 * r6001471;
double r6001473 = r6001440 * r6001458;
double r6001474 = fma(r6001439, r6001448, r6001473);
double r6001475 = cbrt(r6001462);
double r6001476 = r6001475 * r6001475;
double r6001477 = r6001464 * r6001461;
double r6001478 = r6001476 * r6001477;
double r6001479 = r6001475 * r6001478;
double r6001480 = fma(r6001449, r6001474, r6001479);
double r6001481 = r6001472 - r6001480;
double r6001482 = fma(r6001454, r6001453, r6001481);
double r6001483 = 5.2924294421970615e+278;
bool r6001484 = r6001466 <= r6001483;
double r6001485 = r6001439 * r6001445;
double r6001486 = r6001440 * r6001485;
double r6001487 = r6001443 * r6001486;
double r6001488 = r6001441 * r6001487;
double r6001489 = r6001477 * r6001462;
double r6001490 = fma(r6001449, r6001474, r6001489);
double r6001491 = r6001488 - r6001490;
double r6001492 = fma(r6001454, r6001453, r6001491);
double r6001493 = r6001484 ? r6001466 : r6001492;
double r6001494 = r6001468 ? r6001482 : r6001493;
return r6001494;
}



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)) (* (* j 27.0) k)) < -inf.0Initial program 64.0
Simplified13.1
rmApplied associate-*r*5.0
rmApplied associate-*r*4.6
rmApplied associate-*r*4.6
rmApplied add-cube-cbrt4.7
Applied associate-*r*4.7
if -inf.0 < (- (- (+ (- (* (* (* (* x 18.0) y) z) t) (* (* a 4.0) t)) (* b c)) (* (* x 4.0) i)) (* (* j 27.0) k)) < 5.2924294421970615e+278Initial program 0.3
if 5.2924294421970615e+278 < (- (- (+ (- (* (* (* (* x 18.0) y) z) t) (* (* a 4.0) t)) (* b c)) (* (* x 4.0) i)) (* (* j 27.0) k)) Initial program 28.5
Simplified9.8
rmApplied associate-*r*6.5
rmApplied associate-*r*6.2
rmApplied associate-*r*6.3
rmApplied *-un-lft-identity6.3
Applied associate-*r*6.3
Simplified6.4
Final simplification1.0
herbie shell --seed 2019172 +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)))