\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}\;x \le -7.626211434592408442050935797592645449118 \cdot 10^{-36}:\\
\;\;\;\;\left(\left(\left(\left(x \cdot 18\right) \cdot \left(\left(y \cdot z\right) \cdot t\right) - \left(a \cdot 4\right) \cdot t\right) + b \cdot c\right) - \left(x \cdot 4\right) \cdot i\right) - 27 \cdot \left(k \cdot j\right)\\
\mathbf{elif}\;x \le 21885021756705142739042304:\\
\;\;\;\;\left(\left(\left(\left(\left(\left(\left(x \cdot 18\right) \cdot y\right) \cdot \left(\sqrt[3]{z} \cdot \sqrt[3]{z}\right)\right) \cdot \sqrt[3]{z}\right) \cdot t - \left(a \cdot 4\right) \cdot t\right) + b \cdot c\right) - \left(x \cdot 4\right) \cdot i\right) - j \cdot \left(27 \cdot k\right)\\
\mathbf{else}:\\
\;\;\;\;\left(\left(\left(\left(x \cdot 18\right) \cdot \left(y \cdot \left(z \cdot t\right)\right) - \left(a \cdot 4\right) \cdot t\right) + b \cdot c\right) - \left(x \cdot 4\right) \cdot i\right) - j \cdot \left(27 \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 r77056 = x;
double r77057 = 18.0;
double r77058 = r77056 * r77057;
double r77059 = y;
double r77060 = r77058 * r77059;
double r77061 = z;
double r77062 = r77060 * r77061;
double r77063 = t;
double r77064 = r77062 * r77063;
double r77065 = a;
double r77066 = 4.0;
double r77067 = r77065 * r77066;
double r77068 = r77067 * r77063;
double r77069 = r77064 - r77068;
double r77070 = b;
double r77071 = c;
double r77072 = r77070 * r77071;
double r77073 = r77069 + r77072;
double r77074 = r77056 * r77066;
double r77075 = i;
double r77076 = r77074 * r77075;
double r77077 = r77073 - r77076;
double r77078 = j;
double r77079 = 27.0;
double r77080 = r77078 * r77079;
double r77081 = k;
double r77082 = r77080 * r77081;
double r77083 = r77077 - r77082;
return r77083;
}
double f(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k) {
double r77084 = x;
double r77085 = -7.626211434592408e-36;
bool r77086 = r77084 <= r77085;
double r77087 = 18.0;
double r77088 = r77084 * r77087;
double r77089 = y;
double r77090 = z;
double r77091 = r77089 * r77090;
double r77092 = t;
double r77093 = r77091 * r77092;
double r77094 = r77088 * r77093;
double r77095 = a;
double r77096 = 4.0;
double r77097 = r77095 * r77096;
double r77098 = r77097 * r77092;
double r77099 = r77094 - r77098;
double r77100 = b;
double r77101 = c;
double r77102 = r77100 * r77101;
double r77103 = r77099 + r77102;
double r77104 = r77084 * r77096;
double r77105 = i;
double r77106 = r77104 * r77105;
double r77107 = r77103 - r77106;
double r77108 = 27.0;
double r77109 = k;
double r77110 = j;
double r77111 = r77109 * r77110;
double r77112 = r77108 * r77111;
double r77113 = r77107 - r77112;
double r77114 = 2.1885021756705143e+25;
bool r77115 = r77084 <= r77114;
double r77116 = r77088 * r77089;
double r77117 = cbrt(r77090);
double r77118 = r77117 * r77117;
double r77119 = r77116 * r77118;
double r77120 = r77119 * r77117;
double r77121 = r77120 * r77092;
double r77122 = r77121 - r77098;
double r77123 = r77122 + r77102;
double r77124 = r77123 - r77106;
double r77125 = r77108 * r77109;
double r77126 = r77110 * r77125;
double r77127 = r77124 - r77126;
double r77128 = r77090 * r77092;
double r77129 = r77089 * r77128;
double r77130 = r77088 * r77129;
double r77131 = r77130 - r77098;
double r77132 = r77131 + r77102;
double r77133 = r77132 - r77106;
double r77134 = r77133 - r77126;
double r77135 = r77115 ? r77127 : r77134;
double r77136 = r77086 ? r77113 : r77135;
return r77136;
}



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 x < -7.626211434592408e-36Initial program 11.3
rmApplied associate-*l*11.3
rmApplied associate-*l*7.3
rmApplied associate-*l*2.6
rmApplied pow12.6
Applied pow12.6
Applied pow-prod-down2.6
Applied pow12.6
Applied pow-prod-down2.6
Simplified2.5
if -7.626211434592408e-36 < x < 2.1885021756705143e+25Initial program 1.6
rmApplied associate-*l*1.7
rmApplied add-cube-cbrt1.8
Applied associate-*r*1.8
if 2.1885021756705143e+25 < x Initial program 13.6
rmApplied associate-*l*13.8
rmApplied associate-*l*7.7
rmApplied associate-*l*1.9
rmApplied associate-*l*1.9
Final simplification2.0
herbie shell --seed 2019326 +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)))