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

    if x < -2.0926544674404998e-09

    1. Started with
      \[\frac{e^{x} - 1}{x}\]
      0.3

    if -2.0926544674404998e-09 < x

    1. Started with
      \[\frac{e^{x} - 1}{x}\]
      60.7
    2. Applied taylor to get
      \[\frac{e^{x} - 1}{x} \leadsto \frac{1}{6} \cdot {x}^2 + \left(1 + \frac{1}{2} \cdot x\right)\]
      0.1
    3. Taylor expanded around 0 to get
      \[\color{red}{\frac{1}{6} \cdot {x}^2 + \left(1 + \frac{1}{2} \cdot x\right)} \leadsto \color{blue}{\frac{1}{6} \cdot {x}^2 + \left(1 + \frac{1}{2} \cdot x\right)}\]
      0.1

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