double f(double x, double y, double z, double t) {
double r17467983 = x;
double r17467984 = y;
double r17467985 = z;
double r17467986 = r17467984 / r17467985;
double r17467987 = t;
double r17467988 = r17467986 * r17467987;
double r17467989 = r17467988 / r17467987;
double r17467990 = r17467983 * r17467989;
return r17467990;
}
double f(double x, double y, double z, double __attribute__((unused)) t) {
double r17467991 = y;
double r17467992 = z;
double r17467993 = r17467991 / r17467992;
double r17467994 = -2.2665860626305797e-139;
bool r17467995 = r17467993 <= r17467994;
double r17467996 = cbrt(r17467991);
double r17467997 = cbrt(r17467992);
double r17467998 = r17467996 / r17467997;
double r17467999 = x;
double r17468000 = r17467997 / r17467996;
double r17468001 = r17468000 * r17468000;
double r17468002 = r17467999 / r17468001;
double r17468003 = r17467998 * r17468002;
double r17468004 = 8.578702620784637e-293;
bool r17468005 = r17467993 <= r17468004;
double r17468006 = r17467999 * r17467991;
double r17468007 = r17468006 / r17467992;
double r17468008 = r17468005 ? r17468007 : r17468003;
double r17468009 = r17467995 ? r17468003 : r17468008;
return r17468009;
}
x \cdot \frac{\frac{y}{z} \cdot t}{t}\begin{array}{l}
\mathbf{if}\;\frac{y}{z} \le -2.2665860626305797 \cdot 10^{-139}:\\
\;\;\;\;\frac{\sqrt[3]{y}}{\sqrt[3]{z}} \cdot \frac{x}{\frac{\sqrt[3]{z}}{\sqrt[3]{y}} \cdot \frac{\sqrt[3]{z}}{\sqrt[3]{y}}}\\
\mathbf{elif}\;\frac{y}{z} \le 8.578702620784637 \cdot 10^{-293}:\\
\;\;\;\;\frac{x \cdot y}{z}\\
\mathbf{else}:\\
\;\;\;\;\frac{\sqrt[3]{y}}{\sqrt[3]{z}} \cdot \frac{x}{\frac{\sqrt[3]{z}}{\sqrt[3]{y}} \cdot \frac{\sqrt[3]{z}}{\sqrt[3]{y}}}\\
\end{array}


Bits error versus x



Bits error versus y



Bits error versus z



Bits error versus t
if (/ y z) < -2.2665860626305797e-139 or 8.578702620784637e-293 < (/ y z) Initial program 13.3
Simplified4.3
rmApplied add-cube-cbrt5.2
Applied add-cube-cbrt5.5
Applied times-frac5.5
Applied associate-*r*2.0
rmApplied pow12.0
Applied pow12.0
Applied pow-prod-down2.0
Simplified1.9
if -2.2665860626305797e-139 < (/ y z) < 8.578702620784637e-293Initial program 18.1
Simplified11.0
Taylor expanded around -inf 1.2
Final simplification1.7
herbie shell --seed 2019101
(FPCore (x y z t)
:name "Graphics.Rendering.Chart.Backend.Diagrams:calcFontMetrics from Chart-diagrams-1.5.1"
(* x (/ (* (/ y z) t) t)))