\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}\;\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 = -\infty \lor \neg \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 \le 5.8546426371867731 \cdot 10^{298}\right):\\
\;\;\;\;\left(\left(\left(\left(x \cdot 18\right) \cdot \left(y \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(\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(k \cdot j\right) \cdot 27\\
\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 r140044 = x;
double r140045 = 18.0;
double r140046 = r140044 * r140045;
double r140047 = y;
double r140048 = r140046 * r140047;
double r140049 = z;
double r140050 = r140048 * r140049;
double r140051 = t;
double r140052 = r140050 * r140051;
double r140053 = a;
double r140054 = 4.0;
double r140055 = r140053 * r140054;
double r140056 = r140055 * r140051;
double r140057 = r140052 - r140056;
double r140058 = b;
double r140059 = c;
double r140060 = r140058 * r140059;
double r140061 = r140057 + r140060;
double r140062 = r140044 * r140054;
double r140063 = i;
double r140064 = r140062 * r140063;
double r140065 = r140061 - r140064;
double r140066 = j;
double r140067 = 27.0;
double r140068 = r140066 * r140067;
double r140069 = k;
double r140070 = r140068 * r140069;
double r140071 = r140065 - r140070;
return r140071;
}
double f(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k) {
double r140072 = x;
double r140073 = 18.0;
double r140074 = r140072 * r140073;
double r140075 = y;
double r140076 = r140074 * r140075;
double r140077 = z;
double r140078 = r140076 * r140077;
double r140079 = t;
double r140080 = r140078 * r140079;
double r140081 = a;
double r140082 = 4.0;
double r140083 = r140081 * r140082;
double r140084 = r140083 * r140079;
double r140085 = r140080 - r140084;
double r140086 = b;
double r140087 = c;
double r140088 = r140086 * r140087;
double r140089 = r140085 + r140088;
double r140090 = r140072 * r140082;
double r140091 = i;
double r140092 = r140090 * r140091;
double r140093 = r140089 - r140092;
double r140094 = -inf.0;
bool r140095 = r140093 <= r140094;
double r140096 = 5.854642637186773e+298;
bool r140097 = r140093 <= r140096;
double r140098 = !r140097;
bool r140099 = r140095 || r140098;
double r140100 = r140077 * r140079;
double r140101 = r140075 * r140100;
double r140102 = r140074 * r140101;
double r140103 = r140102 - r140084;
double r140104 = r140103 + r140088;
double r140105 = r140104 - r140092;
double r140106 = j;
double r140107 = 27.0;
double r140108 = r140106 * r140107;
double r140109 = k;
double r140110 = r140108 * r140109;
double r140111 = r140105 - r140110;
double r140112 = r140109 * r140106;
double r140113 = r140112 * r140107;
double r140114 = r140093 - r140113;
double r140115 = r140099 ? r140111 : r140114;
return r140115;
}



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 18.0) y) z) t) (* (* a 4.0) t)) (* b c)) (* (* x 4.0) i)) < -inf.0 or 5.854642637186773e+298 < (- (+ (- (* (* (* (* x 18.0) y) z) t) (* (* a 4.0) t)) (* b c)) (* (* x 4.0) i)) Initial program 55.0
rmApplied associate-*l*30.4
rmApplied associate-*l*5.4
if -inf.0 < (- (+ (- (* (* (* (* x 18.0) y) z) t) (* (* a 4.0) t)) (* b c)) (* (* x 4.0) i)) < 5.854642637186773e+298Initial program 0.3
rmApplied pow10.3
Applied pow10.3
Applied pow10.3
Applied pow-prod-down0.3
Applied pow-prod-down0.3
Simplified0.3
Final simplification0.8
herbie shell --seed 2020045 +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)))