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

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

\end{array}
double f(double x) {
        double r17090 = 2.0;
        double r17091 = x;
        double r17092 = r17090 * r17091;
        double r17093 = exp(r17092);
        double r17094 = 1.0;
        double r17095 = r17093 - r17094;
        double r17096 = exp(r17091);
        double r17097 = r17096 - r17094;
        double r17098 = r17095 / r17097;
        double r17099 = sqrt(r17098);
        return r17099;
}

double f(double x) {
        double r17100 = x;
        double r17101 = -2.9277154484540503e-08;
        bool r17102 = r17100 <= r17101;
        double r17103 = 2.0;
        double r17104 = r17103 * r17100;
        double r17105 = exp(r17104);
        double r17106 = sqrt(r17105);
        double r17107 = 1.0;
        double r17108 = sqrt(r17107);
        double r17109 = r17106 + r17108;
        double r17110 = 1.0;
        double r17111 = r17109 / r17110;
        double r17112 = sqrt(r17111);
        double r17113 = r17106 - r17108;
        double r17114 = exp(r17100);
        double r17115 = r17114 - r17107;
        double r17116 = r17113 / r17115;
        double r17117 = sqrt(r17116);
        double r17118 = r17112 * r17117;
        double r17119 = 0.5;
        double r17120 = sqrt(r17103);
        double r17121 = r17100 / r17120;
        double r17122 = r17119 * r17121;
        double r17123 = 2.0;
        double r17124 = pow(r17100, r17123);
        double r17125 = r17124 / r17120;
        double r17126 = 0.25;
        double r17127 = 0.125;
        double r17128 = r17127 / r17103;
        double r17129 = r17126 - r17128;
        double r17130 = r17125 * r17129;
        double r17131 = r17120 + r17130;
        double r17132 = r17122 + r17131;
        double r17133 = r17102 ? r17118 : r17132;
        return r17133;
}

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.9277154484540503e-08

    1. Initial program 0.2

      \[\sqrt{\frac{e^{2 \cdot x} - 1}{e^{x} - 1}}\]
    2. Using strategy rm
    3. Applied *-un-lft-identity0.2

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

      \[\leadsto \sqrt{\frac{e^{2 \cdot x} - \color{blue}{\sqrt{1} \cdot \sqrt{1}}}{1 \cdot \left(e^{x} - 1\right)}}\]
    5. 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}}{1 \cdot \left(e^{x} - 1\right)}}\]
    6. 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)}}{1 \cdot \left(e^{x} - 1\right)}}\]
    7. Applied times-frac0.0

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

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

    if -2.9277154484540503e-08 < x

    1. Initial program 34.5

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

      \[\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.0

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

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

Reproduce

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