\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}\;t \le -1.036775871972911749699325479966497352254 \cdot 10^{-16}:\\
\;\;\;\;\left(\left(\left(\left(\left(x \cdot 18\right) \cdot \left(y \cdot z\right)\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\\
\mathbf{elif}\;t \le 1.532489333056134866631301001282850563412 \cdot 10^{-52}:\\
\;\;\;\;\left(\left(\left(\left(x \cdot 18\right) \cdot \left(\left(\sqrt[3]{y \cdot \left(z \cdot t\right)} \cdot \sqrt[3]{y \cdot \left(z \cdot t\right)}\right) \cdot \sqrt[3]{y \cdot \left(z \cdot t\right)}\right) - \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\\
\mathbf{else}:\\
\;\;\;\;t \cdot \left(\left(\left(x \cdot 18\right) \cdot y\right) \cdot z - a \cdot 4\right) + \left(b \cdot c - \left(\left(x \cdot 4\right) \cdot i + \left(j \cdot 27\right) \cdot k\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 r180413 = x;
double r180414 = 18.0;
double r180415 = r180413 * r180414;
double r180416 = y;
double r180417 = r180415 * r180416;
double r180418 = z;
double r180419 = r180417 * r180418;
double r180420 = t;
double r180421 = r180419 * r180420;
double r180422 = a;
double r180423 = 4.0;
double r180424 = r180422 * r180423;
double r180425 = r180424 * r180420;
double r180426 = r180421 - r180425;
double r180427 = b;
double r180428 = c;
double r180429 = r180427 * r180428;
double r180430 = r180426 + r180429;
double r180431 = r180413 * r180423;
double r180432 = i;
double r180433 = r180431 * r180432;
double r180434 = r180430 - r180433;
double r180435 = j;
double r180436 = 27.0;
double r180437 = r180435 * r180436;
double r180438 = k;
double r180439 = r180437 * r180438;
double r180440 = r180434 - r180439;
return r180440;
}
double f(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k) {
double r180441 = t;
double r180442 = -1.0367758719729117e-16;
bool r180443 = r180441 <= r180442;
double r180444 = x;
double r180445 = 18.0;
double r180446 = r180444 * r180445;
double r180447 = y;
double r180448 = z;
double r180449 = r180447 * r180448;
double r180450 = r180446 * r180449;
double r180451 = r180450 * r180441;
double r180452 = a;
double r180453 = 4.0;
double r180454 = r180452 * r180453;
double r180455 = r180454 * r180441;
double r180456 = r180451 - r180455;
double r180457 = b;
double r180458 = c;
double r180459 = r180457 * r180458;
double r180460 = r180456 + r180459;
double r180461 = r180444 * r180453;
double r180462 = i;
double r180463 = r180461 * r180462;
double r180464 = r180460 - r180463;
double r180465 = j;
double r180466 = 27.0;
double r180467 = r180465 * r180466;
double r180468 = k;
double r180469 = r180467 * r180468;
double r180470 = r180464 - r180469;
double r180471 = 1.5324893330561349e-52;
bool r180472 = r180441 <= r180471;
double r180473 = r180448 * r180441;
double r180474 = r180447 * r180473;
double r180475 = cbrt(r180474);
double r180476 = r180475 * r180475;
double r180477 = r180476 * r180475;
double r180478 = r180446 * r180477;
double r180479 = r180478 - r180455;
double r180480 = r180479 + r180459;
double r180481 = r180480 - r180463;
double r180482 = r180481 - r180469;
double r180483 = r180446 * r180447;
double r180484 = r180483 * r180448;
double r180485 = r180484 - r180454;
double r180486 = r180441 * r180485;
double r180487 = r180463 + r180469;
double r180488 = r180459 - r180487;
double r180489 = r180486 + r180488;
double r180490 = r180472 ? r180482 : r180489;
double r180491 = r180443 ? r180470 : r180490;
return r180491;
}



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
Results
if t < -1.0367758719729117e-16Initial program 2.4
rmApplied associate-*l*2.7
if -1.0367758719729117e-16 < t < 1.5324893330561349e-52Initial program 8.0
rmApplied associate-*l*4.0
rmApplied associate-*l*1.6
rmApplied add-cube-cbrt1.6
if 1.5324893330561349e-52 < t Initial program 2.1
Simplified2.1
Final simplification2.0
herbie shell --seed 2019322
(FPCore (x y z t a b c i j k)
:name "Diagrams.Solve.Polynomial:cubForm from diagrams-solve-0.1"
:precision binary64
(- (- (+ (- (* (* (* (* x 18) y) z) t) (* (* a 4) t)) (* b c)) (* (* x 4) i)) (* (* j 27) k)))