x \cdot \frac{\frac{y}{z} \cdot t}{t}\begin{array}{l}
\mathbf{if}\;\frac{y}{z} \le -2.7825123622347264 \cdot 10^{+238}:\\
\;\;\;\;y \cdot \frac{x}{z}\\
\mathbf{elif}\;\frac{y}{z} \le -6.83182473818689 \cdot 10^{-115}:\\
\;\;\;\;\frac{y}{z} \cdot x\\
\mathbf{elif}\;\frac{y}{z} \le 4.5454039417395 \cdot 10^{-322}:\\
\;\;\;\;y \cdot \frac{x}{z}\\
\mathbf{elif}\;\frac{y}{z} \le 1.2584134571556272 \cdot 10^{+188}:\\
\;\;\;\;\frac{y}{z} \cdot x\\
\mathbf{else}:\\
\;\;\;\;y \cdot \frac{x}{z}\\
\end{array}double f(double x, double y, double z, double t) {
double r3192420 = x;
double r3192421 = y;
double r3192422 = z;
double r3192423 = r3192421 / r3192422;
double r3192424 = t;
double r3192425 = r3192423 * r3192424;
double r3192426 = r3192425 / r3192424;
double r3192427 = r3192420 * r3192426;
return r3192427;
}
double f(double x, double y, double z, double __attribute__((unused)) t) {
double r3192428 = y;
double r3192429 = z;
double r3192430 = r3192428 / r3192429;
double r3192431 = -2.7825123622347264e+238;
bool r3192432 = r3192430 <= r3192431;
double r3192433 = x;
double r3192434 = r3192433 / r3192429;
double r3192435 = r3192428 * r3192434;
double r3192436 = -6.83182473818689e-115;
bool r3192437 = r3192430 <= r3192436;
double r3192438 = r3192430 * r3192433;
double r3192439 = 4.5454039417395e-322;
bool r3192440 = r3192430 <= r3192439;
double r3192441 = 1.2584134571556272e+188;
bool r3192442 = r3192430 <= r3192441;
double r3192443 = r3192442 ? r3192438 : r3192435;
double r3192444 = r3192440 ? r3192435 : r3192443;
double r3192445 = r3192437 ? r3192438 : r3192444;
double r3192446 = r3192432 ? r3192435 : r3192445;
return r3192446;
}



Bits error versus x



Bits error versus y



Bits error versus z



Bits error versus t
Results
if (/ y z) < -2.7825123622347264e+238 or -6.83182473818689e-115 < (/ y z) < 4.5454039417395e-322 or 1.2584134571556272e+188 < (/ y z) Initial program 23.4
Simplified1.5
if -2.7825123622347264e+238 < (/ y z) < -6.83182473818689e-115 or 4.5454039417395e-322 < (/ y z) < 1.2584134571556272e+188Initial program 8.9
Simplified8.8
Taylor expanded around -inf 9.2
rmApplied *-un-lft-identity9.2
Applied times-frac0.3
Simplified0.3
Final simplification0.7
herbie shell --seed 2019134 +o rules:numerics
(FPCore (x y z t)
:name "Graphics.Rendering.Chart.Backend.Diagrams:calcFontMetrics from Chart-diagrams-1.5.1"
(* x (/ (* (/ y z) t) t)))