Average Error: 52.5 → 29.6
Time: 32.1s
Precision: 64
Internal Precision: 2368
\[\log \left(x + \sqrt{x \cdot x + 1}\right)\]
\[\begin{array}{l} \mathbf{if}\;x \le -1.3445258765965727 \cdot 10^{+154}:\\ \;\;\;\;\log \left({\left(\frac{\frac{\frac{1}{8}}{x}}{x \cdot x}\right)}^{\left(\frac{1}{3} + \frac{1}{3}\right)} \cdot \sqrt[3]{\frac{\frac{\frac{1}{8}}{x}}{x \cdot x}} - \frac{\frac{1}{2}}{x}\right)\\ \mathbf{if}\;x \le 63.30440714117896:\\ \;\;\;\;\log \left(\frac{-1}{x - \sqrt{x \cdot x + 1}}\right)\\ \mathbf{else}:\\ \;\;\;\;\log \left(\left(\left(x + x\right) + \frac{\frac{1}{2}}{x}\right) - \frac{\frac{\frac{1}{8}}{x}}{x \cdot x}\right)\\ \end{array}\]

Error

Bits error versus x

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Target

Original52.5
Target44.8
Herbie29.6
\[\begin{array}{l} \mathbf{if}\;x \lt 0:\\ \;\;\;\;\log \left(\frac{-1}{x - \sqrt{x \cdot x + 1}}\right)\\ \mathbf{else}:\\ \;\;\;\;\log \left(x + \sqrt{x \cdot x + 1}\right)\\ \end{array}\]

Derivation

  1. Split input into 3 regimes
  2. if x < -1.3445258765965727e+154

    1. Initial program 63.6

      \[\log \left(x + \sqrt{x \cdot x + 1}\right)\]
    2. Taylor expanded around -inf 62.0

      \[\leadsto \log \left(x + \color{blue}{\left(\frac{1}{8} \cdot \frac{1}{{x}^{3}} - \left(\frac{1}{2} \cdot \frac{1}{x} + x\right)\right)}\right)\]
    3. Applied simplify0

      \[\leadsto \color{blue}{\log \left(\frac{\frac{\frac{1}{8}}{x}}{x \cdot x} - \frac{\frac{1}{2}}{x}\right)}\]
    4. Using strategy rm
    5. Applied add-cube-cbrt0

      \[\leadsto \log \left(\color{blue}{\left(\sqrt[3]{\frac{\frac{\frac{1}{8}}{x}}{x \cdot x}} \cdot \sqrt[3]{\frac{\frac{\frac{1}{8}}{x}}{x \cdot x}}\right) \cdot \sqrt[3]{\frac{\frac{\frac{1}{8}}{x}}{x \cdot x}}} - \frac{\frac{1}{2}}{x}\right)\]
    6. Using strategy rm
    7. Applied pow1/30

      \[\leadsto \log \left(\left(\sqrt[3]{\frac{\frac{\frac{1}{8}}{x}}{x \cdot x}} \cdot \color{blue}{{\left(\frac{\frac{\frac{1}{8}}{x}}{x \cdot x}\right)}^{\frac{1}{3}}}\right) \cdot \sqrt[3]{\frac{\frac{\frac{1}{8}}{x}}{x \cdot x}} - \frac{\frac{1}{2}}{x}\right)\]
    8. Applied pow1/30

      \[\leadsto \log \left(\left(\color{blue}{{\left(\frac{\frac{\frac{1}{8}}{x}}{x \cdot x}\right)}^{\frac{1}{3}}} \cdot {\left(\frac{\frac{\frac{1}{8}}{x}}{x \cdot x}\right)}^{\frac{1}{3}}\right) \cdot \sqrt[3]{\frac{\frac{\frac{1}{8}}{x}}{x \cdot x}} - \frac{\frac{1}{2}}{x}\right)\]
    9. Applied pow-prod-up0

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

    if -1.3445258765965727e+154 < x < 63.30440714117896

    1. Initial program 58.9

      \[\log \left(x + \sqrt{x \cdot x + 1}\right)\]
    2. Using strategy rm
    3. Applied flip-+58.8

      \[\leadsto \log \color{blue}{\left(\frac{x \cdot x - \sqrt{x \cdot x + 1} \cdot \sqrt{x \cdot x + 1}}{x - \sqrt{x \cdot x + 1}}\right)}\]
    4. Applied simplify46.9

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

    if 63.30440714117896 < x

    1. Initial program 30.8

      \[\log \left(x + \sqrt{x \cdot x + 1}\right)\]
    2. Taylor expanded around inf 0.1

      \[\leadsto \log \left(x + \color{blue}{\left(\left(\frac{1}{2} \cdot \frac{1}{x} + x\right) - \frac{1}{8} \cdot \frac{1}{{x}^{3}}\right)}\right)\]
    3. Applied simplify0.1

      \[\leadsto \color{blue}{\log \left(\left(\left(x + x\right) + \frac{\frac{1}{2}}{x}\right) - \frac{\frac{\frac{1}{8}}{x}}{x \cdot x}\right)}\]
  3. Recombined 3 regimes into one program.

Runtime

Time bar (total: 32.1s)Debug logProfile

herbie shell --seed 2018166 
(FPCore (x)
  :name "Hyperbolic arcsine"

  :herbie-target
  (if (< x 0) (log (/ -1 (- x (sqrt (+ (* x x) 1))))) (log (+ x (sqrt (+ (* x x) 1)))))

  (log (+ x (sqrt (+ (* x x) 1)))))