\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}\;z \le -4.699495481705561 \cdot 10^{+36}:\\
\;\;\;\;\left(\left(c \cdot b - k \cdot \left(j \cdot 27.0\right)\right) - \left(i \cdot x\right) \cdot 4.0\right) + \left(\left(\left(18.0 \cdot x\right) \cdot y\right) \cdot z - 4.0 \cdot a\right) \cdot t\\
\mathbf{else}:\\
\;\;\;\;t \cdot \left(\left(\left(z \cdot y\right) \cdot x\right) \cdot 18.0 - 4.0 \cdot a\right) + \left(\left(c \cdot b - k \cdot \left(j \cdot 27.0\right)\right) - \left(i \cdot x\right) \cdot 4.0\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 r5000487 = x;
double r5000488 = 18.0;
double r5000489 = r5000487 * r5000488;
double r5000490 = y;
double r5000491 = r5000489 * r5000490;
double r5000492 = z;
double r5000493 = r5000491 * r5000492;
double r5000494 = t;
double r5000495 = r5000493 * r5000494;
double r5000496 = a;
double r5000497 = 4.0;
double r5000498 = r5000496 * r5000497;
double r5000499 = r5000498 * r5000494;
double r5000500 = r5000495 - r5000499;
double r5000501 = b;
double r5000502 = c;
double r5000503 = r5000501 * r5000502;
double r5000504 = r5000500 + r5000503;
double r5000505 = r5000487 * r5000497;
double r5000506 = i;
double r5000507 = r5000505 * r5000506;
double r5000508 = r5000504 - r5000507;
double r5000509 = j;
double r5000510 = 27.0;
double r5000511 = r5000509 * r5000510;
double r5000512 = k;
double r5000513 = r5000511 * r5000512;
double r5000514 = r5000508 - r5000513;
return r5000514;
}
double f(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k) {
double r5000515 = z;
double r5000516 = -4.699495481705561e+36;
bool r5000517 = r5000515 <= r5000516;
double r5000518 = c;
double r5000519 = b;
double r5000520 = r5000518 * r5000519;
double r5000521 = k;
double r5000522 = j;
double r5000523 = 27.0;
double r5000524 = r5000522 * r5000523;
double r5000525 = r5000521 * r5000524;
double r5000526 = r5000520 - r5000525;
double r5000527 = i;
double r5000528 = x;
double r5000529 = r5000527 * r5000528;
double r5000530 = 4.0;
double r5000531 = r5000529 * r5000530;
double r5000532 = r5000526 - r5000531;
double r5000533 = 18.0;
double r5000534 = r5000533 * r5000528;
double r5000535 = y;
double r5000536 = r5000534 * r5000535;
double r5000537 = r5000536 * r5000515;
double r5000538 = a;
double r5000539 = r5000530 * r5000538;
double r5000540 = r5000537 - r5000539;
double r5000541 = t;
double r5000542 = r5000540 * r5000541;
double r5000543 = r5000532 + r5000542;
double r5000544 = r5000515 * r5000535;
double r5000545 = r5000544 * r5000528;
double r5000546 = r5000545 * r5000533;
double r5000547 = r5000546 - r5000539;
double r5000548 = r5000541 * r5000547;
double r5000549 = r5000548 + r5000532;
double r5000550 = r5000517 ? r5000543 : r5000549;
return r5000550;
}



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 < -4.699495481705561e+36Initial program 7.6
Simplified14.5
rmApplied associate-*r*7.6
if -4.699495481705561e+36 < z Initial program 4.8
Simplified4.2
Taylor expanded around -inf 4.2
Final simplification4.8
herbie shell --seed 2019151
(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)))