Average Error: 4.3 → 0.4
Time: 26.2s
Precision: 64
\[\sqrt{\frac{e^{2 \cdot x} - 1}{e^{x} - 1}}\]
\[\sqrt{\log \left(e^{e^{x}} \cdot e\right)}\]
\sqrt{\frac{e^{2 \cdot x} - 1}{e^{x} - 1}}
\sqrt{\log \left(e^{e^{x}} \cdot e\right)}
double f(double x) {
        double r503123 = 2.0;
        double r503124 = x;
        double r503125 = r503123 * r503124;
        double r503126 = exp(r503125);
        double r503127 = 1.0;
        double r503128 = r503126 - r503127;
        double r503129 = exp(r503124);
        double r503130 = r503129 - r503127;
        double r503131 = r503128 / r503130;
        double r503132 = sqrt(r503131);
        return r503132;
}

double f(double x) {
        double r503133 = x;
        double r503134 = exp(r503133);
        double r503135 = exp(r503134);
        double r503136 = exp(1.0);
        double r503137 = r503135 * r503136;
        double r503138 = log(r503137);
        double r503139 = sqrt(r503138);
        return r503139;
}

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-log-exp0.1

    \[\leadsto \sqrt{e^{x} + \color{blue}{\log \left(e^{1}\right)}}\]
  5. Applied add-log-exp0.4

    \[\leadsto \sqrt{\color{blue}{\log \left(e^{e^{x}}\right)} + \log \left(e^{1}\right)}\]
  6. Applied sum-log0.4

    \[\leadsto \sqrt{\color{blue}{\log \left(e^{e^{x}} \cdot e^{1}\right)}}\]
  7. Simplified0.4

    \[\leadsto \sqrt{\log \color{blue}{\left(e \cdot e^{e^{x}}\right)}}\]
  8. Final simplification0.4

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

Reproduce

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