\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}\;x \le -2.00851625405295385 \cdot 10^{-41} \lor \neg \left(x \le 1.9644826400661441 \cdot 10^{-195}\right):\\
\;\;\;\;\left(\left(\left(x \cdot \left(\left(18 \cdot y\right) \cdot \left(z \cdot t\right)\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{else}:\\
\;\;\;\;\left(\left(\left(\left(\left(x \cdot \left(18 \cdot y\right)\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\\
\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 r180853 = x;
double r180854 = 18.0;
double r180855 = r180853 * r180854;
double r180856 = y;
double r180857 = r180855 * r180856;
double r180858 = z;
double r180859 = r180857 * r180858;
double r180860 = t;
double r180861 = r180859 * r180860;
double r180862 = a;
double r180863 = 4.0;
double r180864 = r180862 * r180863;
double r180865 = r180864 * r180860;
double r180866 = r180861 - r180865;
double r180867 = b;
double r180868 = c;
double r180869 = r180867 * r180868;
double r180870 = r180866 + r180869;
double r180871 = r180853 * r180863;
double r180872 = i;
double r180873 = r180871 * r180872;
double r180874 = r180870 - r180873;
double r180875 = j;
double r180876 = 27.0;
double r180877 = r180875 * r180876;
double r180878 = k;
double r180879 = r180877 * r180878;
double r180880 = r180874 - r180879;
return r180880;
}
double f(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k) {
double r180881 = x;
double r180882 = -2.0085162540529539e-41;
bool r180883 = r180881 <= r180882;
double r180884 = 1.964482640066144e-195;
bool r180885 = r180881 <= r180884;
double r180886 = !r180885;
bool r180887 = r180883 || r180886;
double r180888 = 18.0;
double r180889 = y;
double r180890 = r180888 * r180889;
double r180891 = z;
double r180892 = t;
double r180893 = r180891 * r180892;
double r180894 = r180890 * r180893;
double r180895 = r180881 * r180894;
double r180896 = a;
double r180897 = 4.0;
double r180898 = r180896 * r180897;
double r180899 = r180898 * r180892;
double r180900 = r180895 - r180899;
double r180901 = b;
double r180902 = c;
double r180903 = r180901 * r180902;
double r180904 = r180900 + r180903;
double r180905 = r180881 * r180897;
double r180906 = i;
double r180907 = r180905 * r180906;
double r180908 = r180904 - r180907;
double r180909 = j;
double r180910 = 27.0;
double r180911 = r180909 * r180910;
double r180912 = k;
double r180913 = r180911 * r180912;
double r180914 = r180908 - r180913;
double r180915 = r180881 * r180890;
double r180916 = r180915 * r180891;
double r180917 = r180916 * r180892;
double r180918 = r180917 - r180899;
double r180919 = r180918 + r180903;
double r180920 = r180919 - r180907;
double r180921 = r180920 - r180913;
double r180922 = r180887 ? r180914 : r180921;
return r180922;
}



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 < -2.0085162540529539e-41 or 1.964482640066144e-195 < x Initial program 8.6
rmApplied associate-*l*7.0
rmApplied associate-*l*7.1
rmApplied associate-*l*3.3
if -2.0085162540529539e-41 < x < 1.964482640066144e-195Initial program 1.5
rmApplied associate-*l*1.6
Final simplification2.6
herbie shell --seed 2020020
(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)))