\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}\;t \le -2.70726270936473879 \cdot 10^{-123} \lor \neg \left(t \le 1.15170273475346789 \cdot 10^{41}\right):\\
\;\;\;\;\left(\left(\left(\left(\left(x \cdot 18\right) \cdot \left(y \cdot z\right)\right) \cdot t - \left(a \cdot 4\right) \cdot t\right) + b \cdot c\right) - \left(x \cdot 4\right) \cdot i\right) - j \cdot \left(27 \cdot k\right)\\
\mathbf{else}:\\
\;\;\;\;\left(\left(\left(\left(\left(x \cdot 18\right) \cdot y\right) \cdot \left(z \cdot t\right) - \left(a \cdot 4\right) \cdot t\right) + b \cdot c\right) - \left(x \cdot 4\right) \cdot i\right) - j \cdot \left(27 \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 r158826 = x;
double r158827 = 18.0;
double r158828 = r158826 * r158827;
double r158829 = y;
double r158830 = r158828 * r158829;
double r158831 = z;
double r158832 = r158830 * r158831;
double r158833 = t;
double r158834 = r158832 * r158833;
double r158835 = a;
double r158836 = 4.0;
double r158837 = r158835 * r158836;
double r158838 = r158837 * r158833;
double r158839 = r158834 - r158838;
double r158840 = b;
double r158841 = c;
double r158842 = r158840 * r158841;
double r158843 = r158839 + r158842;
double r158844 = r158826 * r158836;
double r158845 = i;
double r158846 = r158844 * r158845;
double r158847 = r158843 - r158846;
double r158848 = j;
double r158849 = 27.0;
double r158850 = r158848 * r158849;
double r158851 = k;
double r158852 = r158850 * r158851;
double r158853 = r158847 - r158852;
return r158853;
}
double f(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k) {
double r158854 = t;
double r158855 = -2.7072627093647388e-123;
bool r158856 = r158854 <= r158855;
double r158857 = 1.1517027347534679e+41;
bool r158858 = r158854 <= r158857;
double r158859 = !r158858;
bool r158860 = r158856 || r158859;
double r158861 = x;
double r158862 = 18.0;
double r158863 = r158861 * r158862;
double r158864 = y;
double r158865 = z;
double r158866 = r158864 * r158865;
double r158867 = r158863 * r158866;
double r158868 = r158867 * r158854;
double r158869 = a;
double r158870 = 4.0;
double r158871 = r158869 * r158870;
double r158872 = r158871 * r158854;
double r158873 = r158868 - r158872;
double r158874 = b;
double r158875 = c;
double r158876 = r158874 * r158875;
double r158877 = r158873 + r158876;
double r158878 = r158861 * r158870;
double r158879 = i;
double r158880 = r158878 * r158879;
double r158881 = r158877 - r158880;
double r158882 = j;
double r158883 = 27.0;
double r158884 = k;
double r158885 = r158883 * r158884;
double r158886 = r158882 * r158885;
double r158887 = r158881 - r158886;
double r158888 = r158863 * r158864;
double r158889 = r158865 * r158854;
double r158890 = r158888 * r158889;
double r158891 = r158890 - r158872;
double r158892 = r158891 + r158876;
double r158893 = r158892 - r158880;
double r158894 = r158893 - r158886;
double r158895 = r158860 ? r158887 : r158894;
return r158895;
}



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 t < -2.7072627093647388e-123 or 1.1517027347534679e+41 < t Initial program 3.0
rmApplied associate-*l*3.1
rmApplied associate-*l*3.1
if -2.7072627093647388e-123 < t < 1.1517027347534679e+41Initial program 7.8
rmApplied associate-*l*7.8
rmApplied associate-*l*4.1
Final simplification3.6
herbie shell --seed 2020035
(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)))