Average Error: 4.2 → 0.7
Time: 11.3s
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{e^{2 \cdot x} - 1}{\sqrt[3]{{\left(e^{2 \cdot x} - 1 \cdot 1\right)}^{3}}} \cdot \left(e^{x} + 1\right)}\\ \mathbf{else}:\\ \;\;\;\;\mathsf{fma}\left(0.25, \frac{{x}^{2}}{\sqrt{2}}, \mathsf{fma}\left(\frac{x}{\sqrt{2}}, 0.5, \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{e^{2 \cdot x} - 1}{\sqrt[3]{{\left(e^{2 \cdot x} - 1 \cdot 1\right)}^{3}}} \cdot \left(e^{x} + 1\right)}\\

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

\end{array}
double f(double x) {
        double r20934 = 2.0;
        double r20935 = x;
        double r20936 = r20934 * r20935;
        double r20937 = exp(r20936);
        double r20938 = 1.0;
        double r20939 = r20937 - r20938;
        double r20940 = exp(r20935);
        double r20941 = r20940 - r20938;
        double r20942 = r20939 / r20941;
        double r20943 = sqrt(r20942);
        return r20943;
}

double f(double x) {
        double r20944 = x;
        double r20945 = -2.5679454952614643e-15;
        bool r20946 = r20944 <= r20945;
        double r20947 = 2.0;
        double r20948 = r20947 * r20944;
        double r20949 = exp(r20948);
        double r20950 = 1.0;
        double r20951 = r20949 - r20950;
        double r20952 = 2.0;
        double r20953 = r20952 * r20944;
        double r20954 = exp(r20953);
        double r20955 = r20950 * r20950;
        double r20956 = r20954 - r20955;
        double r20957 = 3.0;
        double r20958 = pow(r20956, r20957);
        double r20959 = cbrt(r20958);
        double r20960 = r20951 / r20959;
        double r20961 = exp(r20944);
        double r20962 = r20961 + r20950;
        double r20963 = r20960 * r20962;
        double r20964 = sqrt(r20963);
        double r20965 = 0.25;
        double r20966 = pow(r20944, r20952);
        double r20967 = sqrt(r20947);
        double r20968 = r20966 / r20967;
        double r20969 = r20944 / r20967;
        double r20970 = 0.5;
        double r20971 = fma(r20969, r20970, r20967);
        double r20972 = 0.125;
        double r20973 = pow(r20967, r20957);
        double r20974 = r20966 / r20973;
        double r20975 = r20972 * r20974;
        double r20976 = r20971 - r20975;
        double r20977 = fma(r20965, r20968, r20976);
        double r20978 = r20946 ? r20964 : r20977;
        return r20978;
}

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. Simplified0.0

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

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

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

    if -2.5679454952614643e-15 < x

    1. Initial program 38.5

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

      \[\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/36.1

      \[\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. Simplified29.1

      \[\leadsto \sqrt{\color{blue}{\frac{e^{2 \cdot x} - 1}{e^{x + x} - 1 \cdot 1}} \cdot \left(e^{x} + 1\right)}\]
    6. Using strategy rm
    7. Applied add-cbrt-cube29.5

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

      \[\leadsto \sqrt{\frac{e^{2 \cdot x} - 1}{\sqrt[3]{\color{blue}{{\left(e^{2 \cdot x} - 1 \cdot 1\right)}^{3}}}} \cdot \left(e^{x} + 1\right)}\]
    9. 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}}}\]
    10. Simplified7.4

      \[\leadsto \color{blue}{\mathsf{fma}\left(0.25, \frac{{x}^{2}}{\sqrt{2}}, \mathsf{fma}\left(\frac{x}{\sqrt{2}}, 0.5, \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{e^{2 \cdot x} - 1}{\sqrt[3]{{\left(e^{2 \cdot x} - 1 \cdot 1\right)}^{3}}} \cdot \left(e^{x} + 1\right)}\\ \mathbf{else}:\\ \;\;\;\;\mathsf{fma}\left(0.25, \frac{{x}^{2}}{\sqrt{2}}, \mathsf{fma}\left(\frac{x}{\sqrt{2}}, 0.5, \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))))