Average Error: 0.2 → 0.0
Time: 5.7s
Precision: 64
\[\frac{x}{1 + \sqrt{x + 1}}\]
\[\begin{array}{l} \mathbf{if}\;x \le 5.56286823819809495:\\ \;\;\;\;\frac{x}{{1}^{3} + {\left(\sqrt{x + 1}\right)}^{3}} \cdot \left(1 \cdot 1 + \left(\sqrt{x + 1} \cdot \sqrt{x + 1} - 1 \cdot \sqrt{x + 1}\right)\right)\\ \mathbf{else}:\\ \;\;\;\;\frac{x}{\frac{\left(1 \cdot 1 - x\right) - 1}{1 - \sqrt{x + 1}}}\\ \end{array}\]
\frac{x}{1 + \sqrt{x + 1}}
\begin{array}{l}
\mathbf{if}\;x \le 5.56286823819809495:\\
\;\;\;\;\frac{x}{{1}^{3} + {\left(\sqrt{x + 1}\right)}^{3}} \cdot \left(1 \cdot 1 + \left(\sqrt{x + 1} \cdot \sqrt{x + 1} - 1 \cdot \sqrt{x + 1}\right)\right)\\

\mathbf{else}:\\
\;\;\;\;\frac{x}{\frac{\left(1 \cdot 1 - x\right) - 1}{1 - \sqrt{x + 1}}}\\

\end{array}
double f(double x) {
        double r126775 = x;
        double r126776 = 1.0;
        double r126777 = r126775 + r126776;
        double r126778 = sqrt(r126777);
        double r126779 = r126776 + r126778;
        double r126780 = r126775 / r126779;
        return r126780;
}

double f(double x) {
        double r126781 = x;
        double r126782 = 5.562868238198095;
        bool r126783 = r126781 <= r126782;
        double r126784 = 1.0;
        double r126785 = 3.0;
        double r126786 = pow(r126784, r126785);
        double r126787 = r126781 + r126784;
        double r126788 = sqrt(r126787);
        double r126789 = pow(r126788, r126785);
        double r126790 = r126786 + r126789;
        double r126791 = r126781 / r126790;
        double r126792 = r126784 * r126784;
        double r126793 = r126788 * r126788;
        double r126794 = r126784 * r126788;
        double r126795 = r126793 - r126794;
        double r126796 = r126792 + r126795;
        double r126797 = r126791 * r126796;
        double r126798 = r126792 - r126781;
        double r126799 = r126798 - r126784;
        double r126800 = r126784 - r126788;
        double r126801 = r126799 / r126800;
        double r126802 = r126781 / r126801;
        double r126803 = r126783 ? r126797 : r126802;
        return r126803;
}

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

    1. Initial program 0.0

      \[\frac{x}{1 + \sqrt{x + 1}}\]
    2. Using strategy rm
    3. Applied flip3-+0.0

      \[\leadsto \frac{x}{\color{blue}{\frac{{1}^{3} + {\left(\sqrt{x + 1}\right)}^{3}}{1 \cdot 1 + \left(\sqrt{x + 1} \cdot \sqrt{x + 1} - 1 \cdot \sqrt{x + 1}\right)}}}\]
    4. Applied associate-/r/0.0

      \[\leadsto \color{blue}{\frac{x}{{1}^{3} + {\left(\sqrt{x + 1}\right)}^{3}} \cdot \left(1 \cdot 1 + \left(\sqrt{x + 1} \cdot \sqrt{x + 1} - 1 \cdot \sqrt{x + 1}\right)\right)}\]

    if 5.562868238198095 < x

    1. Initial program 0.5

      \[\frac{x}{1 + \sqrt{x + 1}}\]
    2. Using strategy rm
    3. Applied flip-+0.5

      \[\leadsto \frac{x}{\color{blue}{\frac{1 \cdot 1 - \sqrt{x + 1} \cdot \sqrt{x + 1}}{1 - \sqrt{x + 1}}}}\]
    4. Simplified0.0

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

    \[\leadsto \begin{array}{l} \mathbf{if}\;x \le 5.56286823819809495:\\ \;\;\;\;\frac{x}{{1}^{3} + {\left(\sqrt{x + 1}\right)}^{3}} \cdot \left(1 \cdot 1 + \left(\sqrt{x + 1} \cdot \sqrt{x + 1} - 1 \cdot \sqrt{x + 1}\right)\right)\\ \mathbf{else}:\\ \;\;\;\;\frac{x}{\frac{\left(1 \cdot 1 - x\right) - 1}{1 - \sqrt{x + 1}}}\\ \end{array}\]

Reproduce

herbie shell --seed 2020035 
(FPCore (x)
  :name "Numeric.Log:$clog1p from log-domain-0.10.2.1, B"
  :precision binary64
  (/ x (+ 1 (sqrt (+ x 1)))))