\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}\;\left(\left(\left(t \cdot \left(\left(\left(x \cdot 18\right) \cdot y\right) \cdot z\right) - \left(a \cdot 4\right) \cdot t\right) + c \cdot b\right) - \left(x \cdot 4\right) \cdot i\right) - \left(27 \cdot j\right) \cdot k \le -2.768204954998920714545692361756405988778 \cdot 10^{305}:\\
\;\;\;\;\mathsf{fma}\left(b, c, \left(\left(y \cdot \left(z \cdot \left(t \cdot x\right)\right)\right) \cdot \sqrt{18}\right) \cdot \sqrt{18} - \mathsf{fma}\left(4, \mathsf{fma}\left(t, a, x \cdot i\right), \left(k \cdot j\right) \cdot 27\right)\right)\\
\mathbf{elif}\;\left(\left(\left(t \cdot \left(\left(\left(x \cdot 18\right) \cdot y\right) \cdot z\right) - \left(a \cdot 4\right) \cdot t\right) + c \cdot b\right) - \left(x \cdot 4\right) \cdot i\right) - \left(27 \cdot j\right) \cdot k \le 4.506487107324018323312747251398502442091 \cdot 10^{306}:\\
\;\;\;\;\left(\left(\left(t \cdot \left(\left(\left(x \cdot 18\right) \cdot y\right) \cdot z\right) - \left(a \cdot 4\right) \cdot t\right) + c \cdot b\right) - \left(x \cdot 4\right) \cdot i\right) - \left(27 \cdot j\right) \cdot k\\
\mathbf{else}:\\
\;\;\;\;\mathsf{fma}\left(b, c, \left(y \cdot 18\right) \cdot \left(z \cdot \left(t \cdot x\right)\right) - \mathsf{fma}\left(4, \mathsf{fma}\left(t, a, x \cdot i\right), j \cdot \left(k \cdot 27\right)\right)\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 r4365263 = x;
double r4365264 = 18.0;
double r4365265 = r4365263 * r4365264;
double r4365266 = y;
double r4365267 = r4365265 * r4365266;
double r4365268 = z;
double r4365269 = r4365267 * r4365268;
double r4365270 = t;
double r4365271 = r4365269 * r4365270;
double r4365272 = a;
double r4365273 = 4.0;
double r4365274 = r4365272 * r4365273;
double r4365275 = r4365274 * r4365270;
double r4365276 = r4365271 - r4365275;
double r4365277 = b;
double r4365278 = c;
double r4365279 = r4365277 * r4365278;
double r4365280 = r4365276 + r4365279;
double r4365281 = r4365263 * r4365273;
double r4365282 = i;
double r4365283 = r4365281 * r4365282;
double r4365284 = r4365280 - r4365283;
double r4365285 = j;
double r4365286 = 27.0;
double r4365287 = r4365285 * r4365286;
double r4365288 = k;
double r4365289 = r4365287 * r4365288;
double r4365290 = r4365284 - r4365289;
return r4365290;
}
double f(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k) {
double r4365291 = t;
double r4365292 = x;
double r4365293 = 18.0;
double r4365294 = r4365292 * r4365293;
double r4365295 = y;
double r4365296 = r4365294 * r4365295;
double r4365297 = z;
double r4365298 = r4365296 * r4365297;
double r4365299 = r4365291 * r4365298;
double r4365300 = a;
double r4365301 = 4.0;
double r4365302 = r4365300 * r4365301;
double r4365303 = r4365302 * r4365291;
double r4365304 = r4365299 - r4365303;
double r4365305 = c;
double r4365306 = b;
double r4365307 = r4365305 * r4365306;
double r4365308 = r4365304 + r4365307;
double r4365309 = r4365292 * r4365301;
double r4365310 = i;
double r4365311 = r4365309 * r4365310;
double r4365312 = r4365308 - r4365311;
double r4365313 = 27.0;
double r4365314 = j;
double r4365315 = r4365313 * r4365314;
double r4365316 = k;
double r4365317 = r4365315 * r4365316;
double r4365318 = r4365312 - r4365317;
double r4365319 = -2.7682049549989207e+305;
bool r4365320 = r4365318 <= r4365319;
double r4365321 = r4365291 * r4365292;
double r4365322 = r4365297 * r4365321;
double r4365323 = r4365295 * r4365322;
double r4365324 = sqrt(r4365293);
double r4365325 = r4365323 * r4365324;
double r4365326 = r4365325 * r4365324;
double r4365327 = r4365292 * r4365310;
double r4365328 = fma(r4365291, r4365300, r4365327);
double r4365329 = r4365316 * r4365314;
double r4365330 = r4365329 * r4365313;
double r4365331 = fma(r4365301, r4365328, r4365330);
double r4365332 = r4365326 - r4365331;
double r4365333 = fma(r4365306, r4365305, r4365332);
double r4365334 = 4.5064871073240183e+306;
bool r4365335 = r4365318 <= r4365334;
double r4365336 = r4365295 * r4365293;
double r4365337 = r4365336 * r4365322;
double r4365338 = r4365316 * r4365313;
double r4365339 = r4365314 * r4365338;
double r4365340 = fma(r4365301, r4365328, r4365339);
double r4365341 = r4365337 - r4365340;
double r4365342 = fma(r4365306, r4365305, r4365341);
double r4365343 = r4365335 ? r4365318 : r4365342;
double r4365344 = r4365320 ? r4365333 : r4365343;
return r4365344;
}



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 (- (- (+ (- (* (* (* (* x 18.0) y) z) t) (* (* a 4.0) t)) (* b c)) (* (* x 4.0) i)) (* (* j 27.0) k)) < -2.7682049549989207e+305Initial program 58.2
Simplified12.5
rmApplied associate-*r*5.8
rmApplied associate-*r*4.9
rmApplied add-sqr-sqrt5.1
Applied associate-*r*5.1
if -2.7682049549989207e+305 < (- (- (+ (- (* (* (* (* x 18.0) y) z) t) (* (* a 4.0) t)) (* b c)) (* (* x 4.0) i)) (* (* j 27.0) k)) < 4.5064871073240183e+306Initial program 0.2
if 4.5064871073240183e+306 < (- (- (+ (- (* (* (* (* x 18.0) y) z) t) (* (* a 4.0) t)) (* b c)) (* (* x 4.0) i)) (* (* j 27.0) k)) Initial program 60.7
Simplified12.1
rmApplied associate-*r*5.7
rmApplied associate-*r*5.7
Final simplification0.7
herbie shell --seed 2019170 +o rules:numerics
(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)))