x \cdot \frac{\frac{y}{z} \cdot t}{t}\begin{array}{l}
\mathbf{if}\;z \le -3.74083005502277 \cdot 10^{-271}:\\
\;\;\;\;\frac{x}{\frac{z}{y}}\\
\mathbf{elif}\;z \le 3.761519737827246 \cdot 10^{-224}:\\
\;\;\;\;y \cdot \frac{x}{z}\\
\mathbf{elif}\;z \le 4.956742987442585 \cdot 10^{+22}:\\
\;\;\;\;\frac{x}{\frac{z}{y}}\\
\mathbf{else}:\\
\;\;\;\;\frac{x \cdot y}{z}\\
\end{array}double f(double x, double y, double z, double t) {
double r3999615 = x;
double r3999616 = y;
double r3999617 = z;
double r3999618 = r3999616 / r3999617;
double r3999619 = t;
double r3999620 = r3999618 * r3999619;
double r3999621 = r3999620 / r3999619;
double r3999622 = r3999615 * r3999621;
return r3999622;
}
double f(double x, double y, double z, double __attribute__((unused)) t) {
double r3999623 = z;
double r3999624 = -3.74083005502277e-271;
bool r3999625 = r3999623 <= r3999624;
double r3999626 = x;
double r3999627 = y;
double r3999628 = r3999623 / r3999627;
double r3999629 = r3999626 / r3999628;
double r3999630 = 3.761519737827246e-224;
bool r3999631 = r3999623 <= r3999630;
double r3999632 = r3999626 / r3999623;
double r3999633 = r3999627 * r3999632;
double r3999634 = 4.956742987442585e+22;
bool r3999635 = r3999623 <= r3999634;
double r3999636 = r3999626 * r3999627;
double r3999637 = r3999636 / r3999623;
double r3999638 = r3999635 ? r3999629 : r3999637;
double r3999639 = r3999631 ? r3999633 : r3999638;
double r3999640 = r3999625 ? r3999629 : r3999639;
return r3999640;
}



Bits error versus x



Bits error versus y



Bits error versus z



Bits error versus t
Results
if z < -3.74083005502277e-271 or 3.761519737827246e-224 < z < 4.956742987442585e+22Initial program 13.6
Simplified5.6
rmApplied add-cube-cbrt6.5
Applied *-un-lft-identity6.5
Applied times-frac6.5
Applied associate-*r*5.3
Simplified5.3
rmApplied *-un-lft-identity5.3
Applied associate-*l*5.3
Simplified5.3
if -3.74083005502277e-271 < z < 3.761519737827246e-224Initial program 21.6
Simplified14.2
if 4.956742987442585e+22 < z Initial program 13.4
Simplified5.5
rmApplied associate-*r/6.2
Final simplification6.1
herbie shell --seed 2019162
(FPCore (x y z t)
:name "Graphics.Rendering.Chart.Backend.Diagrams:calcFontMetrics from Chart-diagrams-1.5.1"
(* x (/ (* (/ y z) t) t)))