Average Error: 4.4 → 0.1
Time: 12.8s
Precision: 64
\[\sqrt{\frac{e^{2 \cdot x} - 1}{e^{x} - 1}}\]
\[\begin{array}{l} \mathbf{if}\;x \le -1.293819911268271 \cdot 10^{-5} \lor \neg \left(x \le 1.1457866946809401 \cdot 10^{-14}\right):\\ \;\;\;\;\sqrt{\frac{e^{2 \cdot x} - 1}{\frac{e^{x + x} - 1 \cdot 1}{e^{x} + 1}}}\\ \mathbf{else}:\\ \;\;\;\;\sqrt{0.5 \cdot {x}^{2} + \left(1 \cdot x + 2\right)}\\ \end{array}\]
\sqrt{\frac{e^{2 \cdot x} - 1}{e^{x} - 1}}
\begin{array}{l}
\mathbf{if}\;x \le -1.293819911268271 \cdot 10^{-5} \lor \neg \left(x \le 1.1457866946809401 \cdot 10^{-14}\right):\\
\;\;\;\;\sqrt{\frac{e^{2 \cdot x} - 1}{\frac{e^{x + x} - 1 \cdot 1}{e^{x} + 1}}}\\

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

\end{array}
double f(double x) {
        double r13282 = 2.0;
        double r13283 = x;
        double r13284 = r13282 * r13283;
        double r13285 = exp(r13284);
        double r13286 = 1.0;
        double r13287 = r13285 - r13286;
        double r13288 = exp(r13283);
        double r13289 = r13288 - r13286;
        double r13290 = r13287 / r13289;
        double r13291 = sqrt(r13290);
        return r13291;
}

double f(double x) {
        double r13292 = x;
        double r13293 = -1.2938199112682712e-05;
        bool r13294 = r13292 <= r13293;
        double r13295 = 1.1457866946809401e-14;
        bool r13296 = r13292 <= r13295;
        double r13297 = !r13296;
        bool r13298 = r13294 || r13297;
        double r13299 = 2.0;
        double r13300 = r13299 * r13292;
        double r13301 = exp(r13300);
        double r13302 = 1.0;
        double r13303 = r13301 - r13302;
        double r13304 = r13292 + r13292;
        double r13305 = exp(r13304);
        double r13306 = r13302 * r13302;
        double r13307 = r13305 - r13306;
        double r13308 = exp(r13292);
        double r13309 = r13308 + r13302;
        double r13310 = r13307 / r13309;
        double r13311 = r13303 / r13310;
        double r13312 = sqrt(r13311);
        double r13313 = 0.5;
        double r13314 = 2.0;
        double r13315 = pow(r13292, r13314);
        double r13316 = r13313 * r13315;
        double r13317 = r13302 * r13292;
        double r13318 = r13317 + r13299;
        double r13319 = r13316 + r13318;
        double r13320 = sqrt(r13319);
        double r13321 = r13298 ? r13312 : r13320;
        return r13321;
}

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 < -1.2938199112682712e-05 or 1.1457866946809401e-14 < x

    1. Initial program 0.9

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

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

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

    if -1.2938199112682712e-05 < x < 1.1457866946809401e-14

    1. Initial program 45.9

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

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

      \[\leadsto \sqrt{\frac{e^{2 \cdot x} - 1}{\frac{\color{blue}{e^{x + x} - 1 \cdot 1}}{e^{x} + 1}}}\]
    5. Taylor expanded around 0 0.1

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

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

Reproduce

herbie shell --seed 2020043 
(FPCore (x)
  :name "sqrtexp (problem 3.4.4)"
  :precision binary64
  (sqrt (/ (- (exp (* 2 x)) 1) (- (exp x) 1))))