x \cdot \frac{\frac{y}{z} \cdot t}{t}\begin{array}{l}
\mathbf{if}\;\frac{y}{z} \le -1.0482842712917167 \cdot 10^{-253}:\\
\;\;\;\;\frac{y}{z} \cdot x\\
\mathbf{elif}\;\frac{y}{z} \le 1.3686289682416492 \cdot 10^{-304}:\\
\;\;\;\;\frac{x}{z} \cdot y\\
\mathbf{elif}\;\frac{y}{z} \le 1.2134899625884335 \cdot 10^{+227}:\\
\;\;\;\;\frac{y}{z} \cdot x\\
\mathbf{else}:\\
\;\;\;\;\frac{x}{z} \cdot y\\
\end{array}double f(double x, double y, double z, double t) {
double r2227269 = x;
double r2227270 = y;
double r2227271 = z;
double r2227272 = r2227270 / r2227271;
double r2227273 = t;
double r2227274 = r2227272 * r2227273;
double r2227275 = r2227274 / r2227273;
double r2227276 = r2227269 * r2227275;
return r2227276;
}
double f(double x, double y, double z, double __attribute__((unused)) t) {
double r2227277 = y;
double r2227278 = z;
double r2227279 = r2227277 / r2227278;
double r2227280 = -1.0482842712917167e-253;
bool r2227281 = r2227279 <= r2227280;
double r2227282 = x;
double r2227283 = r2227279 * r2227282;
double r2227284 = 1.3686289682416492e-304;
bool r2227285 = r2227279 <= r2227284;
double r2227286 = r2227282 / r2227278;
double r2227287 = r2227286 * r2227277;
double r2227288 = 1.2134899625884335e+227;
bool r2227289 = r2227279 <= r2227288;
double r2227290 = r2227289 ? r2227283 : r2227287;
double r2227291 = r2227285 ? r2227287 : r2227290;
double r2227292 = r2227281 ? r2227283 : r2227291;
return r2227292;
}



Bits error versus x



Bits error versus y



Bits error versus z



Bits error versus t
Results
if (/ y z) < -1.0482842712917167e-253 or 1.3686289682416492e-304 < (/ y z) < 1.2134899625884335e+227Initial program 11.6
Simplified7.6
Taylor expanded around 0 8.2
rmApplied *-un-lft-identity8.2
Applied times-frac2.3
Simplified2.3
if -1.0482842712917167e-253 < (/ y z) < 1.3686289682416492e-304 or 1.2134899625884335e+227 < (/ y z) Initial program 25.7
Simplified0.3
Final simplification1.9
herbie shell --seed 2019153 +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)))