\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}\;\left(\left(t \cdot \left(\left(\left(x \cdot 18.0\right) \cdot y\right) \cdot z\right) - \left(a \cdot 4.0\right) \cdot t\right) + c \cdot b\right) - \left(x \cdot 4.0\right) \cdot i = -\infty:\\
\;\;\;\;\left(\left(\left(\left(\left(x \cdot 18.0\right) \cdot y\right) \cdot \left(t \cdot z\right) - \left(a \cdot 4.0\right) \cdot t\right) + c \cdot b\right) - \left(x \cdot 4.0\right) \cdot i\right) - 27.0 \cdot \left(j \cdot k\right)\\
\mathbf{elif}\;\left(\left(t \cdot \left(\left(\left(x \cdot 18.0\right) \cdot y\right) \cdot z\right) - \left(a \cdot 4.0\right) \cdot t\right) + c \cdot b\right) - \left(x \cdot 4.0\right) \cdot i \le 1.736218430949862 \cdot 10^{+238}:\\
\;\;\;\;\left(\left(\left(t \cdot \left(\left(\left(x \cdot 18.0\right) \cdot y\right) \cdot z\right) - \left(a \cdot 4.0\right) \cdot t\right) + c \cdot b\right) - \left(x \cdot 4.0\right) \cdot i\right) - j \cdot \left(27.0 \cdot k\right)\\
\mathbf{else}:\\
\;\;\;\;\left(\left(\left(18.0 \cdot \left(\left(t \cdot \left(z \cdot x\right)\right) \cdot y\right) - \left(a \cdot 4.0\right) \cdot t\right) + c \cdot b\right) - \left(x \cdot 4.0\right) \cdot i\right) - 27.0 \cdot \left(j \cdot k\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 r6029632 = x;
double r6029633 = 18.0;
double r6029634 = r6029632 * r6029633;
double r6029635 = y;
double r6029636 = r6029634 * r6029635;
double r6029637 = z;
double r6029638 = r6029636 * r6029637;
double r6029639 = t;
double r6029640 = r6029638 * r6029639;
double r6029641 = a;
double r6029642 = 4.0;
double r6029643 = r6029641 * r6029642;
double r6029644 = r6029643 * r6029639;
double r6029645 = r6029640 - r6029644;
double r6029646 = b;
double r6029647 = c;
double r6029648 = r6029646 * r6029647;
double r6029649 = r6029645 + r6029648;
double r6029650 = r6029632 * r6029642;
double r6029651 = i;
double r6029652 = r6029650 * r6029651;
double r6029653 = r6029649 - r6029652;
double r6029654 = j;
double r6029655 = 27.0;
double r6029656 = r6029654 * r6029655;
double r6029657 = k;
double r6029658 = r6029656 * r6029657;
double r6029659 = r6029653 - r6029658;
return r6029659;
}
double f(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k) {
double r6029660 = t;
double r6029661 = x;
double r6029662 = 18.0;
double r6029663 = r6029661 * r6029662;
double r6029664 = y;
double r6029665 = r6029663 * r6029664;
double r6029666 = z;
double r6029667 = r6029665 * r6029666;
double r6029668 = r6029660 * r6029667;
double r6029669 = a;
double r6029670 = 4.0;
double r6029671 = r6029669 * r6029670;
double r6029672 = r6029671 * r6029660;
double r6029673 = r6029668 - r6029672;
double r6029674 = c;
double r6029675 = b;
double r6029676 = r6029674 * r6029675;
double r6029677 = r6029673 + r6029676;
double r6029678 = r6029661 * r6029670;
double r6029679 = i;
double r6029680 = r6029678 * r6029679;
double r6029681 = r6029677 - r6029680;
double r6029682 = -inf.0;
bool r6029683 = r6029681 <= r6029682;
double r6029684 = r6029660 * r6029666;
double r6029685 = r6029665 * r6029684;
double r6029686 = r6029685 - r6029672;
double r6029687 = r6029686 + r6029676;
double r6029688 = r6029687 - r6029680;
double r6029689 = 27.0;
double r6029690 = j;
double r6029691 = k;
double r6029692 = r6029690 * r6029691;
double r6029693 = r6029689 * r6029692;
double r6029694 = r6029688 - r6029693;
double r6029695 = 1.736218430949862e+238;
bool r6029696 = r6029681 <= r6029695;
double r6029697 = r6029689 * r6029691;
double r6029698 = r6029690 * r6029697;
double r6029699 = r6029681 - r6029698;
double r6029700 = r6029666 * r6029661;
double r6029701 = r6029660 * r6029700;
double r6029702 = r6029701 * r6029664;
double r6029703 = r6029662 * r6029702;
double r6029704 = r6029703 - r6029672;
double r6029705 = r6029704 + r6029676;
double r6029706 = r6029705 - r6029680;
double r6029707 = r6029706 - r6029693;
double r6029708 = r6029696 ? r6029699 : r6029707;
double r6029709 = r6029683 ? r6029694 : r6029708;
return r6029709;
}



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 60.5
Taylor expanded around 0 60.5
rmApplied associate-*l*32.5
if -inf.0 < (- (+ (- (* (* (* (* x 18.0) y) z) t) (* (* a 4.0) t)) (* b c)) (* (* x 4.0) i)) < 1.736218430949862e+238Initial program 0.3
rmApplied associate-*l*0.3
if 1.736218430949862e+238 < (- (+ (- (* (* (* (* x 18.0) y) z) t) (* (* a 4.0) t)) (* b c)) (* (* x 4.0) i)) Initial program 18.4
Taylor expanded around 0 18.3
Taylor expanded around inf 13.4
rmApplied associate-*r*13.8
rmApplied associate-*r*8.6
Final simplification2.9
herbie shell --seed 2019163
(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)))