\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(c \cdot b + \left(-t\right) \cdot \left(a \cdot 4.0\right)\right) - \left(x \cdot 4.0\right) \cdot i\right) - \left(k \cdot 27.0\right) \cdot j\\
\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 8.513289245050075 \cdot 10^{+301}:\\
\;\;\;\;t \cdot \left(\left(y \cdot x\right) \cdot \left(z \cdot 18.0\right) - a \cdot 4.0\right) + \left(c \cdot b - \left(\left(27.0 \cdot j\right) \cdot k + 4.0 \cdot \left(x \cdot i\right)\right)\right)\\
\mathbf{else}:\\
\;\;\;\;\left(\left(c \cdot b + \left(e^{\log \left(\left(x \cdot 18.0\right) \cdot \left(\left(t \cdot z\right) \cdot y\right)\right)} - \left(a \cdot 4.0\right) \cdot t\right)\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 r5397684 = x;
double r5397685 = 18.0;
double r5397686 = r5397684 * r5397685;
double r5397687 = y;
double r5397688 = r5397686 * r5397687;
double r5397689 = z;
double r5397690 = r5397688 * r5397689;
double r5397691 = t;
double r5397692 = r5397690 * r5397691;
double r5397693 = a;
double r5397694 = 4.0;
double r5397695 = r5397693 * r5397694;
double r5397696 = r5397695 * r5397691;
double r5397697 = r5397692 - r5397696;
double r5397698 = b;
double r5397699 = c;
double r5397700 = r5397698 * r5397699;
double r5397701 = r5397697 + r5397700;
double r5397702 = r5397684 * r5397694;
double r5397703 = i;
double r5397704 = r5397702 * r5397703;
double r5397705 = r5397701 - r5397704;
double r5397706 = j;
double r5397707 = 27.0;
double r5397708 = r5397706 * r5397707;
double r5397709 = k;
double r5397710 = r5397708 * r5397709;
double r5397711 = r5397705 - r5397710;
return r5397711;
}
double f(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k) {
double r5397712 = t;
double r5397713 = x;
double r5397714 = 18.0;
double r5397715 = r5397713 * r5397714;
double r5397716 = y;
double r5397717 = r5397715 * r5397716;
double r5397718 = z;
double r5397719 = r5397717 * r5397718;
double r5397720 = r5397712 * r5397719;
double r5397721 = a;
double r5397722 = 4.0;
double r5397723 = r5397721 * r5397722;
double r5397724 = r5397723 * r5397712;
double r5397725 = r5397720 - r5397724;
double r5397726 = c;
double r5397727 = b;
double r5397728 = r5397726 * r5397727;
double r5397729 = r5397725 + r5397728;
double r5397730 = r5397713 * r5397722;
double r5397731 = i;
double r5397732 = r5397730 * r5397731;
double r5397733 = r5397729 - r5397732;
double r5397734 = -inf.0;
bool r5397735 = r5397733 <= r5397734;
double r5397736 = -r5397712;
double r5397737 = r5397736 * r5397723;
double r5397738 = r5397728 + r5397737;
double r5397739 = r5397738 - r5397732;
double r5397740 = k;
double r5397741 = 27.0;
double r5397742 = r5397740 * r5397741;
double r5397743 = j;
double r5397744 = r5397742 * r5397743;
double r5397745 = r5397739 - r5397744;
double r5397746 = 8.513289245050075e+301;
bool r5397747 = r5397733 <= r5397746;
double r5397748 = r5397716 * r5397713;
double r5397749 = r5397718 * r5397714;
double r5397750 = r5397748 * r5397749;
double r5397751 = r5397750 - r5397723;
double r5397752 = r5397712 * r5397751;
double r5397753 = r5397741 * r5397743;
double r5397754 = r5397753 * r5397740;
double r5397755 = r5397713 * r5397731;
double r5397756 = r5397722 * r5397755;
double r5397757 = r5397754 + r5397756;
double r5397758 = r5397728 - r5397757;
double r5397759 = r5397752 + r5397758;
double r5397760 = r5397712 * r5397718;
double r5397761 = r5397760 * r5397716;
double r5397762 = r5397715 * r5397761;
double r5397763 = log(r5397762);
double r5397764 = exp(r5397763);
double r5397765 = r5397764 - r5397724;
double r5397766 = r5397728 + r5397765;
double r5397767 = r5397766 - r5397732;
double r5397768 = r5397743 * r5397740;
double r5397769 = r5397741 * r5397768;
double r5397770 = r5397767 - r5397769;
double r5397771 = r5397747 ? r5397759 : r5397770;
double r5397772 = r5397735 ? r5397745 : r5397771;
return r5397772;
}



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.6
rmApplied associate-*l*60.6
Taylor expanded around 0 30.8
if -inf.0 < (- (+ (- (* (* (* (* x 18.0) y) z) t) (* (* a 4.0) t)) (* b c)) (* (* x 4.0) i)) < 8.513289245050075e+301Initial program 0.4
Simplified0.4
if 8.513289245050075e+301 < (- (+ (- (* (* (* (* x 18.0) y) z) t) (* (* a 4.0) t)) (* b c)) (* (* x 4.0) i)) Initial program 48.9
Taylor expanded around 0 48.9
rmApplied add-exp-log54.3
Applied add-exp-log56.6
Applied add-exp-log57.7
Applied add-exp-log57.7
Applied add-exp-log58.4
Applied prod-exp58.4
Applied prod-exp58.4
Applied prod-exp56.9
Applied prod-exp52.2
Simplified9.4
Final simplification2.1
herbie shell --seed 2019164
(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)))