x \cdot \frac{\frac{y}{z} \cdot t}{t}\begin{array}{l}
\mathbf{if}\;x \le -5.6091150268147854 \cdot 10^{+166}:\\
\;\;\;\;\frac{y \cdot x}{z}\\
\mathbf{elif}\;x \le -2.5758087551247737 \cdot 10^{-191}:\\
\;\;\;\;y \cdot \frac{x}{z}\\
\mathbf{elif}\;x \le 3.186901635946382 \cdot 10^{-97}:\\
\;\;\;\;\frac{y \cdot x}{z}\\
\mathbf{elif}\;x \le 2.487988218208264 \cdot 10^{+178}:\\
\;\;\;\;y \cdot \frac{x}{z}\\
\mathbf{else}:\\
\;\;\;\;\frac{y \cdot x}{z}\\
\end{array}double f(double x, double y, double z, double t) {
double r4878864 = x;
double r4878865 = y;
double r4878866 = z;
double r4878867 = r4878865 / r4878866;
double r4878868 = t;
double r4878869 = r4878867 * r4878868;
double r4878870 = r4878869 / r4878868;
double r4878871 = r4878864 * r4878870;
return r4878871;
}
double f(double x, double y, double z, double __attribute__((unused)) t) {
double r4878872 = x;
double r4878873 = -5.6091150268147854e+166;
bool r4878874 = r4878872 <= r4878873;
double r4878875 = y;
double r4878876 = r4878875 * r4878872;
double r4878877 = z;
double r4878878 = r4878876 / r4878877;
double r4878879 = -2.5758087551247737e-191;
bool r4878880 = r4878872 <= r4878879;
double r4878881 = r4878872 / r4878877;
double r4878882 = r4878875 * r4878881;
double r4878883 = 3.186901635946382e-97;
bool r4878884 = r4878872 <= r4878883;
double r4878885 = 2.487988218208264e+178;
bool r4878886 = r4878872 <= r4878885;
double r4878887 = r4878886 ? r4878882 : r4878878;
double r4878888 = r4878884 ? r4878878 : r4878887;
double r4878889 = r4878880 ? r4878882 : r4878888;
double r4878890 = r4878874 ? r4878878 : r4878889;
return r4878890;
}



Bits error versus x



Bits error versus y



Bits error versus z



Bits error versus t
Results
if x < -5.6091150268147854e+166 or -2.5758087551247737e-191 < x < 3.186901635946382e-97 or 2.487988218208264e+178 < x Initial program 15.7
Simplified8.3
rmApplied associate-*l/8.1
if -5.6091150268147854e+166 < x < -2.5758087551247737e-191 or 3.186901635946382e-97 < x < 2.487988218208264e+178Initial program 13.3
Simplified3.8
Final simplification5.9
herbie shell --seed 2019146
(FPCore (x y z t)
:name "Graphics.Rendering.Chart.Backend.Diagrams:calcFontMetrics from Chart-diagrams-1.5.1"
(* x (/ (* (/ y z) t) t)))