\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(\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 = -\infty:\\
\;\;\;\;\mathsf{fma}\left(\left(t \cdot y\right) \cdot \left(z \cdot x\right), 18, \mathsf{fma}\left(c, b, -\mathsf{fma}\left(4, \mathsf{fma}\left(t, a, x \cdot i\right), \left(j \cdot 27\right) \cdot k\right)\right)\right)\\
\mathbf{elif}\;\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 \le 3.790565547516040000125064508344150956225 \cdot 10^{245}:\\
\;\;\;\;\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) - \sqrt{27} \cdot \left(\left(\sqrt{27} \cdot k\right) \cdot j\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 r89285 = x;
double r89286 = 18.0;
double r89287 = r89285 * r89286;
double r89288 = y;
double r89289 = r89287 * r89288;
double r89290 = z;
double r89291 = r89289 * r89290;
double r89292 = t;
double r89293 = r89291 * r89292;
double r89294 = a;
double r89295 = 4.0;
double r89296 = r89294 * r89295;
double r89297 = r89296 * r89292;
double r89298 = r89293 - r89297;
double r89299 = b;
double r89300 = c;
double r89301 = r89299 * r89300;
double r89302 = r89298 + r89301;
double r89303 = r89285 * r89295;
double r89304 = i;
double r89305 = r89303 * r89304;
double r89306 = r89302 - r89305;
double r89307 = j;
double r89308 = 27.0;
double r89309 = r89307 * r89308;
double r89310 = k;
double r89311 = r89309 * r89310;
double r89312 = r89306 - r89311;
return r89312;
}
double f(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k) {
double r89313 = x;
double r89314 = 18.0;
double r89315 = r89313 * r89314;
double r89316 = y;
double r89317 = r89315 * r89316;
double r89318 = z;
double r89319 = r89317 * r89318;
double r89320 = t;
double r89321 = r89319 * r89320;
double r89322 = a;
double r89323 = 4.0;
double r89324 = r89322 * r89323;
double r89325 = r89324 * r89320;
double r89326 = r89321 - r89325;
double r89327 = b;
double r89328 = c;
double r89329 = r89327 * r89328;
double r89330 = r89326 + r89329;
double r89331 = r89313 * r89323;
double r89332 = i;
double r89333 = r89331 * r89332;
double r89334 = r89330 - r89333;
double r89335 = -inf.0;
bool r89336 = r89334 <= r89335;
double r89337 = r89320 * r89316;
double r89338 = r89318 * r89313;
double r89339 = r89337 * r89338;
double r89340 = r89313 * r89332;
double r89341 = fma(r89320, r89322, r89340);
double r89342 = j;
double r89343 = 27.0;
double r89344 = r89342 * r89343;
double r89345 = k;
double r89346 = r89344 * r89345;
double r89347 = fma(r89323, r89341, r89346);
double r89348 = -r89347;
double r89349 = fma(r89328, r89327, r89348);
double r89350 = fma(r89339, r89314, r89349);
double r89351 = 3.79056554751604e+245;
bool r89352 = r89334 <= r89351;
double r89353 = sqrt(r89343);
double r89354 = r89353 * r89345;
double r89355 = r89354 * r89342;
double r89356 = r89353 * r89355;
double r89357 = r89334 - r89356;
double r89358 = r89318 * r89320;
double r89359 = r89317 * r89358;
double r89360 = r89359 - r89325;
double r89361 = r89360 + r89329;
double r89362 = r89361 - r89333;
double r89363 = r89362 - r89346;
double r89364 = r89352 ? r89357 : r89363;
double r89365 = r89336 ? r89350 : r89364;
return r89365;
}



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)) < -inf.0Initial program 64.0
Simplified14.1
if -inf.0 < (- (+ (- (* (* (* (* x 18.0) y) z) t) (* (* a 4.0) t)) (* b c)) (* (* x 4.0) i)) < 3.79056554751604e+245Initial program 0.4
rmApplied associate-*l*0.4
Taylor expanded around 0 0.3
rmApplied add-sqr-sqrt0.3
Applied associate-*l*0.3
rmApplied associate-*r*0.4
if 3.79056554751604e+245 < (- (+ (- (* (* (* (* x 18.0) y) z) t) (* (* a 4.0) t)) (* b c)) (* (* x 4.0) i)) Initial program 20.8
rmApplied associate-*l*17.4
Final simplification3.1
herbie shell --seed 2019303 +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)))