\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}:\\
\;\;\;\;t \cdot \left(\left(x \cdot 18\right) \cdot \left(y \cdot z\right) - a \cdot 4\right) + \left(b \cdot c - \left(\left(x \cdot 4\right) \cdot i + \left(j \cdot 27\right) \cdot k\right)\right)\\
\mathbf{elif}\;x \le 1.2900037542469239 \cdot 10^{120}:\\
\;\;\;\;t \cdot \left(\left(x \cdot \left(18 \cdot y\right)\right) \cdot z - a \cdot 4\right) + \left(b \cdot c - \left(\left(x \cdot 4\right) \cdot i + j \cdot \left(27 \cdot k\right)\right)\right)\\
\mathbf{else}:\\
\;\;\;\;t \cdot \left(0 - a \cdot 4\right) + \left(b \cdot c - \left(\left(x \cdot 4\right) \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 r267248 = x;
double r267249 = 18.0;
double r267250 = r267248 * r267249;
double r267251 = y;
double r267252 = r267250 * r267251;
double r267253 = z;
double r267254 = r267252 * r267253;
double r267255 = t;
double r267256 = r267254 * r267255;
double r267257 = a;
double r267258 = 4.0;
double r267259 = r267257 * r267258;
double r267260 = r267259 * r267255;
double r267261 = r267256 - r267260;
double r267262 = b;
double r267263 = c;
double r267264 = r267262 * r267263;
double r267265 = r267261 + r267264;
double r267266 = r267248 * r267258;
double r267267 = i;
double r267268 = r267266 * r267267;
double r267269 = r267265 - r267268;
double r267270 = j;
double r267271 = 27.0;
double r267272 = r267270 * r267271;
double r267273 = k;
double r267274 = r267272 * r267273;
double r267275 = r267269 - r267274;
return r267275;
}
double f(double x, double y, double z, double t, double a, double b, double c, double i, double j, double k) {
double r267276 = x;
double r267277 = -2.4272481818337534e+181;
bool r267278 = r267276 <= r267277;
double r267279 = t;
double r267280 = 18.0;
double r267281 = r267276 * r267280;
double r267282 = y;
double r267283 = z;
double r267284 = r267282 * r267283;
double r267285 = r267281 * r267284;
double r267286 = a;
double r267287 = 4.0;
double r267288 = r267286 * r267287;
double r267289 = r267285 - r267288;
double r267290 = r267279 * r267289;
double r267291 = b;
double r267292 = c;
double r267293 = r267291 * r267292;
double r267294 = r267276 * r267287;
double r267295 = i;
double r267296 = r267294 * r267295;
double r267297 = j;
double r267298 = 27.0;
double r267299 = r267297 * r267298;
double r267300 = k;
double r267301 = r267299 * r267300;
double r267302 = r267296 + r267301;
double r267303 = r267293 - r267302;
double r267304 = r267290 + r267303;
double r267305 = 1.2900037542469239e+120;
bool r267306 = r267276 <= r267305;
double r267307 = r267280 * r267282;
double r267308 = r267276 * r267307;
double r267309 = r267308 * r267283;
double r267310 = r267309 - r267288;
double r267311 = r267279 * r267310;
double r267312 = r267298 * r267300;
double r267313 = r267297 * r267312;
double r267314 = r267296 + r267313;
double r267315 = r267293 - r267314;
double r267316 = r267311 + r267315;
double r267317 = 0.0;
double r267318 = r267317 - r267288;
double r267319 = r267279 * r267318;
double r267320 = r267319 + r267303;
double r267321 = r267306 ? r267316 : r267320;
double r267322 = r267278 ? r267304 : r267321;
return r267322;
}



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 < -2.4272481818337534e+181Initial program 18.7
Simplified18.7
rmApplied associate-*l*9.5
if -2.4272481818337534e+181 < x < 1.2900037542469239e+120Initial program 3.4
Simplified3.4
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.5
Final simplification4.9
herbie shell --seed 2020036
(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)))