\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 r114088 = x;
double r114089 = 18.0;
double r114090 = r114088 * r114089;
double r114091 = y;
double r114092 = r114090 * r114091;
double r114093 = z;
double r114094 = r114092 * r114093;
double r114095 = t;
double r114096 = r114094 * r114095;
double r114097 = a;
double r114098 = 4.0;
double r114099 = r114097 * r114098;
double r114100 = r114099 * r114095;
double r114101 = r114096 - r114100;
double r114102 = b;
double r114103 = c;
double r114104 = r114102 * r114103;
double r114105 = r114101 + r114104;
double r114106 = r114088 * r114098;
double r114107 = i;
double r114108 = r114106 * r114107;
double r114109 = r114105 - r114108;
double r114110 = j;
double r114111 = 27.0;
double r114112 = r114110 * r114111;
double r114113 = k;
double r114114 = r114112 * r114113;
double r114115 = r114109 - r114114;
return r114115;
}
double f(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k) {
double r114116 = x;
double r114117 = -2.4272481818337534e+181;
bool r114118 = r114116 <= r114117;
double r114119 = t;
double r114120 = 18.0;
double r114121 = r114116 * r114120;
double r114122 = y;
double r114123 = z;
double r114124 = r114122 * r114123;
double r114125 = r114121 * r114124;
double r114126 = a;
double r114127 = 4.0;
double r114128 = r114126 * r114127;
double r114129 = r114125 - r114128;
double r114130 = b;
double r114131 = c;
double r114132 = r114130 * r114131;
double r114133 = i;
double r114134 = r114127 * r114133;
double r114135 = j;
double r114136 = 27.0;
double r114137 = r114135 * r114136;
double r114138 = k;
double r114139 = r114137 * r114138;
double r114140 = fma(r114116, r114134, r114139);
double r114141 = r114132 - r114140;
double r114142 = fma(r114119, r114129, r114141);
double r114143 = 1.2900037542469239e+120;
bool r114144 = r114116 <= r114143;
double r114145 = r114120 * r114122;
double r114146 = r114116 * r114145;
double r114147 = r114146 * r114123;
double r114148 = r114147 - r114128;
double r114149 = r114136 * r114138;
double r114150 = r114135 * r114149;
double r114151 = fma(r114116, r114134, r114150);
double r114152 = r114132 - r114151;
double r114153 = fma(r114119, r114148, r114152);
double r114154 = 0.0;
double r114155 = r114154 - r114128;
double r114156 = fma(r114119, r114155, r114141);
double r114157 = r114144 ? r114153 : r114156;
double r114158 = r114118 ? r114142 : r114157;
return r114158;
}



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)))