Average Error: 4.3 → 0.9
Time: 47.0s
Precision: 64
\[\sqrt{\frac{e^{2 \cdot x} - 1}{e^{x} - 1}}\]
\[\begin{array}{l} \mathbf{if}\;x \le -4.527236342338421397557006909014021278637 \cdot 10^{-9}:\\ \;\;\;\;\sqrt{\frac{\sqrt{1} + \sqrt{e^{2 \cdot x}}}{\frac{e^{x} - 1}{\sqrt{e^{2 \cdot x}} - \sqrt{1}}}}\\ \mathbf{else}:\\ \;\;\;\;\sqrt{2 + x \cdot \left(x \cdot 0.5 + 1\right)}\\ \end{array}\]
\sqrt{\frac{e^{2 \cdot x} - 1}{e^{x} - 1}}
\begin{array}{l}
\mathbf{if}\;x \le -4.527236342338421397557006909014021278637 \cdot 10^{-9}:\\
\;\;\;\;\sqrt{\frac{\sqrt{1} + \sqrt{e^{2 \cdot x}}}{\frac{e^{x} - 1}{\sqrt{e^{2 \cdot x}} - \sqrt{1}}}}\\

\mathbf{else}:\\
\;\;\;\;\sqrt{2 + x \cdot \left(x \cdot 0.5 + 1\right)}\\

\end{array}
double f(double x) {
        double r1869202 = 2.0;
        double r1869203 = x;
        double r1869204 = r1869202 * r1869203;
        double r1869205 = exp(r1869204);
        double r1869206 = 1.0;
        double r1869207 = r1869205 - r1869206;
        double r1869208 = exp(r1869203);
        double r1869209 = r1869208 - r1869206;
        double r1869210 = r1869207 / r1869209;
        double r1869211 = sqrt(r1869210);
        return r1869211;
}

double f(double x) {
        double r1869212 = x;
        double r1869213 = -4.527236342338421e-09;
        bool r1869214 = r1869212 <= r1869213;
        double r1869215 = 1.0;
        double r1869216 = sqrt(r1869215);
        double r1869217 = 2.0;
        double r1869218 = r1869217 * r1869212;
        double r1869219 = exp(r1869218);
        double r1869220 = sqrt(r1869219);
        double r1869221 = r1869216 + r1869220;
        double r1869222 = exp(r1869212);
        double r1869223 = r1869222 - r1869215;
        double r1869224 = r1869220 - r1869216;
        double r1869225 = r1869223 / r1869224;
        double r1869226 = r1869221 / r1869225;
        double r1869227 = sqrt(r1869226);
        double r1869228 = 0.5;
        double r1869229 = r1869212 * r1869228;
        double r1869230 = r1869229 + r1869215;
        double r1869231 = r1869212 * r1869230;
        double r1869232 = r1869217 + r1869231;
        double r1869233 = sqrt(r1869232);
        double r1869234 = r1869214 ? r1869227 : r1869233;
        return r1869234;
}

Error

Bits error versus x

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Split input into 2 regimes
  2. if x < -4.527236342338421e-09

    1. Initial program 0.3

      \[\sqrt{\frac{e^{2 \cdot x} - 1}{e^{x} - 1}}\]
    2. Using strategy rm
    3. Applied add-sqr-sqrt0.3

      \[\leadsto \sqrt{\frac{e^{2 \cdot x} - \color{blue}{\sqrt{1} \cdot \sqrt{1}}}{e^{x} - 1}}\]
    4. Applied add-sqr-sqrt0.3

      \[\leadsto \sqrt{\frac{\color{blue}{\sqrt{e^{2 \cdot x}} \cdot \sqrt{e^{2 \cdot x}}} - \sqrt{1} \cdot \sqrt{1}}{e^{x} - 1}}\]
    5. Applied difference-of-squares0.0

      \[\leadsto \sqrt{\frac{\color{blue}{\left(\sqrt{e^{2 \cdot x}} + \sqrt{1}\right) \cdot \left(\sqrt{e^{2 \cdot x}} - \sqrt{1}\right)}}{e^{x} - 1}}\]
    6. Applied associate-/l*0.0

      \[\leadsto \sqrt{\color{blue}{\frac{\sqrt{e^{2 \cdot x}} + \sqrt{1}}{\frac{e^{x} - 1}{\sqrt{e^{2 \cdot x}} - \sqrt{1}}}}}\]

    if -4.527236342338421e-09 < x

    1. Initial program 34.9

      \[\sqrt{\frac{e^{2 \cdot x} - 1}{e^{x} - 1}}\]
    2. Taylor expanded around 0 7.5

      \[\leadsto \sqrt{\color{blue}{1 \cdot x + \left(0.5 \cdot {x}^{2} + 2\right)}}\]
    3. Simplified7.5

      \[\leadsto \sqrt{\color{blue}{2 + x \cdot \left(1 + x \cdot 0.5\right)}}\]
  3. Recombined 2 regimes into one program.
  4. Final simplification0.9

    \[\leadsto \begin{array}{l} \mathbf{if}\;x \le -4.527236342338421397557006909014021278637 \cdot 10^{-9}:\\ \;\;\;\;\sqrt{\frac{\sqrt{1} + \sqrt{e^{2 \cdot x}}}{\frac{e^{x} - 1}{\sqrt{e^{2 \cdot x}} - \sqrt{1}}}}\\ \mathbf{else}:\\ \;\;\;\;\sqrt{2 + x \cdot \left(x \cdot 0.5 + 1\right)}\\ \end{array}\]

Reproduce

herbie shell --seed 2019168 
(FPCore (x)
  :name "sqrtexp (problem 3.4.4)"
  (sqrt (/ (- (exp (* 2.0 x)) 1.0) (- (exp x) 1.0))))