\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:\\
\;\;\;\;\mathsf{fma}\left(z \cdot \left(x \cdot 18\right), t \cdot y, b \cdot c - \mathsf{fma}\left(4, \mathsf{fma}\left(t, a, x \cdot i\right), \left(j \cdot 27\right) \cdot k\right)\right)\\
\mathbf{elif}\;\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 9.44691043772436753 \cdot 10^{300}:\\
\;\;\;\;\left(\left(\mathsf{fma}\left(b, c, t \cdot \left(\left(\left(x \cdot 18\right) \cdot y\right) \cdot z - a \cdot 4\right)\right) - 4 \cdot \left(i \cdot x\right)\right) + \left(x \cdot 4\right) \cdot \left(\left(-i\right) + i\right)\right) - \left(j \cdot 27\right) \cdot k\\
\mathbf{else}:\\
\;\;\;\;\left(\left(x \cdot 18\right) \cdot \left(y \cdot \left(z \cdot t\right)\right) - \mathsf{fma}\left(x \cdot 4, i, \left(a \cdot 4\right) \cdot t - b \cdot c\right)\right) - \left(j \cdot 27\right) \cdot k\\
\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 r161223 = x;
double r161224 = 18.0;
double r161225 = r161223 * r161224;
double r161226 = y;
double r161227 = r161225 * r161226;
double r161228 = z;
double r161229 = r161227 * r161228;
double r161230 = t;
double r161231 = r161229 * r161230;
double r161232 = a;
double r161233 = 4.0;
double r161234 = r161232 * r161233;
double r161235 = r161234 * r161230;
double r161236 = r161231 - r161235;
double r161237 = b;
double r161238 = c;
double r161239 = r161237 * r161238;
double r161240 = r161236 + r161239;
double r161241 = r161223 * r161233;
double r161242 = i;
double r161243 = r161241 * r161242;
double r161244 = r161240 - r161243;
double r161245 = j;
double r161246 = 27.0;
double r161247 = r161245 * r161246;
double r161248 = k;
double r161249 = r161247 * r161248;
double r161250 = r161244 - r161249;
return r161250;
}
double f(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k) {
double r161251 = x;
double r161252 = 18.0;
double r161253 = r161251 * r161252;
double r161254 = y;
double r161255 = r161253 * r161254;
double r161256 = z;
double r161257 = r161255 * r161256;
double r161258 = t;
double r161259 = r161257 * r161258;
double r161260 = a;
double r161261 = 4.0;
double r161262 = r161260 * r161261;
double r161263 = r161262 * r161258;
double r161264 = r161259 - r161263;
double r161265 = b;
double r161266 = c;
double r161267 = r161265 * r161266;
double r161268 = r161264 + r161267;
double r161269 = r161251 * r161261;
double r161270 = i;
double r161271 = r161269 * r161270;
double r161272 = r161268 - r161271;
double r161273 = -inf.0;
bool r161274 = r161272 <= r161273;
double r161275 = r161256 * r161253;
double r161276 = r161258 * r161254;
double r161277 = r161251 * r161270;
double r161278 = fma(r161258, r161260, r161277);
double r161279 = j;
double r161280 = 27.0;
double r161281 = r161279 * r161280;
double r161282 = k;
double r161283 = r161281 * r161282;
double r161284 = fma(r161261, r161278, r161283);
double r161285 = r161267 - r161284;
double r161286 = fma(r161275, r161276, r161285);
double r161287 = 9.446910437724368e+300;
bool r161288 = r161272 <= r161287;
double r161289 = r161257 - r161262;
double r161290 = r161258 * r161289;
double r161291 = fma(r161265, r161266, r161290);
double r161292 = r161270 * r161251;
double r161293 = r161261 * r161292;
double r161294 = r161291 - r161293;
double r161295 = -r161270;
double r161296 = r161295 + r161270;
double r161297 = r161269 * r161296;
double r161298 = r161294 + r161297;
double r161299 = r161298 - r161283;
double r161300 = r161256 * r161258;
double r161301 = r161254 * r161300;
double r161302 = r161253 * r161301;
double r161303 = r161263 - r161267;
double r161304 = fma(r161269, r161270, r161303);
double r161305 = r161302 - r161304;
double r161306 = r161305 - r161283;
double r161307 = r161288 ? r161299 : r161306;
double r161308 = r161274 ? r161286 : r161307;
return r161308;
}



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 64.0
Simplified14.3
if -inf.0 < (- (+ (- (* (* (* (* x 18.0) y) z) t) (* (* a 4.0) t)) (* b c)) (* (* x 4.0) i)) < 9.446910437724368e+300Initial program 0.4
rmApplied associate-*l*3.3
rmApplied add-sqr-sqrt34.3
Applied prod-diff34.3
Simplified0.4
Simplified0.4
if 9.446910437724368e+300 < (- (+ (- (* (* (* (* x 18.0) y) z) t) (* (* a 4.0) t)) (* b c)) (* (* x 4.0) i)) Initial program 49.4
rmApplied associate-*l*28.1
rmApplied associate-*l*7.0
rmApplied associate-+l-7.0
Applied associate--l-7.0
Simplified7.0
Final simplification1.3
herbie shell --seed 2020042 +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)))