\[\frac{e^{x} - 1}{x}\]
Test:
Kahan's exp quotient
Bits:
128 bits
Bits error versus x
Time: 6.6 s
Input Error: 18.8
Output Error: 0.2
Log:
Profile: 🕒
\(\begin{cases} \frac{e^{x}}{x} - \frac{1}{x} & \text{when } x \le -0.012142818f0 \\ \frac{\left(x \cdot x\right) \cdot \left({\left(x \cdot \frac{1}{6}\right)}^{1} + \frac{1}{2}\right) + x}{x} & \text{otherwise} \end{cases}\)

    if x < -0.012142818f0

    1. Started with
      \[\frac{e^{x} - 1}{x}\]
      0.1
    2. Using strategy rm
      0.1
    3. Applied div-sub to get
      \[\color{red}{\frac{e^{x} - 1}{x}} \leadsto \color{blue}{\frac{e^{x}}{x} - \frac{1}{x}}\]
      0.1

    if -0.012142818f0 < x

    1. Started with
      \[\frac{e^{x} - 1}{x}\]
      27.2
    2. Applied taylor to get
      \[\frac{e^{x} - 1}{x} \leadsto \frac{\frac{1}{2} \cdot {x}^2 + \left(\frac{1}{6} \cdot {x}^{3} + x\right)}{x}\]
      2.0
    3. Taylor expanded around 0 to get
      \[\frac{\color{red}{\frac{1}{2} \cdot {x}^2 + \left(\frac{1}{6} \cdot {x}^{3} + x\right)}}{x} \leadsto \frac{\color{blue}{\frac{1}{2} \cdot {x}^2 + \left(\frac{1}{6} \cdot {x}^{3} + x\right)}}{x}\]
      2.0
    4. Applied simplify to get
      \[\color{red}{\frac{\frac{1}{2} \cdot {x}^2 + \left(\frac{1}{6} \cdot {x}^{3} + x\right)}{x}} \leadsto \color{blue}{\frac{\left(x \cdot x\right) \cdot \left(x \cdot \frac{1}{6} + \frac{1}{2}\right) + x}{x}}\]
      2.0
    5. Using strategy rm
      2.0
    6. Applied pow1 to get
      \[\frac{\left(x \cdot x\right) \cdot \left(\color{red}{x \cdot \frac{1}{6}} + \frac{1}{2}\right) + x}{x} \leadsto \frac{\left(x \cdot x\right) \cdot \left(\color{blue}{{\left(x \cdot \frac{1}{6}\right)}^{1}} + \frac{1}{2}\right) + x}{x}\]
      0.2

  1. Removed slow pow expressions

Original test:


(lambda ((x default))
  #:name "Kahan's exp quotient"
  (/ (- (exp x) 1) x)
  #:target
  (if (and (< x 1) (> x -1)) (/ (- (exp x) 1) (log (exp x))) (/ (- (exp x) 1) x)))