\[\frac{1 - \cos x}{\sin x}\]
Test:
NMSE example 3.4
Bits:
128 bits
Bits error versus x
Time: 49.1 s
Input Error: 30.2
Output Error: 0.5
Log:
Profile: 🕒
\(\begin{cases} \frac{\frac{{\left(\sin x\right)}^2}{1 + \cos x}}{\sin x} & \text{when } x \le -1.6832923238537353 \cdot 10^{-08} \\ x \cdot \frac{1}{2} + \left(\frac{1}{240} \cdot {x}^{5} + {x}^3 \cdot \frac{1}{24}\right) & \text{when } x \le 5.881545813624529 \cdot 10^{-20} \\ \frac{\frac{{\left(\sin x\right)}^2}{1 + \cos x}}{\sin x} & \text{otherwise} \end{cases}\)

    if x < -1.6832923238537353e-08 or 5.881545813624529e-20 < x

    1. Started with
      \[\frac{1 - \cos x}{\sin x}\]
      2.7
    2. Using strategy rm
      2.7
    3. Applied flip-- to get
      \[\frac{\color{red}{1 - \cos x}}{\sin x} \leadsto \frac{\color{blue}{\frac{{1}^2 - {\left(\cos x\right)}^2}{1 + \cos x}}}{\sin x}\]
      3.1
    4. Applied simplify to get
      \[\frac{\frac{\color{red}{{1}^2 - {\left(\cos x\right)}^2}}{1 + \cos x}}{\sin x} \leadsto \frac{\frac{\color{blue}{{\left(\sin x\right)}^2}}{1 + \cos x}}{\sin x}\]
      1.0

    if -1.6832923238537353e-08 < x < 5.881545813624529e-20

    1. Started with
      \[\frac{1 - \cos x}{\sin x}\]
      60.5
    2. Applied taylor to get
      \[\frac{1 - \cos x}{\sin x} \leadsto \frac{1}{240} \cdot {x}^{5} + \left(\frac{1}{24} \cdot {x}^{3} + \frac{1}{2} \cdot x\right)\]
      0.0
    3. Taylor expanded around 0 to get
      \[\color{red}{\frac{1}{240} \cdot {x}^{5} + \left(\frac{1}{24} \cdot {x}^{3} + \frac{1}{2} \cdot x\right)} \leadsto \color{blue}{\frac{1}{240} \cdot {x}^{5} + \left(\frac{1}{24} \cdot {x}^{3} + \frac{1}{2} \cdot x\right)}\]
      0.0
    4. Applied simplify to get
      \[\color{red}{\frac{1}{240} \cdot {x}^{5} + \left(\frac{1}{24} \cdot {x}^{3} + \frac{1}{2} \cdot x\right)} \leadsto \color{blue}{x \cdot \frac{1}{2} + \left(\frac{1}{240} \cdot {x}^{5} + {x}^3 \cdot \frac{1}{24}\right)}\]
      0.0

  1. Removed slow pow expressions

Original test:


(lambda ((x default))
  #:name "NMSE example 3.4"
  (/ (- 1 (cos x)) (sin x))
  #:target
  (tan (/ x 2)))