x \cdot \frac{\frac{y}{z} \cdot t}{t}\begin{array}{l}
\mathbf{if}\;\frac{y}{z} \le -1.081925593636316638624250852721330734754 \cdot 10^{268} \lor \neg \left(\frac{y}{z} \le -1.636189466711752142567162663177727587498 \cdot 10^{-114} \lor \neg \left(\frac{y}{z} \le 1.319155274396128272951438676958151064215 \cdot 10^{-321}\right) \land \frac{y}{z} \le 1.104049436697308873782781562368572098325 \cdot 10^{252}\right):\\
\;\;\;\;y \cdot \frac{x}{z}\\
\mathbf{else}:\\
\;\;\;\;\frac{y}{z} \cdot x\\
\end{array}double f(double x, double y, double z, double t) {
double r75152 = x;
double r75153 = y;
double r75154 = z;
double r75155 = r75153 / r75154;
double r75156 = t;
double r75157 = r75155 * r75156;
double r75158 = r75157 / r75156;
double r75159 = r75152 * r75158;
return r75159;
}
double f(double x, double y, double z, double __attribute__((unused)) t) {
double r75160 = y;
double r75161 = z;
double r75162 = r75160 / r75161;
double r75163 = -1.0819255936363166e+268;
bool r75164 = r75162 <= r75163;
double r75165 = -1.636189466711752e-114;
bool r75166 = r75162 <= r75165;
double r75167 = 1.3191552743961e-321;
bool r75168 = r75162 <= r75167;
double r75169 = !r75168;
double r75170 = 1.1040494366973089e+252;
bool r75171 = r75162 <= r75170;
bool r75172 = r75169 && r75171;
bool r75173 = r75166 || r75172;
double r75174 = !r75173;
bool r75175 = r75164 || r75174;
double r75176 = x;
double r75177 = r75176 / r75161;
double r75178 = r75160 * r75177;
double r75179 = r75162 * r75176;
double r75180 = r75175 ? r75178 : r75179;
return r75180;
}



Bits error versus x



Bits error versus y



Bits error versus z



Bits error versus t
Results
if (/ y z) < -1.0819255936363166e+268 or -1.636189466711752e-114 < (/ y z) < 1.3191552743961e-321 or 1.1040494366973089e+252 < (/ y z) Initial program 25.2
Simplified17.6
rmApplied div-inv17.6
Applied associate-*l*1.1
Simplified1.0
if -1.0819255936363166e+268 < (/ y z) < -1.636189466711752e-114 or 1.3191552743961e-321 < (/ y z) < 1.1040494366973089e+252Initial program 9.8
Simplified0.3
Final simplification0.5
herbie shell --seed 2019347
(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)))