x \cdot \frac{\frac{y}{z} \cdot t}{t}\begin{array}{l}
\mathbf{if}\;z \le 1.082951294425128758406258396966231074708 \cdot 10^{128}:\\
\;\;\;\;\frac{y \cdot x}{z}\\
\mathbf{else}:\\
\;\;\;\;\frac{y}{\sqrt{z}} \cdot \frac{x}{\sqrt{z}}\\
\end{array}double f(double x, double y, double z, double t) {
double r81936 = x;
double r81937 = y;
double r81938 = z;
double r81939 = r81937 / r81938;
double r81940 = t;
double r81941 = r81939 * r81940;
double r81942 = r81941 / r81940;
double r81943 = r81936 * r81942;
return r81943;
}
double f(double x, double y, double z, double __attribute__((unused)) t) {
double r81944 = z;
double r81945 = 1.0829512944251288e+128;
bool r81946 = r81944 <= r81945;
double r81947 = y;
double r81948 = x;
double r81949 = r81947 * r81948;
double r81950 = r81949 / r81944;
double r81951 = sqrt(r81944);
double r81952 = r81947 / r81951;
double r81953 = r81948 / r81951;
double r81954 = r81952 * r81953;
double r81955 = r81946 ? r81950 : r81954;
return r81955;
}



Bits error versus x



Bits error versus y



Bits error versus z



Bits error versus t
Results
if z < 1.0829512944251288e+128Initial program 15.5
Simplified5.9
if 1.0829512944251288e+128 < z Initial program 12.4
Simplified6.7
rmApplied add-sqr-sqrt6.9
Applied times-frac5.2
Final simplification5.8
herbie shell --seed 2019235
(FPCore (x y z t)
:name "Graphics.Rendering.Chart.Backend.Diagrams:calcFontMetrics from Chart-diagrams-1.5.1"
:precision binary64
(* x (/ (* (/ y z) t) t)))