Average Error: 4.2 → 0.7
Time: 10.5s
Precision: 64
\[\sqrt{\frac{e^{2 \cdot x} - 1}{e^{x} - 1}}\]
\[\begin{array}{l} \mathbf{if}\;x \le -2.5679454952614643 \cdot 10^{-15}:\\ \;\;\;\;\sqrt{\frac{\sqrt[3]{{\left(e^{2 \cdot x} - 1\right)}^{3}}}{e^{x + x} - 1 \cdot 1}} \cdot \mathsf{hypot}\left(\sqrt{e^{x}}, \sqrt{1}\right)\\ \mathbf{else}:\\ \;\;\;\;\mathsf{fma}\left(0.25, \frac{{x}^{2}}{\sqrt{2}}, \mathsf{fma}\left(0.5, \frac{x}{\sqrt{2}}, \sqrt{2}\right) - 0.125 \cdot \frac{{x}^{2}}{{\left(\sqrt{2}\right)}^{3}}\right)\\ \end{array}\]
\sqrt{\frac{e^{2 \cdot x} - 1}{e^{x} - 1}}
\begin{array}{l}
\mathbf{if}\;x \le -2.5679454952614643 \cdot 10^{-15}:\\
\;\;\;\;\sqrt{\frac{\sqrt[3]{{\left(e^{2 \cdot x} - 1\right)}^{3}}}{e^{x + x} - 1 \cdot 1}} \cdot \mathsf{hypot}\left(\sqrt{e^{x}}, \sqrt{1}\right)\\

\mathbf{else}:\\
\;\;\;\;\mathsf{fma}\left(0.25, \frac{{x}^{2}}{\sqrt{2}}, \mathsf{fma}\left(0.5, \frac{x}{\sqrt{2}}, \sqrt{2}\right) - 0.125 \cdot \frac{{x}^{2}}{{\left(\sqrt{2}\right)}^{3}}\right)\\

\end{array}
double f(double x) {
        double r18390 = 2.0;
        double r18391 = x;
        double r18392 = r18390 * r18391;
        double r18393 = exp(r18392);
        double r18394 = 1.0;
        double r18395 = r18393 - r18394;
        double r18396 = exp(r18391);
        double r18397 = r18396 - r18394;
        double r18398 = r18395 / r18397;
        double r18399 = sqrt(r18398);
        return r18399;
}

double f(double x) {
        double r18400 = x;
        double r18401 = -2.5679454952614643e-15;
        bool r18402 = r18400 <= r18401;
        double r18403 = 2.0;
        double r18404 = r18403 * r18400;
        double r18405 = exp(r18404);
        double r18406 = 1.0;
        double r18407 = r18405 - r18406;
        double r18408 = 3.0;
        double r18409 = pow(r18407, r18408);
        double r18410 = cbrt(r18409);
        double r18411 = r18400 + r18400;
        double r18412 = exp(r18411);
        double r18413 = r18406 * r18406;
        double r18414 = r18412 - r18413;
        double r18415 = r18410 / r18414;
        double r18416 = sqrt(r18415);
        double r18417 = exp(r18400);
        double r18418 = sqrt(r18417);
        double r18419 = sqrt(r18406);
        double r18420 = hypot(r18418, r18419);
        double r18421 = r18416 * r18420;
        double r18422 = 0.25;
        double r18423 = 2.0;
        double r18424 = pow(r18400, r18423);
        double r18425 = sqrt(r18403);
        double r18426 = r18424 / r18425;
        double r18427 = 0.5;
        double r18428 = r18400 / r18425;
        double r18429 = fma(r18427, r18428, r18425);
        double r18430 = 0.125;
        double r18431 = pow(r18425, r18408);
        double r18432 = r18424 / r18431;
        double r18433 = r18430 * r18432;
        double r18434 = r18429 - r18433;
        double r18435 = fma(r18422, r18426, r18434);
        double r18436 = r18402 ? r18421 : r18435;
        return r18436;
}

Error

Bits error versus x

