\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}\;\left(\left(t \cdot \left(\left(\left(x \cdot 18.0\right) \cdot y\right) \cdot z\right) - \left(a \cdot 4.0\right) \cdot t\right) + c \cdot b\right) - \left(x \cdot 4.0\right) \cdot i = -\infty:\\
\;\;\;\;\mathsf{fma}\left(b, c, \left(\left(t \cdot x\right) \cdot \left(y \cdot 18.0\right)\right) \cdot z - \mathsf{fma}\left(4.0, \mathsf{fma}\left(t, a, x \cdot i\right), 27.0 \cdot \left(k \cdot j\right)\right)\right)\\
\mathbf{elif}\;\left(\left(t \cdot \left(\left(\left(x \cdot 18.0\right) \cdot y\right) \cdot z\right) - \left(a \cdot 4.0\right) \cdot t\right) + c \cdot b\right) - \left(x \cdot 4.0\right) \cdot i \le 2.403209667818115 \cdot 10^{+294}:\\
\;\;\;\;\left(\left(\left(t \cdot \left(\left(\left(x \cdot 18.0\right) \cdot y\right) \cdot z\right) - \left(a \cdot 4.0\right) \cdot t\right) + c \cdot b\right) - \left(x \cdot 4.0\right) \cdot i\right) - j \cdot \left(27.0 \cdot k\right)\\
\mathbf{else}:\\
\;\;\;\;\left(\left(c \cdot b + \left(\left(y \cdot \left(\left(z \cdot x\right) \cdot t\right)\right) \cdot 18.0 - \left(a \cdot 4.0\right) \cdot t\right)\right) - \left(x \cdot 4.0\right) \cdot i\right) - \sqrt[3]{\left(k \cdot j\right) \cdot \left(27.0 \cdot \left(\left(27.0 \cdot \left(k \cdot j\right)\right) \cdot \left(27.0 \cdot \left(k \cdot j\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 r5432959 = x;
double r5432960 = 18.0;
double r5432961 = r5432959 * r5432960;
double r5432962 = y;
double r5432963 = r5432961 * r5432962;
double r5432964 = z;
double r5432965 = r5432963 * r5432964;
double r5432966 = t;
double r5432967 = r5432965 * r5432966;
double r5432968 = a;
double r5432969 = 4.0;
double r5432970 = r5432968 * r5432969;
double r5432971 = r5432970 * r5432966;
double r5432972 = r5432967 - r5432971;
double r5432973 = b;
double r5432974 = c;
double r5432975 = r5432973 * r5432974;
double r5432976 = r5432972 + r5432975;
double r5432977 = r5432959 * r5432969;
double r5432978 = i;
double r5432979 = r5432977 * r5432978;
double r5432980 = r5432976 - r5432979;
double r5432981 = j;
double r5432982 = 27.0;
double r5432983 = r5432981 * r5432982;
double r5432984 = k;
double r5432985 = r5432983 * r5432984;
double r5432986 = r5432980 - r5432985;
return r5432986;
}
double f(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k) {
double r5432987 = t;
double r5432988 = x;
double r5432989 = 18.0;
double r5432990 = r5432988 * r5432989;
double r5432991 = y;
double r5432992 = r5432990 * r5432991;
double r5432993 = z;
double r5432994 = r5432992 * r5432993;
double r5432995 = r5432987 * r5432994;
double r5432996 = a;
double r5432997 = 4.0;
double r5432998 = r5432996 * r5432997;
double r5432999 = r5432998 * r5432987;
double r5433000 = r5432995 - r5432999;
double r5433001 = c;
double r5433002 = b;
double r5433003 = r5433001 * r5433002;
double r5433004 = r5433000 + r5433003;
double r5433005 = r5432988 * r5432997;
double r5433006 = i;
double r5433007 = r5433005 * r5433006;
double r5433008 = r5433004 - r5433007;
double r5433009 = -inf.0;
bool r5433010 = r5433008 <= r5433009;
double r5433011 = r5432987 * r5432988;
double r5433012 = r5432991 * r5432989;
double r5433013 = r5433011 * r5433012;
double r5433014 = r5433013 * r5432993;
double r5433015 = r5432988 * r5433006;
double r5433016 = fma(r5432987, r5432996, r5433015);
double r5433017 = 27.0;
double r5433018 = k;
double r5433019 = j;
double r5433020 = r5433018 * r5433019;
double r5433021 = r5433017 * r5433020;
double r5433022 = fma(r5432997, r5433016, r5433021);
double r5433023 = r5433014 - r5433022;
double r5433024 = fma(r5433002, r5433001, r5433023);
double r5433025 = 2.403209667818115e+294;
bool r5433026 = r5433008 <= r5433025;
double r5433027 = r5433017 * r5433018;
double r5433028 = r5433019 * r5433027;
double r5433029 = r5433008 - r5433028;
double r5433030 = r5432993 * r5432988;
double r5433031 = r5433030 * r5432987;
double r5433032 = r5432991 * r5433031;
double r5433033 = r5433032 * r5432989;
double r5433034 = r5433033 - r5432999;
double r5433035 = r5433003 + r5433034;
double r5433036 = r5433035 - r5433007;
double r5433037 = r5433021 * r5433021;
double r5433038 = r5433017 * r5433037;
double r5433039 = r5433020 * r5433038;
double r5433040 = cbrt(r5433039);
double r5433041 = r5433036 - r5433040;
double r5433042 = r5433026 ? r5433029 : r5433041;
double r5433043 = r5433010 ? r5433024 : r5433042;
return r5433043;
}



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 18.0) y) z) t) (* (* a 4.0) t)) (* b c)) (* (* x 4.0) i)) < -inf.0Initial program 60.5
Simplified12.8
if -inf.0 < (- (+ (- (* (* (* (* x 18.0) y) z) t) (* (* a 4.0) t)) (* b c)) (* (* x 4.0) i)) < 2.403209667818115e+294Initial program 0.3
rmApplied associate-*l*0.3
if 2.403209667818115e+294 < (- (+ (- (* (* (* (* x 18.0) y) z) t) (* (* a 4.0) t)) (* b c)) (* (* x 4.0) i)) Initial program 42.0
Taylor expanded around inf 27.1
rmApplied associate-*r*27.2
rmApplied associate-*r*10.2
rmApplied add-cbrt-cube21.3
Applied add-cbrt-cube21.3
Applied add-cbrt-cube34.1
Applied cbrt-unprod34.1
Applied cbrt-unprod34.5
Simplified21.9
Final simplification2.1
herbie shell --seed 2019163 +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)))