\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 -5.502401519030054 \cdot 10^{-23}:\\
\;\;\;\;\mathsf{fma}\left(t, \left(x \cdot \left(18 \cdot y\right)\right) \cdot z - a \cdot 4, b \cdot c - \mathsf{fma}\left(x, 4 \cdot i, j \cdot \left(27 \cdot k\right)\right)\right)\\
\mathbf{elif}\;z \le 1.59245233661014477 \cdot 10^{46}:\\
\;\;\;\;\mathsf{fma}\left(t, {\left(18 \cdot \left(x \cdot \left(z \cdot y\right)\right)\right)}^{1} - a \cdot 4, b \cdot c - \mathsf{fma}\left(x, 4 \cdot i, \left(j \cdot 27\right) \cdot k\right)\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 r102246 = x;
double r102247 = 18.0;
double r102248 = r102246 * r102247;
double r102249 = y;
double r102250 = r102248 * r102249;
double r102251 = z;
double r102252 = r102250 * r102251;
double r102253 = t;
double r102254 = r102252 * r102253;
double r102255 = a;
double r102256 = 4.0;
double r102257 = r102255 * r102256;
double r102258 = r102257 * r102253;
double r102259 = r102254 - r102258;
double r102260 = b;
double r102261 = c;
double r102262 = r102260 * r102261;
double r102263 = r102259 + r102262;
double r102264 = r102246 * r102256;
double r102265 = i;
double r102266 = r102264 * r102265;
double r102267 = r102263 - r102266;
double r102268 = j;
double r102269 = 27.0;
double r102270 = r102268 * r102269;
double r102271 = k;
double r102272 = r102270 * r102271;
double r102273 = r102267 - r102272;
return r102273;
}
double f(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k) {
double r102274 = z;
double r102275 = -5.502401519030054e-23;
bool r102276 = r102274 <= r102275;
double r102277 = t;
double r102278 = x;
double r102279 = 18.0;
double r102280 = y;
double r102281 = r102279 * r102280;
double r102282 = r102278 * r102281;
double r102283 = r102282 * r102274;
double r102284 = a;
double r102285 = 4.0;
double r102286 = r102284 * r102285;
double r102287 = r102283 - r102286;
double r102288 = b;
double r102289 = c;
double r102290 = r102288 * r102289;
double r102291 = i;
double r102292 = r102285 * r102291;
double r102293 = j;
double r102294 = 27.0;
double r102295 = k;
double r102296 = r102294 * r102295;
double r102297 = r102293 * r102296;
double r102298 = fma(r102278, r102292, r102297);
double r102299 = r102290 - r102298;
double r102300 = fma(r102277, r102287, r102299);
double r102301 = 1.5924523366101448e+46;
bool r102302 = r102274 <= r102301;
double r102303 = r102274 * r102280;
double r102304 = r102278 * r102303;
double r102305 = r102279 * r102304;
double r102306 = 1.0;
double r102307 = pow(r102305, r102306);
double r102308 = r102307 - r102286;
double r102309 = r102293 * r102294;
double r102310 = r102309 * r102295;
double r102311 = fma(r102278, r102292, r102310);
double r102312 = r102290 - r102311;
double r102313 = fma(r102277, r102308, r102312);
double r102314 = r102278 * r102279;
double r102315 = r102314 * r102280;
double r102316 = r102274 * r102277;
double r102317 = r102315 * r102316;
double r102318 = r102286 * r102277;
double r102319 = r102317 - r102318;
double r102320 = r102319 + r102290;
double r102321 = r102278 * r102285;
double r102322 = r102321 * r102291;
double r102323 = r102320 - r102322;
double r102324 = r102323 - r102310;
double r102325 = r102302 ? r102313 : r102324;
double r102326 = r102276 ? r102300 : r102325;
return r102326;
}



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 z < -5.502401519030054e-23Initial program 6.6
Simplified6.6
rmApplied associate-*l*6.6
rmApplied associate-*l*6.6
if -5.502401519030054e-23 < z < 1.5924523366101448e+46Initial program 4.7
Simplified4.8
rmApplied pow14.8
Applied pow14.8
Applied pow14.8
Applied pow14.8
Applied pow-prod-down4.8
Applied pow-prod-down4.8
Applied pow-prod-down4.8
Simplified1.4
if 1.5924523366101448e+46 < z Initial program 7.8
rmApplied associate-*l*9.7
Final simplification4.1
herbie shell --seed 2020081 +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)))