\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 -5.926582951120756855854659732544200131707 \cdot 10^{-145}:\\
\;\;\;\;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(\sqrt[3]{j} \cdot \sqrt[3]{j}\right) \cdot \left(\sqrt[3]{j} \cdot \left(27 \cdot k\right)\right)\right)\right)\\
\mathbf{elif}\;t \le 4.57862036269468503222749585585464675082 \cdot 10^{-124}:\\
\;\;\;\;t \cdot \left(0 - 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)\\
\mathbf{else}:\\
\;\;\;\;t \cdot \left(\left(\left(\left(x \cdot 18\right) \cdot y\right) \cdot \left(\sqrt[3]{z} \cdot \sqrt[3]{z}\right)\right) \cdot \sqrt[3]{z} - a \cdot 4\right) + \left(b \cdot c - \left(\left(x \cdot 4\right) \cdot i + j \cdot \left(27 \cdot k\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 r126520 = x;
double r126521 = 18.0;
double r126522 = r126520 * r126521;
double r126523 = y;
double r126524 = r126522 * r126523;
double r126525 = z;
double r126526 = r126524 * r126525;
double r126527 = t;
double r126528 = r126526 * r126527;
double r126529 = a;
double r126530 = 4.0;
double r126531 = r126529 * r126530;
double r126532 = r126531 * r126527;
double r126533 = r126528 - r126532;
double r126534 = b;
double r126535 = c;
double r126536 = r126534 * r126535;
double r126537 = r126533 + r126536;
double r126538 = r126520 * r126530;
double r126539 = i;
double r126540 = r126538 * r126539;
double r126541 = r126537 - r126540;
double r126542 = j;
double r126543 = 27.0;
double r126544 = r126542 * r126543;
double r126545 = k;
double r126546 = r126544 * r126545;
double r126547 = r126541 - r126546;
return r126547;
}
double f(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k) {
double r126548 = t;
double r126549 = -5.926582951120757e-145;
bool r126550 = r126548 <= r126549;
double r126551 = x;
double r126552 = 18.0;
double r126553 = r126551 * r126552;
double r126554 = y;
double r126555 = r126553 * r126554;
double r126556 = z;
double r126557 = r126555 * r126556;
double r126558 = a;
double r126559 = 4.0;
double r126560 = r126558 * r126559;
double r126561 = r126557 - r126560;
double r126562 = r126548 * r126561;
double r126563 = b;
double r126564 = c;
double r126565 = r126563 * r126564;
double r126566 = r126551 * r126559;
double r126567 = i;
double r126568 = r126566 * r126567;
double r126569 = j;
double r126570 = cbrt(r126569);
double r126571 = r126570 * r126570;
double r126572 = 27.0;
double r126573 = k;
double r126574 = r126572 * r126573;
double r126575 = r126570 * r126574;
double r126576 = r126571 * r126575;
double r126577 = r126568 + r126576;
double r126578 = r126565 - r126577;
double r126579 = r126562 + r126578;
double r126580 = 4.578620362694685e-124;
bool r126581 = r126548 <= r126580;
double r126582 = 0.0;
double r126583 = r126582 - r126560;
double r126584 = r126548 * r126583;
double r126585 = r126569 * r126572;
double r126586 = r126585 * r126573;
double r126587 = r126568 + r126586;
double r126588 = r126565 - r126587;
double r126589 = r126584 + r126588;
double r126590 = cbrt(r126556);
double r126591 = r126590 * r126590;
double r126592 = r126555 * r126591;
double r126593 = r126592 * r126590;
double r126594 = r126593 - r126560;
double r126595 = r126548 * r126594;
double r126596 = r126569 * r126574;
double r126597 = r126568 + r126596;
double r126598 = r126565 - r126597;
double r126599 = r126595 + r126598;
double r126600 = r126581 ? r126589 : r126599;
double r126601 = r126550 ? r126579 : r126600;
return r126601;
}



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 < -5.926582951120757e-145Initial program 3.5
Simplified3.5
rmApplied associate-*l*3.4
rmApplied add-cube-cbrt3.7
Applied associate-*l*3.7
if -5.926582951120757e-145 < t < 4.578620362694685e-124Initial program 9.4
Simplified9.4
Taylor expanded around 0 6.0
if 4.578620362694685e-124 < t Initial program 3.1
Simplified3.1
rmApplied associate-*l*3.2
rmApplied add-cube-cbrt3.3
Applied associate-*r*3.3
Final simplification4.4
herbie shell --seed 2019318
(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)))