\left(\left(\left(\left(\left(\left(x \cdot 18.0\right) \cdot y\right) \cdot z\right) \cdot t - \left(a \cdot 4.0\right) \cdot t\right) + b \cdot c\right) - \left(x \cdot 4.0\right) \cdot i\right) - \left(j \cdot 27.0\right) \cdot k
\begin{array}{l}
\mathbf{if}\;\left(\left(t \cdot \left(\left(\left(x \cdot 18.0\right) \cdot y\right) \cdot z\right) - \left(a \cdot 4.0\right) \cdot t\right) + c \cdot b\right) - \left(x \cdot 4.0\right) \cdot i = -\infty:\\
\;\;\;\;\left(c \cdot b - \left(\left(x \cdot 4.0\right) \cdot i - \left(\left(-a\right) \cdot 4.0\right) \cdot t\right)\right) - 27.0 \cdot \left(j \cdot k\right)\\
\mathbf{else}:\\
\;\;\;\;\left(\left(\left(t \cdot \left(\left(\left(x \cdot 18.0\right) \cdot y\right) \cdot z\right) - \left(a \cdot 4.0\right) \cdot t\right) + c \cdot b\right) - \left(x \cdot 4.0\right) \cdot i\right) - k \cdot \left(27.0 \cdot j\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 r18466133 = x;
double r18466134 = 18.0;
double r18466135 = r18466133 * r18466134;
double r18466136 = y;
double r18466137 = r18466135 * r18466136;
double r18466138 = z;
double r18466139 = r18466137 * r18466138;
double r18466140 = t;
double r18466141 = r18466139 * r18466140;
double r18466142 = a;
double r18466143 = 4.0;
double r18466144 = r18466142 * r18466143;
double r18466145 = r18466144 * r18466140;
double r18466146 = r18466141 - r18466145;
double r18466147 = b;
double r18466148 = c;
double r18466149 = r18466147 * r18466148;
double r18466150 = r18466146 + r18466149;
double r18466151 = r18466133 * r18466143;
double r18466152 = i;
double r18466153 = r18466151 * r18466152;
double r18466154 = r18466150 - r18466153;
double r18466155 = j;
double r18466156 = 27.0;
double r18466157 = r18466155 * r18466156;
double r18466158 = k;
double r18466159 = r18466157 * r18466158;
double r18466160 = r18466154 - r18466159;
return r18466160;
}
double f(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k) {
double r18466161 = t;
double r18466162 = x;
double r18466163 = 18.0;
double r18466164 = r18466162 * r18466163;
double r18466165 = y;
double r18466166 = r18466164 * r18466165;
double r18466167 = z;
double r18466168 = r18466166 * r18466167;
double r18466169 = r18466161 * r18466168;
double r18466170 = a;
double r18466171 = 4.0;
double r18466172 = r18466170 * r18466171;
double r18466173 = r18466172 * r18466161;
double r18466174 = r18466169 - r18466173;
double r18466175 = c;
double r18466176 = b;
double r18466177 = r18466175 * r18466176;
double r18466178 = r18466174 + r18466177;
double r18466179 = r18466162 * r18466171;
double r18466180 = i;
double r18466181 = r18466179 * r18466180;
double r18466182 = r18466178 - r18466181;
double r18466183 = -inf.0;
bool r18466184 = r18466182 <= r18466183;
double r18466185 = -r18466170;
double r18466186 = r18466185 * r18466171;
double r18466187 = r18466186 * r18466161;
double r18466188 = r18466181 - r18466187;
double r18466189 = r18466177 - r18466188;
double r18466190 = 27.0;
double r18466191 = j;
double r18466192 = k;
double r18466193 = r18466191 * r18466192;
double r18466194 = r18466190 * r18466193;
double r18466195 = r18466189 - r18466194;
double r18466196 = r18466190 * r18466191;
double r18466197 = r18466192 * r18466196;
double r18466198 = r18466182 - r18466197;
double r18466199 = r18466184 ? r18466195 : r18466198;
return r18466199;
}



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 (- (+ (- (* (* (* (* x 18.0) y) z) t) (* (* a 4.0) t)) (* b c)) (* (* x 4.0) i)) < -inf.0Initial program 60.6
Simplified40.3
Taylor expanded around -inf 40.3
Taylor expanded around 0 33.0
if -inf.0 < (- (+ (- (* (* (* (* x 18.0) y) z) t) (* (* a 4.0) t)) (* b c)) (* (* x 4.0) i)) Initial program 3.0
Final simplification4.2
herbie shell --seed 2019128
(FPCore (x y z t a b c i j k)
:name "Diagrams.Solve.Polynomial:cubForm from diagrams-solve-0.1"
(- (- (+ (- (* (* (* (* x 18.0) y) z) t) (* (* a 4.0) t)) (* b c)) (* (* x 4.0) i)) (* (* j 27.0) k)))