\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}\;z \le -6.023016971486713978695466466448444890718 \cdot 10^{129} \lor \neg \left(z \le 4.983042576879064654649325286831293190518 \cdot 10^{-72}\right):\\
\;\;\;\;\left(t \cdot \left(\left(\left(x \cdot 18\right) \cdot y\right) \cdot z - a \cdot 4\right) + b \cdot c\right) - \left(\left(x \cdot 4\right) \cdot i + j \cdot \left(27 \cdot k\right)\right)\\
\mathbf{else}:\\
\;\;\;\;\left(t \cdot \left(x \cdot \left(\left(y \cdot 18\right) \cdot z\right) - a \cdot 4\right) + b \cdot c\right) - \left(\left(x \cdot 4\right) \cdot i + \left(j \cdot 27\right) \cdot k\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 r78510 = x;
double r78511 = 18.0;
double r78512 = r78510 * r78511;
double r78513 = y;
double r78514 = r78512 * r78513;
double r78515 = z;
double r78516 = r78514 * r78515;
double r78517 = t;
double r78518 = r78516 * r78517;
double r78519 = a;
double r78520 = 4.0;
double r78521 = r78519 * r78520;
double r78522 = r78521 * r78517;
double r78523 = r78518 - r78522;
double r78524 = b;
double r78525 = c;
double r78526 = r78524 * r78525;
double r78527 = r78523 + r78526;
double r78528 = r78510 * r78520;
double r78529 = i;
double r78530 = r78528 * r78529;
double r78531 = r78527 - r78530;
double r78532 = j;
double r78533 = 27.0;
double r78534 = r78532 * r78533;
double r78535 = k;
double r78536 = r78534 * r78535;
double r78537 = r78531 - r78536;
return r78537;
}
double f(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k) {
double r78538 = z;
double r78539 = -6.023016971486714e+129;
bool r78540 = r78538 <= r78539;
double r78541 = 4.983042576879065e-72;
bool r78542 = r78538 <= r78541;
double r78543 = !r78542;
bool r78544 = r78540 || r78543;
double r78545 = t;
double r78546 = x;
double r78547 = 18.0;
double r78548 = r78546 * r78547;
double r78549 = y;
double r78550 = r78548 * r78549;
double r78551 = r78550 * r78538;
double r78552 = a;
double r78553 = 4.0;
double r78554 = r78552 * r78553;
double r78555 = r78551 - r78554;
double r78556 = r78545 * r78555;
double r78557 = b;
double r78558 = c;
double r78559 = r78557 * r78558;
double r78560 = r78556 + r78559;
double r78561 = r78546 * r78553;
double r78562 = i;
double r78563 = r78561 * r78562;
double r78564 = j;
double r78565 = 27.0;
double r78566 = k;
double r78567 = r78565 * r78566;
double r78568 = r78564 * r78567;
double r78569 = r78563 + r78568;
double r78570 = r78560 - r78569;
double r78571 = r78549 * r78547;
double r78572 = r78571 * r78538;
double r78573 = r78546 * r78572;
double r78574 = r78573 - r78554;
double r78575 = r78545 * r78574;
double r78576 = r78575 + r78559;
double r78577 = r78564 * r78565;
double r78578 = r78577 * r78566;
double r78579 = r78563 + r78578;
double r78580 = r78576 - r78579;
double r78581 = r78544 ? r78570 : r78580;
return r78581;
}



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 z < -6.023016971486714e+129 or 4.983042576879065e-72 < z Initial program 6.7
Simplified6.7
rmApplied associate-*l*6.7
if -6.023016971486714e+129 < z < 4.983042576879065e-72Initial program 5.1
Simplified5.1
rmApplied associate-*l*5.1
Simplified5.1
rmApplied associate-*l*2.5
Final simplification4.2
herbie shell --seed 2019323
(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)))