x \cdot \frac{\frac{y}{z} \cdot t}{t}\begin{array}{l}
\mathbf{if}\;\frac{y}{z} \le -1.884682577215762039880854428140955206399 \cdot 10^{200}:\\
\;\;\;\;\frac{x \cdot y}{z}\\
\mathbf{elif}\;\frac{y}{z} \le -1.847656812384934442156413516898082202275 \cdot 10^{-240}:\\
\;\;\;\;x \cdot \frac{y}{z}\\
\mathbf{elif}\;\frac{y}{z} \le 2.740047883140276970193031087160782955638 \cdot 10^{-240}:\\
\;\;\;\;\frac{x \cdot y}{z}\\
\mathbf{elif}\;\frac{y}{z} \le 2.072656266341375744037857515166265409716 \cdot 10^{86}:\\
\;\;\;\;x \cdot \frac{y}{z}\\
\mathbf{else}:\\
\;\;\;\;\frac{x \cdot y}{z}\\
\end{array}double f(double x, double y, double z, double t) {
double r135818561 = x;
double r135818562 = y;
double r135818563 = z;
double r135818564 = r135818562 / r135818563;
double r135818565 = t;
double r135818566 = r135818564 * r135818565;
double r135818567 = r135818566 / r135818565;
double r135818568 = r135818561 * r135818567;
return r135818568;
}
double f(double x, double y, double z, double __attribute__((unused)) t) {
double r135818569 = y;
double r135818570 = z;
double r135818571 = r135818569 / r135818570;
double r135818572 = -1.884682577215762e+200;
bool r135818573 = r135818571 <= r135818572;
double r135818574 = x;
double r135818575 = r135818574 * r135818569;
double r135818576 = r135818575 / r135818570;
double r135818577 = -1.8476568123849344e-240;
bool r135818578 = r135818571 <= r135818577;
double r135818579 = r135818574 * r135818571;
double r135818580 = 2.740047883140277e-240;
bool r135818581 = r135818571 <= r135818580;
double r135818582 = 2.0726562663413757e+86;
bool r135818583 = r135818571 <= r135818582;
double r135818584 = r135818583 ? r135818579 : r135818576;
double r135818585 = r135818581 ? r135818576 : r135818584;
double r135818586 = r135818578 ? r135818579 : r135818585;
double r135818587 = r135818573 ? r135818576 : r135818586;
return r135818587;
}



Bits error versus x



Bits error versus y



Bits error versus z



Bits error versus t
Results
if (/ y z) < -1.884682577215762e+200 or -1.8476568123849344e-240 < (/ y z) < 2.740047883140277e-240 or 2.0726562663413757e+86 < (/ y z) Initial program 24.9
Simplified14.6
rmApplied associate-*r/1.9
if -1.884682577215762e+200 < (/ y z) < -1.8476568123849344e-240 or 2.740047883140277e-240 < (/ y z) < 2.0726562663413757e+86Initial program 8.2
Simplified0.2
Final simplification0.9
herbie shell --seed 2019173
(FPCore (x y z t)
:name "Graphics.Rendering.Chart.Backend.Diagrams:calcFontMetrics from Chart-diagrams-1.5.1"
(* x (/ (* (/ y z) t) t)))