Average Error: 4.4 → 0.7
Time: 25.2s
Precision: 64
\[\sqrt{\frac{e^{2 \cdot x} - 1}{e^{x} - 1}}\]
\[\begin{array}{l} \mathbf{if}\;x \le -2.961873043113816742734720904601380953025 \cdot 10^{-8}:\\ \;\;\;\;\sqrt{\frac{\left(\sqrt{1} + \sqrt{e^{2 \cdot x}}\right) \cdot \left(\sqrt{e^{2 \cdot x}} - \sqrt{1}\right)}{e^{x} - 1}}\\ \mathbf{else}:\\ \;\;\;\;\frac{0.5}{\frac{\sqrt{2}}{x}} + \left(\sqrt{2} + \left(0.25 - \frac{0.125}{2}\right) \cdot \frac{x \cdot x}{\sqrt{2}}\right)\\ \end{array}\]
\sqrt{\frac{e^{2 \cdot x} - 1}{e^{x} - 1}}
\begin{array}{l}
\mathbf{if}\;x \le -2.961873043113816742734720904601380953025 \cdot 10^{-8}:\\
\;\;\;\;\sqrt{\frac{\left(\sqrt{1} + \sqrt{e^{2 \cdot x}}\right) \cdot \left(\sqrt{e^{2 \cdot x}} - \sqrt{1}\right)}{e^{x} - 1}}\\

\mathbf{else}:\\
\;\;\;\;\frac{0.5}{\frac{\sqrt{2}}{x}} + \left(\sqrt{2} + \left(0.25 - \frac{0.125}{2}\right) \cdot \frac{x \cdot x}{\sqrt{2}}\right)\\

\end{array}
double f(double x) {
        double r2152836 = 2.0;
        double r2152837 = x;
        double r2152838 = r2152836 * r2152837;
        double r2152839 = exp(r2152838);
        double r2152840 = 1.0;
        double r2152841 = r2152839 - r2152840;
        double r2152842 = exp(r2152837);
        double r2152843 = r2152842 - r2152840;
        double r2152844 = r2152841 / r2152843;
        double r2152845 = sqrt(r2152844);
        return r2152845;
}

double f(double x) {
        double r2152846 = x;
        double r2152847 = -2.9618730431138167e-08;
        bool r2152848 = r2152846 <= r2152847;
        double r2152849 = 1.0;
        double r2152850 = sqrt(r2152849);
        double r2152851 = 2.0;
        double r2152852 = r2152851 * r2152846;
        double r2152853 = exp(r2152852);
        double r2152854 = sqrt(r2152853);
        double r2152855 = r2152850 + r2152854;
        double r2152856 = r2152854 - r2152850;
        double r2152857 = r2152855 * r2152856;
        double r2152858 = exp(r2152846);
        double r2152859 = r2152858 - r2152849;
        double r2152860 = r2152857 / r2152859;
        double r2152861 = sqrt(r2152860);
        double r2152862 = 0.5;
        double r2152863 = sqrt(r2152851);
        double r2152864 = r2152863 / r2152846;
        double r2152865 = r2152862 / r2152864;
        double r2152866 = 0.25;
        double r2152867 = 0.125;
        double r2152868 = r2152867 / r2152851;
        double r2152869 = r2152866 - r2152868;
        double r2152870 = r2152846 * r2152846;
        double r2152871 = r2152870 / r2152863;
        double r2152872 = r2152869 * r2152871;
        double r2152873 = r2152863 + r2152872;
        double r2152874 = r2152865 + r2152873;
        double r2152875 = r2152848 ? r2152861 : r2152874;
        return r2152875;
}

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 < -2.9618730431138167e-08

    1. Initial program 0.2

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

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

      \[\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}}\]

    if -2.9618730431138167e-08 < x

    1. Initial program 35.6

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

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

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

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

Reproduce

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