\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(\left(t \cdot y\right) \cdot \left(z \cdot x\right), 18, \mathsf{fma}\left(c, b, -\mathsf{fma}\left(4, \mathsf{fma}\left(t, a, x \cdot i\right), \left(j \cdot 27\right) \cdot k\right)\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 3.790565547516040000125064508344150956225 \cdot 10^{245}:\\
\;\;\;\;\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) - \sqrt{27} \cdot \left(\left(\sqrt{27} \cdot k\right) \cdot j\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) - \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 r127360 = x;
double r127361 = 18.0;
double r127362 = r127360 * r127361;
double r127363 = y;
double r127364 = r127362 * r127363;
double r127365 = z;
double r127366 = r127364 * r127365;
double r127367 = t;
double r127368 = r127366 * r127367;
double r127369 = a;
double r127370 = 4.0;
double r127371 = r127369 * r127370;
double r127372 = r127371 * r127367;
double r127373 = r127368 - r127372;
double r127374 = b;
double r127375 = c;
double r127376 = r127374 * r127375;
double r127377 = r127373 + r127376;
double r127378 = r127360 * r127370;
double r127379 = i;
double r127380 = r127378 * r127379;
double r127381 = r127377 - r127380;
double r127382 = j;
double r127383 = 27.0;
double r127384 = r127382 * r127383;
double r127385 = k;
double r127386 = r127384 * r127385;
double r127387 = r127381 - r127386;
return r127387;
}
double f(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k) {
double r127388 = x;
double r127389 = 18.0;
double r127390 = r127388 * r127389;
double r127391 = y;
double r127392 = r127390 * r127391;
double r127393 = z;
double r127394 = r127392 * r127393;
double r127395 = t;
double r127396 = r127394 * r127395;
double r127397 = a;
double r127398 = 4.0;
double r127399 = r127397 * r127398;
double r127400 = r127399 * r127395;
double r127401 = r127396 - r127400;
double r127402 = b;
double r127403 = c;
double r127404 = r127402 * r127403;
double r127405 = r127401 + r127404;
double r127406 = r127388 * r127398;
double r127407 = i;
double r127408 = r127406 * r127407;
double r127409 = r127405 - r127408;
double r127410 = -inf.0;
bool r127411 = r127409 <= r127410;
double r127412 = r127395 * r127391;
double r127413 = r127393 * r127388;
double r127414 = r127412 * r127413;
double r127415 = r127388 * r127407;
double r127416 = fma(r127395, r127397, r127415);
double r127417 = j;
double r127418 = 27.0;
double r127419 = r127417 * r127418;
double r127420 = k;
double r127421 = r127419 * r127420;
double r127422 = fma(r127398, r127416, r127421);
double r127423 = -r127422;
double r127424 = fma(r127403, r127402, r127423);
double r127425 = fma(r127414, r127389, r127424);
double r127426 = 3.79056554751604e+245;
bool r127427 = r127409 <= r127426;
double r127428 = sqrt(r127418);
double r127429 = r127428 * r127420;
double r127430 = r127429 * r127417;
double r127431 = r127428 * r127430;
double r127432 = r127409 - r127431;
double r127433 = r127393 * r127395;
double r127434 = r127392 * r127433;
double r127435 = r127434 - r127400;
double r127436 = r127435 + r127404;
double r127437 = r127436 - r127408;
double r127438 = r127437 - r127421;
double r127439 = r127427 ? r127432 : r127438;
double r127440 = r127411 ? r127425 : r127439;
return r127440;
}



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.1
if -inf.0 < (- (+ (- (* (* (* (* x 18.0) y) z) t) (* (* a 4.0) t)) (* b c)) (* (* x 4.0) i)) < 3.79056554751604e+245Initial program 0.4
rmApplied associate-*l*0.4
rmApplied pow10.4
Applied pow10.4
Applied pow-prod-down0.4
Applied pow10.4
Applied pow-prod-down0.4
Simplified0.3
rmApplied add-sqr-sqrt0.3
Applied associate-*l*0.3
rmApplied associate-*r*0.4
if 3.79056554751604e+245 < (- (+ (- (* (* (* (* x 18.0) y) z) t) (* (* a 4.0) t)) (* b c)) (* (* x 4.0) i)) Initial program 20.8
rmApplied associate-*l*17.4
Final simplification3.1
herbie shell --seed 2019303 +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)))