\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 -2.6023650830861039 \cdot 10^{-202}:\\
\;\;\;\;\left(t \cdot \left(\left(\left(x \cdot 18\right) \cdot y\right) \cdot z - a \cdot 4\right) + b \cdot c\right) - \left(\left(x \cdot 4\right) \cdot i + \left(\left(j \cdot 27\right) \cdot \left(\sqrt[3]{k} \cdot \sqrt[3]{k}\right)\right) \cdot \sqrt[3]{k}\right)\\
\mathbf{elif}\;t \le 1.24034573106726284 \cdot 10^{-70}:\\
\;\;\;\;\left(t \cdot \left(-a \cdot 4\right) + b \cdot c\right) - \left(\left(x \cdot 4\right) \cdot i + j \cdot \left(27 \cdot k\right)\right)\\
\mathbf{else}:\\
\;\;\;\;\left(t \cdot \left(\left(x \cdot 18\right) \cdot \left(y \cdot z\right) - a \cdot 4\right) + b \cdot c\right) - \left(\left(x \cdot 4\right) \cdot i + j \cdot \left(27 \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 r175558 = x;
double r175559 = 18.0;
double r175560 = r175558 * r175559;
double r175561 = y;
double r175562 = r175560 * r175561;
double r175563 = z;
double r175564 = r175562 * r175563;
double r175565 = t;
double r175566 = r175564 * r175565;
double r175567 = a;
double r175568 = 4.0;
double r175569 = r175567 * r175568;
double r175570 = r175569 * r175565;
double r175571 = r175566 - r175570;
double r175572 = b;
double r175573 = c;
double r175574 = r175572 * r175573;
double r175575 = r175571 + r175574;
double r175576 = r175558 * r175568;
double r175577 = i;
double r175578 = r175576 * r175577;
double r175579 = r175575 - r175578;
double r175580 = j;
double r175581 = 27.0;
double r175582 = r175580 * r175581;
double r175583 = k;
double r175584 = r175582 * r175583;
double r175585 = r175579 - r175584;
return r175585;
}
double f(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k) {
double r175586 = t;
double r175587 = -2.602365083086104e-202;
bool r175588 = r175586 <= r175587;
double r175589 = x;
double r175590 = 18.0;
double r175591 = r175589 * r175590;
double r175592 = y;
double r175593 = r175591 * r175592;
double r175594 = z;
double r175595 = r175593 * r175594;
double r175596 = a;
double r175597 = 4.0;
double r175598 = r175596 * r175597;
double r175599 = r175595 - r175598;
double r175600 = r175586 * r175599;
double r175601 = b;
double r175602 = c;
double r175603 = r175601 * r175602;
double r175604 = r175600 + r175603;
double r175605 = r175589 * r175597;
double r175606 = i;
double r175607 = r175605 * r175606;
double r175608 = j;
double r175609 = 27.0;
double r175610 = r175608 * r175609;
double r175611 = k;
double r175612 = cbrt(r175611);
double r175613 = r175612 * r175612;
double r175614 = r175610 * r175613;
double r175615 = r175614 * r175612;
double r175616 = r175607 + r175615;
double r175617 = r175604 - r175616;
double r175618 = 1.2403457310672628e-70;
bool r175619 = r175586 <= r175618;
double r175620 = -r175598;
double r175621 = r175586 * r175620;
double r175622 = r175621 + r175603;
double r175623 = r175609 * r175611;
double r175624 = r175608 * r175623;
double r175625 = r175607 + r175624;
double r175626 = r175622 - r175625;
double r175627 = r175592 * r175594;
double r175628 = r175591 * r175627;
double r175629 = r175628 - r175598;
double r175630 = r175586 * r175629;
double r175631 = r175630 + r175603;
double r175632 = r175631 - r175625;
double r175633 = r175619 ? r175626 : r175632;
double r175634 = r175588 ? r175617 : r175633;
return r175634;
}



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 < -2.602365083086104e-202Initial program 4.2
Simplified4.2
rmApplied add-cube-cbrt4.4
Applied associate-*r*4.4
if -2.602365083086104e-202 < t < 1.2403457310672628e-70Initial program 8.3
Simplified8.3
rmApplied associate-*l*8.4
Taylor expanded around 0 6.0
if 1.2403457310672628e-70 < t Initial program 2.3
Simplified2.3
rmApplied associate-*l*2.3
rmApplied associate-*l*3.5
Final simplification4.7
herbie shell --seed 2020047
(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)))