\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 -1.15848203748868583 \cdot 10^{-15} \lor \neg \left(x \le 4.75949776591493624 \cdot 10^{-71}\right):\\
\;\;\;\;\mathsf{fma}\left(c, b, \left(\left(x \cdot 18\right) \cdot \left(y \cdot \left(z \cdot t\right)\right) - \left(a \cdot 4\right) \cdot t\right) - \mathsf{fma}\left(x \cdot 4, i, \left(j \cdot 27\right) \cdot k\right)\right) + \left(j \cdot 27\right) \cdot \left(\left(-k\right) + k\right)\\
\mathbf{else}:\\
\;\;\;\;\left(\left(\left(\left(\left(\left(\left(x \cdot 18\right) \cdot y\right) \cdot z\right) \cdot \left(\sqrt[3]{t} \cdot \sqrt[3]{t}\right)\right) \cdot \sqrt[3]{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 r142853 = x;
double r142854 = 18.0;
double r142855 = r142853 * r142854;
double r142856 = y;
double r142857 = r142855 * r142856;
double r142858 = z;
double r142859 = r142857 * r142858;
double r142860 = t;
double r142861 = r142859 * r142860;
double r142862 = a;
double r142863 = 4.0;
double r142864 = r142862 * r142863;
double r142865 = r142864 * r142860;
double r142866 = r142861 - r142865;
double r142867 = b;
double r142868 = c;
double r142869 = r142867 * r142868;
double r142870 = r142866 + r142869;
double r142871 = r142853 * r142863;
double r142872 = i;
double r142873 = r142871 * r142872;
double r142874 = r142870 - r142873;
double r142875 = j;
double r142876 = 27.0;
double r142877 = r142875 * r142876;
double r142878 = k;
double r142879 = r142877 * r142878;
double r142880 = r142874 - r142879;
return r142880;
}
double f(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k) {
double r142881 = x;
double r142882 = -1.1584820374886858e-15;
bool r142883 = r142881 <= r142882;
double r142884 = 4.759497765914936e-71;
bool r142885 = r142881 <= r142884;
double r142886 = !r142885;
bool r142887 = r142883 || r142886;
double r142888 = c;
double r142889 = b;
double r142890 = 18.0;
double r142891 = r142881 * r142890;
double r142892 = y;
double r142893 = z;
double r142894 = t;
double r142895 = r142893 * r142894;
double r142896 = r142892 * r142895;
double r142897 = r142891 * r142896;
double r142898 = a;
double r142899 = 4.0;
double r142900 = r142898 * r142899;
double r142901 = r142900 * r142894;
double r142902 = r142897 - r142901;
double r142903 = r142881 * r142899;
double r142904 = i;
double r142905 = j;
double r142906 = 27.0;
double r142907 = r142905 * r142906;
double r142908 = k;
double r142909 = r142907 * r142908;
double r142910 = fma(r142903, r142904, r142909);
double r142911 = r142902 - r142910;
double r142912 = fma(r142888, r142889, r142911);
double r142913 = -r142908;
double r142914 = r142913 + r142908;
double r142915 = r142907 * r142914;
double r142916 = r142912 + r142915;
double r142917 = r142891 * r142892;
double r142918 = r142917 * r142893;
double r142919 = cbrt(r142894);
double r142920 = r142919 * r142919;
double r142921 = r142918 * r142920;
double r142922 = r142921 * r142919;
double r142923 = r142922 - r142901;
double r142924 = r142889 * r142888;
double r142925 = r142923 + r142924;
double r142926 = r142903 * r142904;
double r142927 = r142925 - r142926;
double r142928 = r142927 - r142909;
double r142929 = r142887 ? r142916 : r142928;
return r142929;
}



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
if x < -1.1584820374886858e-15 or 4.759497765914936e-71 < x Initial program 10.4
rmApplied associate-*l*7.5
rmApplied associate-*l*1.9
rmApplied add-sqr-sqrt32.7
Applied prod-diff32.7
Simplified1.9
Simplified1.9
if -1.1584820374886858e-15 < x < 4.759497765914936e-71Initial program 1.5
rmApplied add-cube-cbrt1.6
Applied associate-*r*1.6
Final simplification1.7
herbie shell --seed 2020083 +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)))