x \cdot \frac{\frac{y}{z} \cdot t}{t}\begin{array}{l}
\mathbf{if}\;\frac{y}{z} \le -3.787056636250989 \cdot 10^{-255}:\\
\;\;\;\;\frac{x}{\frac{z}{y}}\\
\mathbf{elif}\;\frac{y}{z} \le 2.639545429564233 \cdot 10^{-218}:\\
\;\;\;\;\frac{x}{z} \cdot y\\
\mathbf{elif}\;\frac{y}{z} \le 1.5887252151008075 \cdot 10^{+265}:\\
\;\;\;\;x \cdot \frac{y}{z}\\
\mathbf{else}:\\
\;\;\;\;\frac{y \cdot x}{z}\\
\end{array}double f(double x, double y, double z, double t) {
double r4277417 = x;
double r4277418 = y;
double r4277419 = z;
double r4277420 = r4277418 / r4277419;
double r4277421 = t;
double r4277422 = r4277420 * r4277421;
double r4277423 = r4277422 / r4277421;
double r4277424 = r4277417 * r4277423;
return r4277424;
}
double f(double x, double y, double z, double __attribute__((unused)) t) {
double r4277425 = y;
double r4277426 = z;
double r4277427 = r4277425 / r4277426;
double r4277428 = -3.787056636250989e-255;
bool r4277429 = r4277427 <= r4277428;
double r4277430 = x;
double r4277431 = r4277426 / r4277425;
double r4277432 = r4277430 / r4277431;
double r4277433 = 2.639545429564233e-218;
bool r4277434 = r4277427 <= r4277433;
double r4277435 = r4277430 / r4277426;
double r4277436 = r4277435 * r4277425;
double r4277437 = 1.5887252151008075e+265;
bool r4277438 = r4277427 <= r4277437;
double r4277439 = r4277430 * r4277427;
double r4277440 = r4277425 * r4277430;
double r4277441 = r4277440 / r4277426;
double r4277442 = r4277438 ? r4277439 : r4277441;
double r4277443 = r4277434 ? r4277436 : r4277442;
double r4277444 = r4277429 ? r4277432 : r4277443;
return r4277444;
}



Bits error versus x



Bits error versus y



Bits error versus z



Bits error versus t
Results
if (/ y z) < -3.787056636250989e-255Initial program 13.2
Simplified3.8
rmApplied *-un-lft-identity3.8
Applied add-cube-cbrt4.7
Applied times-frac4.7
Applied associate-*l*5.6
rmApplied *-un-lft-identity5.6
Applied associate-*l*5.6
Simplified3.5
if -3.787056636250989e-255 < (/ y z) < 2.639545429564233e-218Initial program 17.3
Simplified11.7
rmApplied div-inv11.7
Applied associate-*l*0.4
Simplified0.3
if 2.639545429564233e-218 < (/ y z) < 1.5887252151008075e+265Initial program 10.0
Simplified0.2
if 1.5887252151008075e+265 < (/ y z) Initial program 50.5
Simplified38.7
rmApplied *-un-lft-identity38.7
Applied add-cube-cbrt39.1
Applied times-frac39.1
Applied associate-*l*9.5
Taylor expanded around inf 0.3
Final simplification1.5
herbie shell --seed 2019138
(FPCore (x y z t)
:name "Graphics.Rendering.Chart.Backend.Diagrams:calcFontMetrics from Chart-diagrams-1.5.1"
(* x (/ (* (/ y z) t) t)))