\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}\;t \le -1.464171748847571 \cdot 10^{-29}:\\
\;\;\;\;\left(\left(b \cdot c + \left(\left(\left(x \cdot \left(18.0 \cdot y\right)\right) \cdot z\right) \cdot t - \left(a \cdot 4.0\right) \cdot t\right)\right) - \left(4.0 \cdot x\right) \cdot i\right) - 27.0 \cdot \left(j \cdot k\right)\\
\mathbf{elif}\;t \le 1.806067450876909 \cdot 10^{-128}:\\
\;\;\;\;\left(\left(b \cdot c + \left(\left(t \cdot z\right) \cdot \left(y \cdot \left(x \cdot 18.0\right)\right) - \left(a \cdot 4.0\right) \cdot t\right)\right) - \left(4.0 \cdot x\right) \cdot i\right) - \left(27.0 \cdot j\right) \cdot k\\
\mathbf{else}:\\
\;\;\;\;\left(\left(b \cdot c + \left(\sqrt{t} \cdot \left(\left(z \cdot \left(y \cdot \left(x \cdot 18.0\right)\right)\right) \cdot \sqrt{t}\right) - \left(a \cdot 4.0\right) \cdot t\right)\right) - \left(4.0 \cdot x\right) \cdot i\right) - \left(27.0 \cdot j\right) \cdot k\\
\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 r18077530 = x;
double r18077531 = 18.0;
double r18077532 = r18077530 * r18077531;
double r18077533 = y;
double r18077534 = r18077532 * r18077533;
double r18077535 = z;
double r18077536 = r18077534 * r18077535;
double r18077537 = t;
double r18077538 = r18077536 * r18077537;
double r18077539 = a;
double r18077540 = 4.0;
double r18077541 = r18077539 * r18077540;
double r18077542 = r18077541 * r18077537;
double r18077543 = r18077538 - r18077542;
double r18077544 = b;
double r18077545 = c;
double r18077546 = r18077544 * r18077545;
double r18077547 = r18077543 + r18077546;
double r18077548 = r18077530 * r18077540;
double r18077549 = i;
double r18077550 = r18077548 * r18077549;
double r18077551 = r18077547 - r18077550;
double r18077552 = j;
double r18077553 = 27.0;
double r18077554 = r18077552 * r18077553;
double r18077555 = k;
double r18077556 = r18077554 * r18077555;
double r18077557 = r18077551 - r18077556;
return r18077557;
}
double f(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k) {
double r18077558 = t;
double r18077559 = -1.464171748847571e-29;
bool r18077560 = r18077558 <= r18077559;
double r18077561 = b;
double r18077562 = c;
double r18077563 = r18077561 * r18077562;
double r18077564 = x;
double r18077565 = 18.0;
double r18077566 = y;
double r18077567 = r18077565 * r18077566;
double r18077568 = r18077564 * r18077567;
double r18077569 = z;
double r18077570 = r18077568 * r18077569;
double r18077571 = r18077570 * r18077558;
double r18077572 = a;
double r18077573 = 4.0;
double r18077574 = r18077572 * r18077573;
double r18077575 = r18077574 * r18077558;
double r18077576 = r18077571 - r18077575;
double r18077577 = r18077563 + r18077576;
double r18077578 = r18077573 * r18077564;
double r18077579 = i;
double r18077580 = r18077578 * r18077579;
double r18077581 = r18077577 - r18077580;
double r18077582 = 27.0;
double r18077583 = j;
double r18077584 = k;
double r18077585 = r18077583 * r18077584;
double r18077586 = r18077582 * r18077585;
double r18077587 = r18077581 - r18077586;
double r18077588 = 1.806067450876909e-128;
bool r18077589 = r18077558 <= r18077588;
double r18077590 = r18077558 * r18077569;
double r18077591 = r18077564 * r18077565;
double r18077592 = r18077566 * r18077591;
double r18077593 = r18077590 * r18077592;
double r18077594 = r18077593 - r18077575;
double r18077595 = r18077563 + r18077594;
double r18077596 = r18077595 - r18077580;
double r18077597 = r18077582 * r18077583;
double r18077598 = r18077597 * r18077584;
double r18077599 = r18077596 - r18077598;
double r18077600 = sqrt(r18077558);
double r18077601 = r18077569 * r18077592;
double r18077602 = r18077601 * r18077600;
double r18077603 = r18077600 * r18077602;
double r18077604 = r18077603 - r18077575;
double r18077605 = r18077563 + r18077604;
double r18077606 = r18077605 - r18077580;
double r18077607 = r18077606 - r18077598;
double r18077608 = r18077589 ? r18077599 : r18077607;
double r18077609 = r18077560 ? r18077587 : r18077608;
return r18077609;
}



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.464171748847571e-29Initial program 1.6
rmApplied associate-*l*1.7
Taylor expanded around 0 1.7
if -1.464171748847571e-29 < t < 1.806067450876909e-128Initial program 8.0
rmApplied associate-*l*4.3
if 1.806067450876909e-128 < t Initial program 3.1
rmApplied add-sqr-sqrt3.1
Applied associate-*r*3.1
Final simplification3.3
herbie shell --seed 2019119 +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)))