double f(double x, double y, double z, double t) {
double r12847371 = x;
double r12847372 = y;
double r12847373 = z;
double r12847374 = r12847372 / r12847373;
double r12847375 = t;
double r12847376 = r12847374 * r12847375;
double r12847377 = r12847376 / r12847375;
double r12847378 = r12847371 * r12847377;
return r12847378;
}
double f(double x, double y, double z, double __attribute__((unused)) t) {
double r12847379 = y;
double r12847380 = z;
double r12847381 = r12847379 / r12847380;
double r12847382 = -inf.0;
bool r12847383 = r12847381 <= r12847382;
double r12847384 = x;
double r12847385 = r12847384 * r12847379;
double r12847386 = r12847385 / r12847380;
double r12847387 = -5.662799451522715e-101;
bool r12847388 = r12847381 <= r12847387;
double r12847389 = r12847381 * r12847384;
double r12847390 = 5.661789367158313e-215;
bool r12847391 = r12847381 <= r12847390;
double r12847392 = r12847380 / r12847384;
double r12847393 = r12847379 / r12847392;
double r12847394 = cbrt(r12847379);
double r12847395 = r12847394 * r12847394;
double r12847396 = r12847384 * r12847395;
double r12847397 = r12847394 / r12847380;
double r12847398 = r12847396 * r12847397;
double r12847399 = r12847391 ? r12847393 : r12847398;
double r12847400 = r12847388 ? r12847389 : r12847399;
double r12847401 = r12847383 ? r12847386 : r12847400;
return r12847401;
}
x \cdot \frac{\frac{y}{z} \cdot t}{t}\begin{array}{l}
\mathbf{if}\;\frac{y}{z} = -\infty:\\
\;\;\;\;\frac{x \cdot y}{z}\\
\mathbf{elif}\;\frac{y}{z} \le -5.662799451522715 \cdot 10^{-101}:\\
\;\;\;\;\frac{y}{z} \cdot x\\
\mathbf{elif}\;\frac{y}{z} \le 5.661789367158313 \cdot 10^{-215}:\\
\;\;\;\;\frac{y}{\frac{z}{x}}\\
\mathbf{else}:\\
\;\;\;\;\left(x \cdot \left(\sqrt[3]{y} \cdot \sqrt[3]{y}\right)\right) \cdot \frac{\sqrt[3]{y}}{z}\\
\end{array}


Bits error versus x



Bits error versus y



Bits error versus z



Bits error versus t
if (/ y z) < -inf.0Initial program 60.0
Simplified60.0
rmApplied associate-*r/0.3
if -inf.0 < (/ y z) < -5.662799451522715e-101Initial program 9.7
Simplified0.3
if -5.662799451522715e-101 < (/ y z) < 5.661789367158313e-215Initial program 15.5
Simplified8.5
rmApplied *-un-lft-identity8.5
Applied add-cube-cbrt8.9
Applied times-frac8.9
Applied associate-*r*2.9
rmApplied associate-*r/2.9
Applied associate-*l/2.9
Simplified1.6
if 5.661789367158313e-215 < (/ y z) Initial program 13.4
Simplified4.3
rmApplied *-un-lft-identity4.3
Applied add-cube-cbrt5.3
Applied times-frac5.3
Applied associate-*r*6.3
Final simplification2.9
herbie shell --seed 2019102
(FPCore (x y z t)
:name "Graphics.Rendering.Chart.Backend.Diagrams:calcFontMetrics from Chart-diagrams-1.5.1"
(* x (/ (* (/ y z) t) t)))