\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(\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 = -\infty:\\
\;\;\;\;\left(\left(\left(\left(\left(x \cdot 18\right) \cdot y\right) \cdot \left(z \cdot t\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{elif}\;\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 \le 1.433693085574820316107865306676310981183 \cdot 10^{307}:\\
\;\;\;\;\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) - j \cdot \left(27 \cdot k\right)\\
\mathbf{else}:\\
\;\;\;\;\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\\
\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 r174536 = x;
double r174537 = 18.0;
double r174538 = r174536 * r174537;
double r174539 = y;
double r174540 = r174538 * r174539;
double r174541 = z;
double r174542 = r174540 * r174541;
double r174543 = t;
double r174544 = r174542 * r174543;
double r174545 = a;
double r174546 = 4.0;
double r174547 = r174545 * r174546;
double r174548 = r174547 * r174543;
double r174549 = r174544 - r174548;
double r174550 = b;
double r174551 = c;
double r174552 = r174550 * r174551;
double r174553 = r174549 + r174552;
double r174554 = r174536 * r174546;
double r174555 = i;
double r174556 = r174554 * r174555;
double r174557 = r174553 - r174556;
double r174558 = j;
double r174559 = 27.0;
double r174560 = r174558 * r174559;
double r174561 = k;
double r174562 = r174560 * r174561;
double r174563 = r174557 - r174562;
return r174563;
}
double f(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k) {
double r174564 = x;
double r174565 = 18.0;
double r174566 = r174564 * r174565;
double r174567 = y;
double r174568 = r174566 * r174567;
double r174569 = z;
double r174570 = r174568 * r174569;
double r174571 = t;
double r174572 = r174570 * r174571;
double r174573 = a;
double r174574 = 4.0;
double r174575 = r174573 * r174574;
double r174576 = r174575 * r174571;
double r174577 = r174572 - r174576;
double r174578 = b;
double r174579 = c;
double r174580 = r174578 * r174579;
double r174581 = r174577 + r174580;
double r174582 = r174564 * r174574;
double r174583 = i;
double r174584 = r174582 * r174583;
double r174585 = r174581 - r174584;
double r174586 = -inf.0;
bool r174587 = r174585 <= r174586;
double r174588 = r174569 * r174571;
double r174589 = r174568 * r174588;
double r174590 = r174589 - r174576;
double r174591 = r174590 + r174580;
double r174592 = r174591 - r174584;
double r174593 = j;
double r174594 = 27.0;
double r174595 = r174593 * r174594;
double r174596 = k;
double r174597 = r174595 * r174596;
double r174598 = r174592 - r174597;
double r174599 = 1.4336930855748203e+307;
bool r174600 = r174585 <= r174599;
double r174601 = r174594 * r174596;
double r174602 = r174593 * r174601;
double r174603 = r174585 - r174602;
double r174604 = r174567 * r174569;
double r174605 = r174566 * r174604;
double r174606 = r174605 * r174571;
double r174607 = r174606 - r174576;
double r174608 = r174607 + r174580;
double r174609 = r174608 - r174584;
double r174610 = r174609 - r174597;
double r174611 = r174600 ? r174603 : r174610;
double r174612 = r174587 ? r174598 : r174611;
return r174612;
}



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 (- (+ (- (* (* (* (* x 18.0) y) z) t) (* (* a 4.0) t)) (* b c)) (* (* x 4.0) i)) < -inf.0Initial program 64.0
rmApplied associate-*l*35.4
if -inf.0 < (- (+ (- (* (* (* (* x 18.0) y) z) t) (* (* a 4.0) t)) (* b c)) (* (* x 4.0) i)) < 1.4336930855748203e+307Initial program 0.3
rmApplied associate-*l*0.3
if 1.4336930855748203e+307 < (- (+ (- (* (* (* (* x 18.0) y) z) t) (* (* a 4.0) t)) (* b c)) (* (* x 4.0) i)) Initial program 62.1
rmApplied associate-*l*38.1
Final simplification3.3
herbie shell --seed 2019353 +o rules:numerics
(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)))