\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(\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) - \left(27.0 \cdot j\right) \cdot k = -\infty:\\
\;\;\;\;\mathsf{fma}\left(b, c, \left(z \cdot \left(t \cdot x\right)\right) \cdot \left(y \cdot 18.0\right) - \mathsf{fma}\left(4.0, \mathsf{fma}\left(t, a, x \cdot i\right), \left(k \cdot 27.0\right) \cdot j\right)\right)\\
\mathbf{elif}\;\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) - \left(27.0 \cdot j\right) \cdot k \le 2.6091300751783966 \cdot 10^{+305}:\\
\;\;\;\;\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) - \left(27.0 \cdot j\right) \cdot k\\
\mathbf{else}:\\
\;\;\;\;\mathsf{fma}\left(b, c, \left(z \cdot \left(t \cdot x\right)\right) \cdot \left(y \cdot 18.0\right) - \mathsf{fma}\left(4.0, \mathsf{fma}\left(t, a, x \cdot i\right), \left(k \cdot 27.0\right) \cdot j\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 r4898147 = x;
double r4898148 = 18.0;
double r4898149 = r4898147 * r4898148;
double r4898150 = y;
double r4898151 = r4898149 * r4898150;
double r4898152 = z;
double r4898153 = r4898151 * r4898152;
double r4898154 = t;
double r4898155 = r4898153 * r4898154;
double r4898156 = a;
double r4898157 = 4.0;
double r4898158 = r4898156 * r4898157;
double r4898159 = r4898158 * r4898154;
double r4898160 = r4898155 - r4898159;
double r4898161 = b;
double r4898162 = c;
double r4898163 = r4898161 * r4898162;
double r4898164 = r4898160 + r4898163;
double r4898165 = r4898147 * r4898157;
double r4898166 = i;
double r4898167 = r4898165 * r4898166;
double r4898168 = r4898164 - r4898167;
double r4898169 = j;
double r4898170 = 27.0;
double r4898171 = r4898169 * r4898170;
double r4898172 = k;
double r4898173 = r4898171 * r4898172;
double r4898174 = r4898168 - r4898173;
return r4898174;
}
double f(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k) {
double r4898175 = t;
double r4898176 = x;
double r4898177 = 18.0;
double r4898178 = r4898176 * r4898177;
double r4898179 = y;
double r4898180 = r4898178 * r4898179;
double r4898181 = z;
double r4898182 = r4898180 * r4898181;
double r4898183 = r4898175 * r4898182;
double r4898184 = a;
double r4898185 = 4.0;
double r4898186 = r4898184 * r4898185;
double r4898187 = r4898186 * r4898175;
double r4898188 = r4898183 - r4898187;
double r4898189 = c;
double r4898190 = b;
double r4898191 = r4898189 * r4898190;
double r4898192 = r4898188 + r4898191;
double r4898193 = r4898176 * r4898185;
double r4898194 = i;
double r4898195 = r4898193 * r4898194;
double r4898196 = r4898192 - r4898195;
double r4898197 = 27.0;
double r4898198 = j;
double r4898199 = r4898197 * r4898198;
double r4898200 = k;
double r4898201 = r4898199 * r4898200;
double r4898202 = r4898196 - r4898201;
double r4898203 = -inf.0;
bool r4898204 = r4898202 <= r4898203;
double r4898205 = r4898175 * r4898176;
double r4898206 = r4898181 * r4898205;
double r4898207 = r4898179 * r4898177;
double r4898208 = r4898206 * r4898207;
double r4898209 = r4898176 * r4898194;
double r4898210 = fma(r4898175, r4898184, r4898209);
double r4898211 = r4898200 * r4898197;
double r4898212 = r4898211 * r4898198;
double r4898213 = fma(r4898185, r4898210, r4898212);
double r4898214 = r4898208 - r4898213;
double r4898215 = fma(r4898190, r4898189, r4898214);
double r4898216 = 2.6091300751783966e+305;
bool r4898217 = r4898202 <= r4898216;
double r4898218 = r4898217 ? r4898202 : r4898215;
double r4898219 = r4898204 ? r4898215 : r4898218;
return r4898219;
}



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)) (* (* j 27.0) k)) < -inf.0 or 2.6091300751783966e+305 < (- (- (+ (- (* (* (* (* x 18.0) y) z) t) (* (* a 4.0) t)) (* b c)) (* (* x 4.0) i)) (* (* j 27.0) k)) Initial program 57.7
Simplified12.6
rmApplied associate-*r*12.6
rmApplied associate-*r*5.2
if -inf.0 < (- (- (+ (- (* (* (* (* x 18.0) y) z) t) (* (* a 4.0) t)) (* b c)) (* (* x 4.0) i)) (* (* j 27.0) k)) < 2.6091300751783966e+305Initial program 0.3
Final simplification0.8
herbie shell --seed 2019162 +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)))