\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}\;t \le -18869685775798424479823402359192282988540:\\
\;\;\;\;\left(\left(b \cdot c + \left(t \cdot \left(18 \cdot \left(x \cdot \left(z \cdot y\right)\right)\right) - \left(a \cdot 4\right) \cdot t\right)\right) - \left(x \cdot 4\right) \cdot i\right) - 27 \cdot \left(k \cdot j\right)\\
\mathbf{elif}\;t \le 1.786777171204849913027233772322421856416 \cdot 10^{-6}:\\
\;\;\;\;\left(\left(b \cdot c + \left(x \cdot \left(\left(18 \cdot y\right) \cdot \left(z \cdot t\right)\right) - \left(a \cdot 4\right) \cdot t\right)\right) - \left(x \cdot 4\right) \cdot i\right) - \left(j \cdot 27\right) \cdot k\\
\mathbf{else}:\\
\;\;\;\;\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(\sqrt[3]{27 \cdot \left(k \cdot j\right)} \cdot \sqrt[3]{27 \cdot \left(k \cdot j\right)}\right) \cdot \sqrt[3]{27 \cdot \left(k \cdot j\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 r97500 = x;
double r97501 = 18.0;
double r97502 = r97500 * r97501;
double r97503 = y;
double r97504 = r97502 * r97503;
double r97505 = z;
double r97506 = r97504 * r97505;
double r97507 = t;
double r97508 = r97506 * r97507;
double r97509 = a;
double r97510 = 4.0;
double r97511 = r97509 * r97510;
double r97512 = r97511 * r97507;
double r97513 = r97508 - r97512;
double r97514 = b;
double r97515 = c;
double r97516 = r97514 * r97515;
double r97517 = r97513 + r97516;
double r97518 = r97500 * r97510;
double r97519 = i;
double r97520 = r97518 * r97519;
double r97521 = r97517 - r97520;
double r97522 = j;
double r97523 = 27.0;
double r97524 = r97522 * r97523;
double r97525 = k;
double r97526 = r97524 * r97525;
double r97527 = r97521 - r97526;
return r97527;
}
double f(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k) {
double r97528 = t;
double r97529 = -1.8869685775798424e+40;
bool r97530 = r97528 <= r97529;
double r97531 = b;
double r97532 = c;
double r97533 = r97531 * r97532;
double r97534 = 18.0;
double r97535 = x;
double r97536 = z;
double r97537 = y;
double r97538 = r97536 * r97537;
double r97539 = r97535 * r97538;
double r97540 = r97534 * r97539;
double r97541 = r97528 * r97540;
double r97542 = a;
double r97543 = 4.0;
double r97544 = r97542 * r97543;
double r97545 = r97544 * r97528;
double r97546 = r97541 - r97545;
double r97547 = r97533 + r97546;
double r97548 = r97535 * r97543;
double r97549 = i;
double r97550 = r97548 * r97549;
double r97551 = r97547 - r97550;
double r97552 = 27.0;
double r97553 = k;
double r97554 = j;
double r97555 = r97553 * r97554;
double r97556 = r97552 * r97555;
double r97557 = r97551 - r97556;
double r97558 = 1.78677717120485e-06;
bool r97559 = r97528 <= r97558;
double r97560 = r97534 * r97537;
double r97561 = r97536 * r97528;
double r97562 = r97560 * r97561;
double r97563 = r97535 * r97562;
double r97564 = r97563 - r97545;
double r97565 = r97533 + r97564;
double r97566 = r97565 - r97550;
double r97567 = r97554 * r97552;
double r97568 = r97567 * r97553;
double r97569 = r97566 - r97568;
double r97570 = r97535 * r97534;
double r97571 = r97570 * r97537;
double r97572 = r97571 * r97536;
double r97573 = r97572 * r97528;
double r97574 = r97573 - r97545;
double r97575 = r97574 + r97533;
double r97576 = r97575 - r97550;
double r97577 = cbrt(r97556);
double r97578 = r97577 * r97577;
double r97579 = r97578 * r97577;
double r97580 = r97576 - r97579;
double r97581 = r97559 ? r97569 : r97580;
double r97582 = r97530 ? r97557 : r97581;
return r97582;
}



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 t < -1.8869685775798424e+40Initial program 1.6
rmApplied associate-*l*1.7
rmApplied *-un-lft-identity1.7
Applied associate-*l*1.7
Simplified1.6
rmApplied pow11.6
Applied pow11.6
Applied pow11.6
Applied pow11.6
Applied pow11.6
Applied pow-prod-down1.6
Applied pow-prod-down1.6
Applied pow-prod-down1.6
Applied pow-prod-down1.6
Simplified1.6
if -1.8869685775798424e+40 < t < 1.78677717120485e-06Initial program 7.7
rmApplied pow17.7
Applied pow17.7
Applied pow17.7
Applied pow17.7
Applied pow17.7
Applied pow-prod-down7.7
Applied pow-prod-down7.7
Applied pow-prod-down7.7
Applied pow-prod-down7.7
Simplified1.9
if 1.78677717120485e-06 < t Initial program 1.9
rmApplied associate-*l*1.9
rmApplied *-un-lft-identity1.9
Applied associate-*l*1.9
Simplified1.8
rmApplied add-cube-cbrt2.0
Final simplification1.9
herbie shell --seed 2019212
(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)))