x \cdot \frac{\frac{y}{z} \cdot t}{t}\begin{array}{l}
\mathbf{if}\;x \cdot \frac{\frac{y}{z} \cdot t}{t} \le 1.4005708519536854 \cdot 10^{-298}:\\
\;\;\;\;\frac{\sqrt[3]{y} \cdot \sqrt[3]{y}}{\sqrt[3]{z}} \cdot \left(\frac{x}{\sqrt[3]{z}} \cdot \frac{\sqrt[3]{y}}{\sqrt[3]{z}}\right)\\
\mathbf{elif}\;x \cdot \frac{\frac{y}{z} \cdot t}{t} \le 5.155399044473928 \cdot 10^{+268}:\\
\;\;\;\;x \cdot \frac{\frac{y}{z} \cdot t}{t}\\
\mathbf{else}:\\
\;\;\;\;\frac{x \cdot y}{z}\\
\end{array}double f(double x, double y, double z, double t) {
double r1702737 = x;
double r1702738 = y;
double r1702739 = z;
double r1702740 = r1702738 / r1702739;
double r1702741 = t;
double r1702742 = r1702740 * r1702741;
double r1702743 = r1702742 / r1702741;
double r1702744 = r1702737 * r1702743;
return r1702744;
}
double f(double x, double y, double z, double t) {
double r1702745 = x;
double r1702746 = y;
double r1702747 = z;
double r1702748 = r1702746 / r1702747;
double r1702749 = t;
double r1702750 = r1702748 * r1702749;
double r1702751 = r1702750 / r1702749;
double r1702752 = r1702745 * r1702751;
double r1702753 = 1.4005708519536854e-298;
bool r1702754 = r1702752 <= r1702753;
double r1702755 = cbrt(r1702746);
double r1702756 = r1702755 * r1702755;
double r1702757 = cbrt(r1702747);
double r1702758 = r1702756 / r1702757;
double r1702759 = r1702745 / r1702757;
double r1702760 = r1702755 / r1702757;
double r1702761 = r1702759 * r1702760;
double r1702762 = r1702758 * r1702761;
double r1702763 = 5.155399044473928e+268;
bool r1702764 = r1702752 <= r1702763;
double r1702765 = r1702745 * r1702746;
double r1702766 = r1702765 / r1702747;
double r1702767 = r1702764 ? r1702752 : r1702766;
double r1702768 = r1702754 ? r1702762 : r1702767;
return r1702768;
}



Bits error versus x



Bits error versus y



Bits error versus z



Bits error versus t
Results
if (* x (/ (* (/ y z) t) t)) < 1.4005708519536854e-298Initial program 16.0
Simplified4.8
rmApplied add-cube-cbrt5.5
Applied *-un-lft-identity5.5
Applied times-frac5.5
Applied associate-*r*5.0
Simplified5.0
rmApplied add-cube-cbrt5.2
Applied times-frac5.2
Applied associate-*l*2.2
if 1.4005708519536854e-298 < (* x (/ (* (/ y z) t) t)) < 5.155399044473928e+268Initial program 0.9
if 5.155399044473928e+268 < (* x (/ (* (/ y z) t) t)) Initial program 49.2
Simplified6.1
rmApplied associate-*r/5.6
Final simplification2.0
herbie shell --seed 2019154
(FPCore (x y z t)
:name "Graphics.Rendering.Chart.Backend.Diagrams:calcFontMetrics from Chart-diagrams-1.5.1"
(* x (/ (* (/ y z) t) t)))