\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}\;y \le -7.885911950305317851881313787481021307705 \cdot 10^{178}:\\
\;\;\;\;\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) - 27 \cdot \left(k \cdot j\right)\\
\mathbf{elif}\;y \le -391083296308196469532262400:\\
\;\;\;\;\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) - \left(j \cdot 27\right) \cdot k\\
\mathbf{elif}\;y \le 7.835535722256598287796859666387147360488 \cdot 10^{104}:\\
\;\;\;\;\left(\left(\left(x \cdot \left(\left(18 \cdot t\right) \cdot \left(z \cdot y\right)\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\\
\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) - 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 r94538 = x;
double r94539 = 18.0;
double r94540 = r94538 * r94539;
double r94541 = y;
double r94542 = r94540 * r94541;
double r94543 = z;
double r94544 = r94542 * r94543;
double r94545 = t;
double r94546 = r94544 * r94545;
double r94547 = a;
double r94548 = 4.0;
double r94549 = r94547 * r94548;
double r94550 = r94549 * r94545;
double r94551 = r94546 - r94550;
double r94552 = b;
double r94553 = c;
double r94554 = r94552 * r94553;
double r94555 = r94551 + r94554;
double r94556 = r94538 * r94548;
double r94557 = i;
double r94558 = r94556 * r94557;
double r94559 = r94555 - r94558;
double r94560 = j;
double r94561 = 27.0;
double r94562 = r94560 * r94561;
double r94563 = k;
double r94564 = r94562 * r94563;
double r94565 = r94559 - r94564;
return r94565;
}
double f(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k) {
double r94566 = y;
double r94567 = -7.885911950305318e+178;
bool r94568 = r94566 <= r94567;
double r94569 = x;
double r94570 = 18.0;
double r94571 = r94569 * r94570;
double r94572 = r94571 * r94566;
double r94573 = z;
double r94574 = t;
double r94575 = r94573 * r94574;
double r94576 = r94572 * r94575;
double r94577 = a;
double r94578 = 4.0;
double r94579 = r94577 * r94578;
double r94580 = r94579 * r94574;
double r94581 = r94576 - r94580;
double r94582 = b;
double r94583 = c;
double r94584 = r94582 * r94583;
double r94585 = r94581 + r94584;
double r94586 = r94569 * r94578;
double r94587 = i;
double r94588 = r94586 * r94587;
double r94589 = r94585 - r94588;
double r94590 = 27.0;
double r94591 = k;
double r94592 = j;
double r94593 = r94591 * r94592;
double r94594 = r94590 * r94593;
double r94595 = r94589 - r94594;
double r94596 = -3.910832963081965e+26;
bool r94597 = r94566 <= r94596;
double r94598 = r94566 * r94575;
double r94599 = r94571 * r94598;
double r94600 = r94599 - r94580;
double r94601 = r94600 + r94584;
double r94602 = r94601 - r94588;
double r94603 = r94592 * r94590;
double r94604 = r94603 * r94591;
double r94605 = r94602 - r94604;
double r94606 = 7.835535722256598e+104;
bool r94607 = r94566 <= r94606;
double r94608 = r94570 * r94574;
double r94609 = r94573 * r94566;
double r94610 = r94608 * r94609;
double r94611 = r94569 * r94610;
double r94612 = r94611 - r94580;
double r94613 = r94612 + r94584;
double r94614 = r94613 - r94588;
double r94615 = r94614 - r94604;
double r94616 = r94590 * r94591;
double r94617 = r94592 * r94616;
double r94618 = r94589 - r94617;
double r94619 = r94607 ? r94615 : r94618;
double r94620 = r94597 ? r94605 : r94619;
double r94621 = r94568 ? r94595 : r94620;
return r94621;
}



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 y < -7.885911950305318e+178Initial program 17.6
rmApplied associate-*l*12.8
rmApplied associate-*l*12.8
rmApplied *-un-lft-identity12.8
Applied associate-*l*12.8
Simplified12.7
if -7.885911950305318e+178 < y < -3.910832963081965e+26Initial program 8.6
rmApplied associate-*l*7.6
rmApplied associate-*l*5.4
if -3.910832963081965e+26 < y < 7.835535722256598e+104Initial program 1.9
rmApplied associate-*l*4.7
rmApplied associate-*l*4.6
rmApplied associate-*l*4.5
Simplified1.9
if 7.835535722256598e+104 < y Initial program 14.4
rmApplied associate-*l*11.1
rmApplied associate-*l*11.0
Final simplification4.5
herbie shell --seed 2019323 +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)))