Average Error: 4.7 → 0.1
Time: 25.5s
Precision: 64
\[\sqrt{\frac{e^{2 \cdot x} - 1}{e^{x} - 1}}\]
\[\sqrt{1 \cdot \left(e^{x} + 1\right)}\]
\sqrt{\frac{e^{2 \cdot x} - 1}{e^{x} - 1}}
\sqrt{1 \cdot \left(e^{x} + 1\right)}
double f(double x) {
        double r25141 = 2.0;
        double r25142 = x;
        double r25143 = r25141 * r25142;
        double r25144 = exp(r25143);
        double r25145 = 1.0;
        double r25146 = r25144 - r25145;
        double r25147 = exp(r25142);
        double r25148 = r25147 - r25145;
        double r25149 = r25146 / r25148;
        double r25150 = sqrt(r25149);
        return r25150;
}

double f(double x) {
        double r25151 = 1.0;
        double r25152 = x;
        double r25153 = exp(r25152);
        double r25154 = r25153 + r25151;
        double r25155 = r25151 * r25154;
        double r25156 = sqrt(r25155);
        return r25156;
}

Error

Bits error versus x

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 4.7

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

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

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

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

    \[\leadsto \sqrt{\color{blue}{1} \cdot \left(e^{x} + 1\right)}\]
  7. Final simplification0.1

    \[\leadsto \sqrt{1 \cdot \left(e^{x} + 1\right)}\]

Reproduce

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