x \cdot \frac{\frac{y}{z} \cdot t}{t}\begin{array}{l}
\mathbf{if}\;\frac{y}{z} \le -2.5398666775420435 \cdot 10^{+227}:\\
\;\;\;\;\frac{x \cdot y}{z}\\
\mathbf{elif}\;\frac{y}{z} \le -8.248772990819591 \cdot 10^{-297}:\\
\;\;\;\;\frac{y}{z} \cdot x\\
\mathbf{else}:\\
\;\;\;\;\frac{\sqrt[3]{x} \cdot \sqrt[3]{x}}{\sqrt[3]{z} \cdot \sqrt[3]{z}} \cdot \left(y \cdot \frac{\sqrt[3]{x}}{\sqrt[3]{z}}\right)\\
\end{array}double f(double x, double y, double z, double t) {
double r2334010 = x;
double r2334011 = y;
double r2334012 = z;
double r2334013 = r2334011 / r2334012;
double r2334014 = t;
double r2334015 = r2334013 * r2334014;
double r2334016 = r2334015 / r2334014;
double r2334017 = r2334010 * r2334016;
return r2334017;
}
double f(double x, double y, double z, double __attribute__((unused)) t) {
double r2334018 = y;
double r2334019 = z;
double r2334020 = r2334018 / r2334019;
double r2334021 = -2.5398666775420435e+227;
bool r2334022 = r2334020 <= r2334021;
double r2334023 = x;
double r2334024 = r2334023 * r2334018;
double r2334025 = r2334024 / r2334019;
double r2334026 = -8.248772990819591e-297;
bool r2334027 = r2334020 <= r2334026;
double r2334028 = r2334020 * r2334023;
double r2334029 = cbrt(r2334023);
double r2334030 = r2334029 * r2334029;
double r2334031 = cbrt(r2334019);
double r2334032 = r2334031 * r2334031;
double r2334033 = r2334030 / r2334032;
double r2334034 = r2334029 / r2334031;
double r2334035 = r2334018 * r2334034;
double r2334036 = r2334033 * r2334035;
double r2334037 = r2334027 ? r2334028 : r2334036;
double r2334038 = r2334022 ? r2334025 : r2334037;
return r2334038;
}



Bits error versus x



Bits error versus y



Bits error versus z



Bits error versus t
Results
if (/ y z) < -2.5398666775420435e+227Initial program 42.6
Simplified0.6
rmApplied add-cube-cbrt1.8
Applied add-cube-cbrt2.0
Applied times-frac2.0
Applied associate-*l*1.8
rmApplied associate-*l/1.8
Applied frac-times2.3
Simplified2.1
Simplified0.8
if -2.5398666775420435e+227 < (/ y z) < -8.248772990819591e-297Initial program 9.3
Simplified8.3
rmApplied div-inv8.4
Applied associate-*l*0.3
Simplified0.2
if -8.248772990819591e-297 < (/ y z) Initial program 15.0
Simplified5.6
rmApplied add-cube-cbrt6.3
Applied add-cube-cbrt6.5
Applied times-frac6.5
Applied associate-*l*1.9
Final simplification1.2
herbie shell --seed 2019149 +o rules:numerics
(FPCore (x y z t)
:name "Graphics.Rendering.Chart.Backend.Diagrams:calcFontMetrics from Chart-diagrams-1.5.1"
(* x (/ (* (/ y z) t) t)))