Average Error: 4.3 → 0.1
Time: 20.8s
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 r395165 = 2.0;
        double r395166 = x;
        double r395167 = r395165 * r395166;
        double r395168 = exp(r395167);
        double r395169 = 1.0;
        double r395170 = r395168 - r395169;
        double r395171 = exp(r395166);
        double r395172 = r395171 - r395169;
        double r395173 = r395170 / r395172;
        double r395174 = sqrt(r395173);
        return r395174;
}

double f(double x) {
        double r395175 = 1.0;
        double r395176 = x;
        double r395177 = exp(r395176);
        double r395178 = r395175 + r395177;
        double r395179 = log(r395178);
        double r395180 = 0.5;
        double r395181 = r395179 * r395180;
        double r395182 = exp(r395181);
        return r395182;
}

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))))