\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(x \cdot 18\right) \cdot \left(\left(y \cdot t\right) \cdot z\right) - a \cdot \left(4 \cdot t\right)\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 2.642866419000479000975446742197166565839 \cdot 10^{275}:\\
\;\;\;\;\left(\left(\left(\left(\left(\left(\left(x \cdot 18\right) \cdot y\right) \cdot \left(\sqrt[3]{z} \cdot \sqrt[3]{z}\right)\right) \cdot \sqrt[3]{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\\
\mathbf{else}:\\
\;\;\;\;\left(\left(\left(\left(\left(\left(x \cdot 18\right) \cdot \left(\sqrt[3]{y} \cdot \sqrt[3]{y}\right)\right) \cdot \sqrt[3]{y}\right) \cdot \left(z \cdot t\right) - a \cdot \left(4 \cdot t\right)\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 r162998 = x;
double r162999 = 18.0;
double r163000 = r162998 * r162999;
double r163001 = y;
double r163002 = r163000 * r163001;
double r163003 = z;
double r163004 = r163002 * r163003;
double r163005 = t;
double r163006 = r163004 * r163005;
double r163007 = a;
double r163008 = 4.0;
double r163009 = r163007 * r163008;
double r163010 = r163009 * r163005;
double r163011 = r163006 - r163010;
double r163012 = b;
double r163013 = c;
double r163014 = r163012 * r163013;
double r163015 = r163011 + r163014;
double r163016 = r162998 * r163008;
double r163017 = i;
double r163018 = r163016 * r163017;
double r163019 = r163015 - r163018;
double r163020 = j;
double r163021 = 27.0;
double r163022 = r163020 * r163021;
double r163023 = k;
double r163024 = r163022 * r163023;
double r163025 = r163019 - r163024;
return r163025;
}
double f(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k) {
double r163026 = x;
double r163027 = 18.0;
double r163028 = r163026 * r163027;
double r163029 = y;
double r163030 = r163028 * r163029;
double r163031 = z;
double r163032 = r163030 * r163031;
double r163033 = t;
double r163034 = r163032 * r163033;
double r163035 = a;
double r163036 = 4.0;
double r163037 = r163035 * r163036;
double r163038 = r163037 * r163033;
double r163039 = r163034 - r163038;
double r163040 = b;
double r163041 = c;
double r163042 = r163040 * r163041;
double r163043 = r163039 + r163042;
double r163044 = r163026 * r163036;
double r163045 = i;
double r163046 = r163044 * r163045;
double r163047 = r163043 - r163046;
double r163048 = -inf.0;
bool r163049 = r163047 <= r163048;
double r163050 = r163029 * r163033;
double r163051 = r163050 * r163031;
double r163052 = r163028 * r163051;
double r163053 = r163036 * r163033;
double r163054 = r163035 * r163053;
double r163055 = r163052 - r163054;
double r163056 = r163055 + r163042;
double r163057 = r163056 - r163046;
double r163058 = j;
double r163059 = 27.0;
double r163060 = r163058 * r163059;
double r163061 = k;
double r163062 = r163060 * r163061;
double r163063 = r163057 - r163062;
double r163064 = 2.642866419000479e+275;
bool r163065 = r163047 <= r163064;
double r163066 = cbrt(r163031);
double r163067 = r163066 * r163066;
double r163068 = r163030 * r163067;
double r163069 = r163068 * r163066;
double r163070 = r163069 * r163033;
double r163071 = r163070 - r163038;
double r163072 = r163071 + r163042;
double r163073 = r163072 - r163046;
double r163074 = r163073 - r163062;
double r163075 = cbrt(r163029);
double r163076 = r163075 * r163075;
double r163077 = r163028 * r163076;
double r163078 = r163077 * r163075;
double r163079 = r163031 * r163033;
double r163080 = r163078 * r163079;
double r163081 = r163080 - r163054;
double r163082 = r163081 + r163042;
double r163083 = r163082 - r163046;
double r163084 = r163083 - r163062;
double r163085 = r163065 ? r163074 : r163084;
double r163086 = r163049 ? r163063 : r163085;
return r163086;
}



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*34.7
rmApplied associate-*l*33.7
rmApplied associate-*l*3.8
Simplified6.2
if -inf.0 < (- (+ (- (* (* (* (* x 18.0) y) z) t) (* (* a 4.0) t)) (* b c)) (* (* x 4.0) i)) < 2.642866419000479e+275Initial program 0.4
rmApplied add-cube-cbrt0.5
Applied associate-*r*0.5
if 2.642866419000479e+275 < (- (+ (- (* (* (* (* x 18.0) y) z) t) (* (* a 4.0) t)) (* b c)) (* (* x 4.0) i)) Initial program 29.9
rmApplied associate-*l*21.6
rmApplied associate-*l*21.1
rmApplied add-cube-cbrt21.3
Applied associate-*r*21.3
Final simplification2.6
herbie shell --seed 2019347
(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)))