Derivation

  1. Split input into 2 regimes
  2. if x < -2.5679454952614643e-15

    1. Initial program 0.7

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

      \[\leadsto \sqrt{\frac{e^{2 \cdot x} - 1}{\color{blue}{\frac{e^{x} \cdot e^{x} - 1 \cdot 1}{e^{x} + 1}}}}\]
    4. Applied associate-/r/0.4

      \[\leadsto \sqrt{\color{blue}{\frac{e^{2 \cdot x} - 1}{e^{x} \cdot e^{x} - 1 \cdot 1} \cdot \left(e^{x} + 1\right)}}\]
    5. Applied sqrt-prod0.4

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

      \[\leadsto \color{blue}{\sqrt{\frac{e^{2 \cdot x} - 1}{e^{x + x} - 1 \cdot 1}}} \cdot \sqrt{e^{x} + 1}\]
    7. Using strategy rm
    8. Applied add-sqr-sqrt0.0

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

      \[\leadsto \sqrt{\frac{e^{2 \cdot x} - 1}{e^{x + x} - 1 \cdot 1}} \cdot \sqrt{\color{blue}{\sqrt{e^{x}} \cdot \sqrt{e^{x}}} + \sqrt{1} \cdot \sqrt{1}}\]
    10. Applied hypot-def0.0

      \[\leadsto \sqrt{\frac{e^{2 \cdot x} - 1}{e^{x + x} - 1 \cdot 1}} \cdot \color{blue}{\mathsf{hypot}\left(\sqrt{e^{x}}, \sqrt{1}\right)}\]
    11. Using strategy rm
    12. Applied add-cbrt-cube0.0

      \[\leadsto \sqrt{\frac{\color{blue}{\sqrt[3]{\left(\left(e^{2 \cdot x} - 1\right) \cdot \left(e^{2 \cdot x} - 1\right)\right) \cdot \left(e^{2 \cdot x} - 1\right)}}}{e^{x + x} - 1 \cdot 1}} \cdot \mathsf{hypot}\left(\sqrt{e^{x}}, \sqrt{1}\right)\]
    13. Simplified0.0

      \[\leadsto \sqrt{\frac{\sqrt[3]{\color{blue}{{\left(e^{2 \cdot x} - 1\right)}^{3}}}}{e^{x + x} - 1 \cdot 1}} \cdot \mathsf{hypot}\left(\sqrt{e^{x}}, \sqrt{1}\right)\]

    if -2.5679454952614643e-15 < x

    1. Initial program 38.5

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

      \[\leadsto \color{blue}{\left(0.25 \cdot \frac{{x}^{2}}{\sqrt{2}} + \left(\sqrt{2} + 0.5 \cdot \frac{x}{\sqrt{2}}\right)\right) - 0.125 \cdot \frac{{x}^{2}}{{\left(\sqrt{2}\right)}^{3}}}\]
    3. Simplified7.4

      \[\leadsto \color{blue}{\mathsf{fma}\left(0.25, \frac{{x}^{2}}{\sqrt{2}}, \mathsf{fma}\left(0.5, \frac{x}{\sqrt{2}}, \sqrt{2}\right) - 0.125 \cdot \frac{{x}^{2}}{{\left(\sqrt{2}\right)}^{3}}\right)}\]
  3. Recombined 2 regimes into one program.
  4. Final simplification0.7

    \[\leadsto \begin{array}{l} \mathbf{if}\;x \le -2.5679454952614643 \cdot 10^{-15}:\\ \;\;\;\;\sqrt{\frac{\sqrt[3]{{\left(e^{2 \cdot x} - 1\right)}^{3}}}{e^{x + x} - 1 \cdot 1}} \cdot \mathsf{hypot}\left(\sqrt{e^{x}}, \sqrt{1}\right)\\ \mathbf{else}:\\ \;\;\;\;\mathsf{fma}\left(0.25, \frac{{x}^{2}}{\sqrt{2}}, \mathsf{fma}\left(0.5, \frac{x}{\sqrt{2}}, \sqrt{2}\right) - 0.125 \cdot \frac{{x}^{2}}{{\left(\sqrt{2}\right)}^{3}}\right)\\ \end{array}\]

Reproduce

herbie shell --seed 2020045 +o rules:numerics
(FPCore (x)
  :name "sqrtexp (problem 3.4.4)"
  :precision binary64
  (sqrt (/ (- (exp (* 2 x)) 1) (- (exp x) 1))))