Average Error: 6.1 → 0.2
Time: 13.1s
Precision: 64
Internal Precision: 384
\[\frac{e^{a \cdot x}}{\sin \left(a \cdot x\right)}\]
\[\begin{array}{l} \mathbf{if}\;a \cdot x \le -inf.0:\\ \;\;\;\;\frac{\frac{e^{a \cdot x}}{a}}{x}\\ \mathbf{else}:\\ \;\;\;\;\frac{e^{a \cdot x}}{\sin \left(a \cdot x\right)}\\ \end{array}\]

Error

Bits error versus a

Bits error versus x

Derivation

  1. Split input into 2 regimes
  2. if (* a x)

    1. Initial program 63.0

      \[\frac{e^{a \cdot x}}{\sin \left(a \cdot x\right)}\]
    2. Taylor expanded around 0 0

      \[\leadsto \frac{e^{a \cdot x}}{\color{blue}{a \cdot x}}\]
    3. Using strategy rm
    4. Applied associate-/r*0

      \[\leadsto \color{blue}{\frac{\frac{e^{a \cdot x}}{a}}{x}}\]

    if (* a x)

    1. Initial program 0.2

      \[\frac{e^{a \cdot x}}{\sin \left(a \cdot x\right)}\]
  3. Recombined 2 regimes into one program.
  4. Removed slow pow expressions.

Runtime

Time bar (total: 13.1s)Debug log

herbie shell --seed '#(661448276 1234332411 2386548296 3059349510 3753514417 2610571352)' 
(FPCore (a x)
  :name "infinity bug"
  (/ (exp (* a x)) (sin (* a x))))