Average Error: 4.3 → 0.1
Time: 19.5s
Precision: 64
\[\sqrt{\frac{e^{2 \cdot x} - 1}{e^{x} - 1}}\]
\[e^{\log \left(1 + e^{x}\right) \cdot \frac{1}{2}}\]
\sqrt{\frac{e^{2 \cdot x} - 1}{e^{x} - 1}}
e^{\log \left(1 + e^{x}\right) \cdot \frac{1}{2}}
double f(double x) {
        double r390563 = 2.0;
        double r390564 = x;
        double r390565 = r390563 * r390564;
        double r390566 = exp(r390565);
        double r390567 = 1.0;
        double r390568 = r390566 - r390567;
        double r390569 = exp(r390564);
        double r390570 = r390569 - r390567;
        double r390571 = r390568 / r390570;
        double r390572 = sqrt(r390571);
        return r390572;
}

double f(double x) {
        double r390573 = 1.0;
        double r390574 = x;
        double r390575 = exp(r390574);
        double r390576 = r390573 + r390575;
        double r390577 = log(r390576);
        double r390578 = 0.5;
        double r390579 = r390577 * r390578;
        double r390580 = exp(r390579);
        return r390580;
}

Error

Bits error versus x

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Initial program 4.3

    \[\sqrt{\frac{e^{2 \cdot x} - 1}{e^{x} - 1}}\]
  2. Simplified0.1

    \[\leadsto \color{blue}{\sqrt{e^{x} + 1}}\]
  3. Using strategy rm
  4. Applied add-exp-log0.1

    \[\leadsto \color{blue}{e^{\log \left(\sqrt{e^{x} + 1}\right)}}\]
  5. Using strategy rm
  6. Applied pow1/20.1

    \[\leadsto e^{\log \color{blue}{\left({\left(e^{x} + 1\right)}^{\frac{1}{2}}\right)}}\]
  7. Applied log-pow0.1

    \[\leadsto e^{\color{blue}{\frac{1}{2} \cdot \log \left(e^{x} + 1\right)}}\]
  8. Final simplification0.1

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

Reproduce

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