x \cdot \frac{\frac{y}{z} \cdot t}{t}\begin{array}{l}
\mathbf{if}\;\frac{y}{z} \le -2.3161828153264955 \cdot 10^{+221}:\\
\;\;\;\;y \cdot \frac{x}{z}\\
\mathbf{elif}\;\frac{y}{z} \le -4.4642773403213894 \cdot 10^{-101}:\\
\;\;\;\;\frac{y}{z} \cdot x\\
\mathbf{elif}\;\frac{y}{z} \le 9.802087804866568 \cdot 10^{-279}:\\
\;\;\;\;y \cdot \frac{x}{z}\\
\mathbf{elif}\;\frac{y}{z} \le 1.7035288058957 \cdot 10^{+120}:\\
\;\;\;\;\frac{y}{z} \cdot x\\
\mathbf{else}:\\
\;\;\;\;\frac{y}{\frac{z}{x}}\\
\end{array}double f(double x, double y, double z, double t) {
double r9810184 = x;
double r9810185 = y;
double r9810186 = z;
double r9810187 = r9810185 / r9810186;
double r9810188 = t;
double r9810189 = r9810187 * r9810188;
double r9810190 = r9810189 / r9810188;
double r9810191 = r9810184 * r9810190;
return r9810191;
}
double f(double x, double y, double z, double __attribute__((unused)) t) {
double r9810192 = y;
double r9810193 = z;
double r9810194 = r9810192 / r9810193;
double r9810195 = -2.3161828153264955e+221;
bool r9810196 = r9810194 <= r9810195;
double r9810197 = x;
double r9810198 = r9810197 / r9810193;
double r9810199 = r9810192 * r9810198;
double r9810200 = -4.4642773403213894e-101;
bool r9810201 = r9810194 <= r9810200;
double r9810202 = r9810194 * r9810197;
double r9810203 = 9.802087804866568e-279;
bool r9810204 = r9810194 <= r9810203;
double r9810205 = 1.7035288058957e+120;
bool r9810206 = r9810194 <= r9810205;
double r9810207 = r9810193 / r9810197;
double r9810208 = r9810192 / r9810207;
double r9810209 = r9810206 ? r9810202 : r9810208;
double r9810210 = r9810204 ? r9810199 : r9810209;
double r9810211 = r9810201 ? r9810202 : r9810210;
double r9810212 = r9810196 ? r9810199 : r9810211;
return r9810212;
}



Bits error versus x



Bits error versus y



Bits error versus z



Bits error versus t
Results
if (/ y z) < -2.3161828153264955e+221 or -4.4642773403213894e-101 < (/ y z) < 9.802087804866568e-279Initial program 21.4
Simplified1.6
if -2.3161828153264955e+221 < (/ y z) < -4.4642773403213894e-101 or 9.802087804866568e-279 < (/ y z) < 1.7035288058957e+120Initial program 7.6
Simplified9.6
rmApplied associate-*r/9.7
rmApplied *-un-lft-identity9.7
Applied *-commutative9.7
Applied times-frac0.2
Simplified0.2
if 1.7035288058957e+120 < (/ y z) Initial program 31.1
Simplified2.6
rmApplied clear-num3.0
Applied un-div-inv2.6
Final simplification1.0
herbie shell --seed 2019158
(FPCore (x y z t)
:name "Graphics.Rendering.Chart.Backend.Diagrams:calcFontMetrics from Chart-diagrams-1.5.1"
(* x (/ (* (/ y z) t) t)))