\[\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 r301856 = y;
double r301857 = r301856 * r301856;
double r301858 = 1.0;
double r301859 = r301857 + r301858;
double r301860 = sqrt(r301859);
double r301861 = r301856 - r301860;
double r301862 = fabs(r301861);
double r301863 = r301856 + r301860;
double r301864 = r301858 / r301863;
double r301865 = r301862 - r301864;
double r301866 = r301865 * r301865;
double r301867 = 10.0;
double r301868 = -300.0;
double r301869 = pow(r301867, r301868);
double r301870 = 10000.0;
double r301871 = r301856 + r301858;
double r301872 = r301870 * r301871;
double r301873 = pow(r301869, r301872);
double r301874 = r301866 + r301873;
double r301875 = 0.0;
double r301876 = r301874 == r301875;
double r301877 = exp(r301874);
double r301878 = r301877 - r301858;
double r301879 = r301878 / r301874;
double r301880 = r301876 ? r301858 : r301879;
return r301880;
}