x \cdot \frac{\frac{y}{z} \cdot t}{t}\begin{array}{l}
\mathbf{if}\;\frac{y}{z} \le -2.89968713120227716200243957970138180903 \cdot 10^{210}:\\
\;\;\;\;\frac{1}{\frac{\frac{z}{x}}{y}}\\
\mathbf{elif}\;\frac{y}{z} \le -2.674553152877029983261934607928478862346 \cdot 10^{-163}:\\
\;\;\;\;\frac{y}{z} \cdot x\\
\mathbf{elif}\;\frac{y}{z} \le -0.0:\\
\;\;\;\;\frac{y \cdot x}{z}\\
\mathbf{elif}\;\frac{y}{z} \le 1.288243228157504650577480569870560524088 \cdot 10^{170}:\\
\;\;\;\;\frac{\frac{y}{z}}{\frac{1}{x}}\\
\mathbf{else}:\\
\;\;\;\;y \cdot \frac{x}{z}\\
\end{array}double f(double x, double y, double z, double t) {
double r79604 = x;
double r79605 = y;
double r79606 = z;
double r79607 = r79605 / r79606;
double r79608 = t;
double r79609 = r79607 * r79608;
double r79610 = r79609 / r79608;
double r79611 = r79604 * r79610;
return r79611;
}
double f(double x, double y, double z, double __attribute__((unused)) t) {
double r79612 = y;
double r79613 = z;
double r79614 = r79612 / r79613;
double r79615 = -2.899687131202277e+210;
bool r79616 = r79614 <= r79615;
double r79617 = 1.0;
double r79618 = x;
double r79619 = r79613 / r79618;
double r79620 = r79619 / r79612;
double r79621 = r79617 / r79620;
double r79622 = -2.67455315287703e-163;
bool r79623 = r79614 <= r79622;
double r79624 = r79614 * r79618;
double r79625 = -0.0;
bool r79626 = r79614 <= r79625;
double r79627 = r79612 * r79618;
double r79628 = r79627 / r79613;
double r79629 = 1.2882432281575047e+170;
bool r79630 = r79614 <= r79629;
double r79631 = r79617 / r79618;
double r79632 = r79614 / r79631;
double r79633 = r79618 / r79613;
double r79634 = r79612 * r79633;
double r79635 = r79630 ? r79632 : r79634;
double r79636 = r79626 ? r79628 : r79635;
double r79637 = r79623 ? r79624 : r79636;
double r79638 = r79616 ? r79621 : r79637;
return r79638;
}



Bits error versus x



Bits error versus y



Bits error versus z



Bits error versus t
Results
if (/ y z) < -2.899687131202277e+210Initial program 42.0
Simplified0.7
rmApplied associate-/l*1.1
rmApplied clear-num1.2
if -2.899687131202277e+210 < (/ y z) < -2.67455315287703e-163Initial program 7.5
Simplified10.1
rmApplied associate-/l*10.1
rmApplied associate-/r/0.2
if -2.67455315287703e-163 < (/ y z) < -0.0Initial program 16.9
Simplified0.8
if -0.0 < (/ y z) < 1.2882432281575047e+170Initial program 10.2
Simplified7.5
rmApplied associate-/l*6.7
rmApplied div-inv6.7
Applied associate-/r*3.5
if 1.2882432281575047e+170 < (/ y z) Initial program 37.2
Simplified2.2
rmApplied *-un-lft-identity2.2
Applied times-frac1.8
Simplified1.8
Final simplification0.6
herbie shell --seed 2019209
(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)))