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 r5476314 = x;
double r5476315 = y;
double r5476316 = z;
double r5476317 = r5476315 / r5476316;
double r5476318 = t;
double r5476319 = r5476317 * r5476318;
double r5476320 = r5476319 / r5476318;
double r5476321 = r5476314 * r5476320;
return r5476321;
}
double f(double x, double y, double z, double __attribute__((unused)) t) {
double r5476322 = z;
double r5476323 = -3.74083005502277e-271;
bool r5476324 = r5476322 <= r5476323;
double r5476325 = x;
double r5476326 = y;
double r5476327 = r5476322 / r5476326;
double r5476328 = r5476325 / r5476327;
double r5476329 = 3.761519737827246e-224;
bool r5476330 = r5476322 <= r5476329;
double r5476331 = r5476325 / r5476322;
double r5476332 = r5476326 * r5476331;
double r5476333 = 4.956742987442585e+22;
bool r5476334 = r5476322 <= r5476333;
double r5476335 = r5476325 * r5476326;
double r5476336 = r5476335 / r5476322;
double r5476337 = r5476334 ? r5476328 : r5476336;
double r5476338 = r5476330 ? r5476332 : r5476337;
double r5476339 = r5476324 ? r5476328 : r5476338;
return r5476339;
}



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)))