\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 -2.4272481818337534 \cdot 10^{181}:\\
\;\;\;\;\mathsf{fma}\left(t, \left(x \cdot 18\right) \cdot \left(y \cdot z\right) - a \cdot 4, b \cdot c - \mathsf{fma}\left(x, 4 \cdot i, \left(j \cdot 27\right) \cdot k\right)\right)\\
\mathbf{elif}\;x \le 1.2900037542469239 \cdot 10^{120}:\\
\;\;\;\;\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{else}:\\
\;\;\;\;\mathsf{fma}\left(t, 0 - a \cdot 4, b \cdot c - \mathsf{fma}\left(x, 4 \cdot i, \left(j \cdot 27\right) \cdot k\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 r169700 = x;
double r169701 = 18.0;
double r169702 = r169700 * r169701;
double r169703 = y;
double r169704 = r169702 * r169703;
double r169705 = z;
double r169706 = r169704 * r169705;
double r169707 = t;
double r169708 = r169706 * r169707;
double r169709 = a;
double r169710 = 4.0;
double r169711 = r169709 * r169710;
double r169712 = r169711 * r169707;
double r169713 = r169708 - r169712;
double r169714 = b;
double r169715 = c;
double r169716 = r169714 * r169715;
double r169717 = r169713 + r169716;
double r169718 = r169700 * r169710;
double r169719 = i;
double r169720 = r169718 * r169719;
double r169721 = r169717 - r169720;
double r169722 = j;
double r169723 = 27.0;
double r169724 = r169722 * r169723;
double r169725 = k;
double r169726 = r169724 * r169725;
double r169727 = r169721 - r169726;
return r169727;
}
double f(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k) {
double r169728 = x;
double r169729 = -2.4272481818337534e+181;
bool r169730 = r169728 <= r169729;
double r169731 = t;
double r169732 = 18.0;
double r169733 = r169728 * r169732;
double r169734 = y;
double r169735 = z;
double r169736 = r169734 * r169735;
double r169737 = r169733 * r169736;
double r169738 = a;
double r169739 = 4.0;
double r169740 = r169738 * r169739;
double r169741 = r169737 - r169740;
double r169742 = b;
double r169743 = c;
double r169744 = r169742 * r169743;
double r169745 = i;
double r169746 = r169739 * r169745;
double r169747 = j;
double r169748 = 27.0;
double r169749 = r169747 * r169748;
double r169750 = k;
double r169751 = r169749 * r169750;
double r169752 = fma(r169728, r169746, r169751);
double r169753 = r169744 - r169752;
double r169754 = fma(r169731, r169741, r169753);
double r169755 = 1.2900037542469239e+120;
bool r169756 = r169728 <= r169755;
double r169757 = r169732 * r169734;
double r169758 = r169728 * r169757;
double r169759 = r169758 * r169735;
double r169760 = r169759 - r169740;
double r169761 = r169748 * r169750;
double r169762 = r169747 * r169761;
double r169763 = fma(r169728, r169746, r169762);
double r169764 = r169744 - r169763;
double r169765 = fma(r169731, r169760, r169764);
double r169766 = 0.0;
double r169767 = r169766 - r169740;
double r169768 = fma(r169731, r169767, r169753);
double r169769 = r169756 ? r169765 : r169768;
double r169770 = r169730 ? r169754 : r169769;
return r169770;
}



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 < -2.4272481818337534e+181Initial program 18.7
Simplified18.7
rmApplied associate-*l*9.4
if -2.4272481818337534e+181 < x < 1.2900037542469239e+120Initial program 3.4
Simplified3.5
rmApplied associate-*l*3.5
rmApplied associate-*l*3.5
if 1.2900037542469239e+120 < x Initial program 18.2
Simplified18.2
Taylor expanded around 0 15.4
Final simplification4.9
herbie shell --seed 2020036 +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)))