\sqrt{\frac{e^{2 \cdot x} - 1}{e^{x} - 1}}\begin{array}{l}
\mathbf{if}\;x \le -5.5501934119102568 \cdot 10^{-17}:\\
\;\;\;\;\sqrt{\frac{\sqrt{\sqrt{e^{2 \cdot x}}} \cdot \sqrt{\sqrt{e^{2 \cdot x}}} + \sqrt{1}}{1}} \cdot \sqrt{\frac{{\left(e^{2}\right)}^{\left(\frac{1}{2} \cdot x\right)} - \sqrt{1}}{e^{x} - 1}}\\
\mathbf{else}:\\
\;\;\;\;0.5 \cdot \frac{x}{\sqrt{2}} + \left(\sqrt{2} + \frac{{x}^{2}}{\sqrt{2}} \cdot \left(0.25 - \frac{0.125}{2}\right)\right)\\
\end{array}double f(double x) {
double r11153 = 2.0;
double r11154 = x;
double r11155 = r11153 * r11154;
double r11156 = exp(r11155);
double r11157 = 1.0;
double r11158 = r11156 - r11157;
double r11159 = exp(r11154);
double r11160 = r11159 - r11157;
double r11161 = r11158 / r11160;
double r11162 = sqrt(r11161);
return r11162;
}
double f(double x) {
double r11163 = x;
double r11164 = -5.550193411910257e-17;
bool r11165 = r11163 <= r11164;
double r11166 = 2.0;
double r11167 = r11166 * r11163;
double r11168 = exp(r11167);
double r11169 = sqrt(r11168);
double r11170 = sqrt(r11169);
double r11171 = r11170 * r11170;
double r11172 = 1.0;
double r11173 = sqrt(r11172);
double r11174 = r11171 + r11173;
double r11175 = 1.0;
double r11176 = r11174 / r11175;
double r11177 = sqrt(r11176);
double r11178 = exp(r11166);
double r11179 = 0.5;
double r11180 = r11179 * r11163;
double r11181 = pow(r11178, r11180);
double r11182 = r11181 - r11173;
double r11183 = exp(r11163);
double r11184 = r11183 - r11172;
double r11185 = r11182 / r11184;
double r11186 = sqrt(r11185);
double r11187 = r11177 * r11186;
double r11188 = 0.5;
double r11189 = sqrt(r11166);
double r11190 = r11163 / r11189;
double r11191 = r11188 * r11190;
double r11192 = 2.0;
double r11193 = pow(r11163, r11192);
double r11194 = r11193 / r11189;
double r11195 = 0.25;
double r11196 = 0.125;
double r11197 = r11196 / r11166;
double r11198 = r11195 - r11197;
double r11199 = r11194 * r11198;
double r11200 = r11189 + r11199;
double r11201 = r11191 + r11200;
double r11202 = r11165 ? r11187 : r11201;
return r11202;
}



Bits error versus x
Results
if x < -5.550193411910257e-17Initial program 0.9
rmApplied *-un-lft-identity0.9
Applied add-sqr-sqrt0.9
Applied add-sqr-sqrt0.7
Applied difference-of-squares0.3
Applied times-frac0.3
Applied sqrt-prod0.3
rmApplied add-log-exp0.3
Applied exp-to-pow0.3
Applied sqrt-pow10.0
Simplified0.0
rmApplied add-sqr-sqrt0.0
Applied sqrt-prod0.0
if -5.550193411910257e-17 < x Initial program 38.3
Taylor expanded around 0 8.1
Simplified8.1
Final simplification0.8
herbie shell --seed 2020057
(FPCore (x)
:name "sqrtexp (problem 3.4.4)"
:precision binary64
(sqrt (/ (- (exp (* 2 x)) 1) (- (exp x) 1))))