\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}\;t \le -1.816104989340000263533513256286904752193 \cdot 10^{-100}:\\
\;\;\;\;\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}\;t \le 1.945396783892281696257471720471681450496 \cdot 10^{-140}:\\
\;\;\;\;\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)\\
\mathbf{else}:\\
\;\;\;\;\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, \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 r166069 = x;
double r166070 = 18.0;
double r166071 = r166069 * r166070;
double r166072 = y;
double r166073 = r166071 * r166072;
double r166074 = z;
double r166075 = r166073 * r166074;
double r166076 = t;
double r166077 = r166075 * r166076;
double r166078 = a;
double r166079 = 4.0;
double r166080 = r166078 * r166079;
double r166081 = r166080 * r166076;
double r166082 = r166077 - r166081;
double r166083 = b;
double r166084 = c;
double r166085 = r166083 * r166084;
double r166086 = r166082 + r166085;
double r166087 = r166069 * r166079;
double r166088 = i;
double r166089 = r166087 * r166088;
double r166090 = r166086 - r166089;
double r166091 = j;
double r166092 = 27.0;
double r166093 = r166091 * r166092;
double r166094 = k;
double r166095 = r166093 * r166094;
double r166096 = r166090 - r166095;
return r166096;
}
double f(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k) {
double r166097 = t;
double r166098 = -1.8161049893400003e-100;
bool r166099 = r166097 <= r166098;
double r166100 = x;
double r166101 = 18.0;
double r166102 = r166100 * r166101;
double r166103 = y;
double r166104 = z;
double r166105 = r166103 * r166104;
double r166106 = r166102 * r166105;
double r166107 = a;
double r166108 = 4.0;
double r166109 = r166107 * r166108;
double r166110 = r166106 - r166109;
double r166111 = b;
double r166112 = c;
double r166113 = r166111 * r166112;
double r166114 = i;
double r166115 = r166108 * r166114;
double r166116 = j;
double r166117 = 27.0;
double r166118 = r166116 * r166117;
double r166119 = k;
double r166120 = r166118 * r166119;
double r166121 = fma(r166100, r166115, r166120);
double r166122 = r166113 - r166121;
double r166123 = fma(r166097, r166110, r166122);
double r166124 = 1.9453967838922817e-140;
bool r166125 = r166097 <= r166124;
double r166126 = 0.0;
double r166127 = r166126 - r166109;
double r166128 = fma(r166097, r166127, r166122);
double r166129 = r166101 * r166103;
double r166130 = r166100 * r166129;
double r166131 = r166130 * r166104;
double r166132 = r166131 - r166109;
double r166133 = fma(r166097, r166132, r166122);
double r166134 = r166125 ? r166128 : r166133;
double r166135 = r166099 ? r166123 : r166134;
return r166135;
}



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 t < -1.8161049893400003e-100Initial program 3.3
Simplified3.3
rmApplied associate-*l*3.7
if -1.8161049893400003e-100 < t < 1.9453967838922817e-140Initial program 8.9
Simplified8.9
Taylor expanded around 0 6.2
if 1.9453967838922817e-140 < t Initial program 3.8
Simplified3.8
rmApplied associate-*l*3.9
Final simplification4.8
herbie shell --seed 2020001 +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)))