\[\begin{array}{l}
\mathbf{if}\;\left(\left|y - \sqrt{y \cdot y + 1}\right| - \frac{1}{y + \sqrt{y \cdot y + 1}}\right) \cdot \left(\left|y - \sqrt{y \cdot y + 1}\right| - \frac{1}{y + \sqrt{y \cdot y + 1}}\right) + {\left({10}^{-300}\right)}^{\left(10000 \cdot \left(y + 1\right)\right)} = 0:\\
\;\;\;\;1\\
\mathbf{else}:\\
\;\;\;\;\frac{e^{\left(\left|y - \sqrt{y \cdot y + 1}\right| - \frac{1}{y + \sqrt{y \cdot y + 1}}\right) \cdot \left(\left|y - \sqrt{y \cdot y + 1}\right| - \frac{1}{y + \sqrt{y \cdot y + 1}}\right) + {\left({10}^{-300}\right)}^{\left(10000 \cdot \left(y + 1\right)\right)}} - 1}{\left(\left|y - \sqrt{y \cdot y + 1}\right| - \frac{1}{y + \sqrt{y \cdot y + 1}}\right) \cdot \left(\left|y - \sqrt{y \cdot y + 1}\right| - \frac{1}{y + \sqrt{y \cdot y + 1}}\right) + {\left({10}^{-300}\right)}^{\left(10000 \cdot \left(y + 1\right)\right)}}\\
\end{array}\]
\begin{array}{l}
\mathbf{if}\;\left(\left|y - \sqrt{y \cdot y + 1}\right| - \frac{1}{y + \sqrt{y \cdot y + 1}}\right) \cdot \left(\left|y - \sqrt{y \cdot y + 1}\right| - \frac{1}{y + \sqrt{y \cdot y + 1}}\right) + {\left({10}^{-300}\right)}^{\left(10000 \cdot \left(y + 1\right)\right)} = 0:\\
\;\;\;\;1\\
\mathbf{else}:\\
\;\;\;\;\frac{e^{\left(\left|y - \sqrt{y \cdot y + 1}\right| - \frac{1}{y + \sqrt{y \cdot y + 1}}\right) \cdot \left(\left|y - \sqrt{y \cdot y + 1}\right| - \frac{1}{y + \sqrt{y \cdot y + 1}}\right) + {\left({10}^{-300}\right)}^{\left(10000 \cdot \left(y + 1\right)\right)}} - 1}{\left(\left|y - \sqrt{y \cdot y + 1}\right| - \frac{1}{y + \sqrt{y \cdot y + 1}}\right) \cdot \left(\left|y - \sqrt{y \cdot y + 1}\right| - \frac{1}{y + \sqrt{y \cdot y + 1}}\right) + {\left({10}^{-300}\right)}^{\left(10000 \cdot \left(y + 1\right)\right)}}\\
\end{array}double f(double y) {
double r346638 = y;
double r346639 = r346638 * r346638;
double r346640 = 1.0;
double r346641 = r346639 + r346640;
double r346642 = sqrt(r346641);
double r346643 = r346638 - r346642;
double r346644 = fabs(r346643);
double r346645 = r346638 + r346642;
double r346646 = r346640 / r346645;
double r346647 = r346644 - r346646;
double r346648 = r346647 * r346647;
double r346649 = 10.0;
double r346650 = -300.0;
double r346651 = pow(r346649, r346650);
double r346652 = 10000.0;
double r346653 = r346638 + r346640;
double r346654 = r346652 * r346653;
double r346655 = pow(r346651, r346654);
double r346656 = r346648 + r346655;
double r346657 = 0.0;
double r346658 = r346656 == r346657;
double r346659 = exp(r346656);
double r346660 = r346659 - r346640;
double r346661 = r346660 / r346656;
double r346662 = r346658 ? r346640 : r346661;
return r346662;
}