\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}\;t \le -5.693821820785257 \cdot 10^{-97}:\\
\;\;\;\;\sqrt[3]{\mathsf{fma}\left(\left(\left(\left(x \cdot 18.0\right) \cdot y\right) \cdot z - a \cdot 4.0\right), t, \left(b \cdot c - \mathsf{fma}\left(k, \left(27.0 \cdot j\right), \left(\left(x \cdot 4.0\right) \cdot i\right)\right)\right)\right)} \cdot \left(\sqrt[3]{\mathsf{fma}\left(\left(\left(\left(x \cdot 18.0\right) \cdot y\right) \cdot z - a \cdot 4.0\right), t, \left(b \cdot c - \mathsf{fma}\left(k, \left(27.0 \cdot j\right), \left(\left(x \cdot 4.0\right) \cdot i\right)\right)\right)\right)} \cdot \sqrt[3]{\mathsf{fma}\left(\left(\left(\left(x \cdot 18.0\right) \cdot y\right) \cdot z - a \cdot 4.0\right), t, \left(b \cdot c - \mathsf{fma}\left(k, \left(27.0 \cdot j\right), \left(\left(x \cdot 4.0\right) \cdot i\right)\right)\right)\right)}\right)\\
\mathbf{elif}\;t \le 3.980404264959953 \cdot 10^{-105}:\\
\;\;\;\;\mathsf{fma}\left(\left(\left(-a\right) \cdot 4.0\right), t, \left(b \cdot c - \mathsf{fma}\left(k, \left(27.0 \cdot j\right), \left(\left(x \cdot 4.0\right) \cdot i\right)\right)\right)\right)\\
\mathbf{else}:\\
\;\;\;\;\sqrt[3]{\mathsf{fma}\left(\left(\left(\left(x \cdot 18.0\right) \cdot y\right) \cdot z - a \cdot 4.0\right), t, \left(b \cdot c - \mathsf{fma}\left(k, \left(27.0 \cdot j\right), \left(\left(x \cdot 4.0\right) \cdot i\right)\right)\right)\right)} \cdot \left(\sqrt[3]{\mathsf{fma}\left(\left(\left(\left(x \cdot 18.0\right) \cdot y\right) \cdot z - a \cdot 4.0\right), t, \left(b \cdot c - \mathsf{fma}\left(k, \left(27.0 \cdot j\right), \left(\left(x \cdot 4.0\right) \cdot i\right)\right)\right)\right)} \cdot \sqrt[3]{\mathsf{fma}\left(\left(\left(\left(x \cdot 18.0\right) \cdot y\right) \cdot z - a \cdot 4.0\right), t, \left(b \cdot c - \mathsf{fma}\left(k, \left(27.0 \cdot j\right), \left(\left(x \cdot 4.0\right) \cdot i\right)\right)\right)\right)}\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 r2368844 = x;
double r2368845 = 18.0;
double r2368846 = r2368844 * r2368845;
double r2368847 = y;
double r2368848 = r2368846 * r2368847;
double r2368849 = z;
double r2368850 = r2368848 * r2368849;
double r2368851 = t;
double r2368852 = r2368850 * r2368851;
double r2368853 = a;
double r2368854 = 4.0;
double r2368855 = r2368853 * r2368854;
double r2368856 = r2368855 * r2368851;
double r2368857 = r2368852 - r2368856;
double r2368858 = b;
double r2368859 = c;
double r2368860 = r2368858 * r2368859;
double r2368861 = r2368857 + r2368860;
double r2368862 = r2368844 * r2368854;
double r2368863 = i;
double r2368864 = r2368862 * r2368863;
double r2368865 = r2368861 - r2368864;
double r2368866 = j;
double r2368867 = 27.0;
double r2368868 = r2368866 * r2368867;
double r2368869 = k;
double r2368870 = r2368868 * r2368869;
double r2368871 = r2368865 - r2368870;
return r2368871;
}
double f(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k) {
double r2368872 = t;
double r2368873 = -5.693821820785257e-97;
bool r2368874 = r2368872 <= r2368873;
double r2368875 = x;
double r2368876 = 18.0;
double r2368877 = r2368875 * r2368876;
double r2368878 = y;
double r2368879 = r2368877 * r2368878;
double r2368880 = z;
double r2368881 = r2368879 * r2368880;
double r2368882 = a;
double r2368883 = 4.0;
double r2368884 = r2368882 * r2368883;
double r2368885 = r2368881 - r2368884;
double r2368886 = b;
double r2368887 = c;
double r2368888 = r2368886 * r2368887;
double r2368889 = k;
double r2368890 = 27.0;
double r2368891 = j;
double r2368892 = r2368890 * r2368891;
double r2368893 = r2368875 * r2368883;
double r2368894 = i;
double r2368895 = r2368893 * r2368894;
double r2368896 = fma(r2368889, r2368892, r2368895);
double r2368897 = r2368888 - r2368896;
double r2368898 = fma(r2368885, r2368872, r2368897);
double r2368899 = cbrt(r2368898);
double r2368900 = r2368899 * r2368899;
double r2368901 = r2368899 * r2368900;
double r2368902 = 3.980404264959953e-105;
bool r2368903 = r2368872 <= r2368902;
double r2368904 = -r2368882;
double r2368905 = r2368904 * r2368883;
double r2368906 = fma(r2368905, r2368872, r2368897);
double r2368907 = r2368903 ? r2368906 : r2368901;
double r2368908 = r2368874 ? r2368901 : r2368907;
return r2368908;
}



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 t < -5.693821820785257e-97 or 3.980404264959953e-105 < t Initial program 2.8
Simplified2.8
rmApplied add-cube-cbrt3.9
if -5.693821820785257e-97 < t < 3.980404264959953e-105Initial program 8.6
Simplified8.6
Taylor expanded around 0 6.6
Final simplification5.1
herbie shell --seed 2019128 +o rules:numerics
(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)))