Average Error: 2.0 → 0.1
Time: 47.3s
Precision: 64
Internal Precision: 320
\[\frac{a \cdot {k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k}\]
\[\begin{array}{l} \mathbf{if}\;(m \cdot \left(\log k\right) + \left(k \cdot 10\right))_* \le 1.958962871968911 \cdot 10^{+95}:\\ \;\;\;\;\frac{a \cdot {k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k}\\ \mathbf{if}\;(m \cdot \left(\log k\right) + \left(k \cdot 10\right))_* \le 1.23149157803416 \cdot 10^{+288}:\\ \;\;\;\;(\left(\frac{a}{\frac{{k}^{4}}{{k}^{m}}}\right) \cdot 101 + \left((\left(\frac{\frac{a}{k}}{k} \cdot {k}^{m}\right) \cdot \left(\frac{10}{k}\right) + \left(\frac{\frac{a}{k}}{k} \cdot {k}^{m}\right))_*\right))_*\\ \mathbf{else}:\\ \;\;\;\;\frac{{k}^{m}}{\sqrt{(\left(10 + k\right) \cdot k + 1)_*}} \cdot \frac{a}{\sqrt{(\left(10 + k\right) \cdot k + 1)_*}}\\ \end{array}\]

Error

Bits error versus a

Bits error versus k

Bits error versus m

Derivation

  1. Split input into 3 regimes
  2. if (fma m (log k) (* k 10)) < 1.958962871968911e+95

    1. Initial program 0.1

      \[\frac{a \cdot {k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k}\]

    if 1.958962871968911e+95 < (fma m (log k) (* k 10)) < 1.23149157803416e+288

    1. Initial program 9.3

      \[\frac{a \cdot {k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k}\]
    2. Applied simplify9.3

      \[\leadsto \color{blue}{\frac{{k}^{m} \cdot a}{(\left(10 + k\right) \cdot k + 1)_*}}\]
    3. Taylor expanded around inf 9.3

      \[\leadsto \color{blue}{\frac{e^{-1 \cdot \left(\log \left(\frac{1}{k}\right) \cdot m\right)} \cdot a}{{k}^{2}} + \left(101 \cdot \frac{e^{-1 \cdot \left(\log \left(\frac{1}{k}\right) \cdot m\right)} \cdot a}{{k}^{4}} + 10 \cdot \frac{e^{-1 \cdot \left(\log \left(\frac{1}{k}\right) \cdot m\right)} \cdot a}{{k}^{3}}\right)}\]
    4. Applied simplify0.1

      \[\leadsto \color{blue}{(\left(\frac{a}{\frac{{k}^{4}}{{k}^{m}}}\right) \cdot 101 + \left((\left(\frac{\frac{a}{k}}{k} \cdot {k}^{m}\right) \cdot \left(\frac{10}{k}\right) + \left(\frac{\frac{a}{k}}{k} \cdot {k}^{m}\right))_*\right))_*}\]

    if 1.23149157803416e+288 < (fma m (log k) (* k 10))

    1. Initial program 0.2

      \[\frac{a \cdot {k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k}\]
    2. Applied simplify0.1

      \[\leadsto \color{blue}{\frac{{k}^{m} \cdot a}{(\left(10 + k\right) \cdot k + 1)_*}}\]
    3. Using strategy rm
    4. Applied add-sqr-sqrt0.3

      \[\leadsto \frac{{k}^{m} \cdot a}{\color{blue}{\sqrt{(\left(10 + k\right) \cdot k + 1)_*} \cdot \sqrt{(\left(10 + k\right) \cdot k + 1)_*}}}\]
    5. Applied times-frac0.3

      \[\leadsto \color{blue}{\frac{{k}^{m}}{\sqrt{(\left(10 + k\right) \cdot k + 1)_*}} \cdot \frac{a}{\sqrt{(\left(10 + k\right) \cdot k + 1)_*}}}\]
  3. Recombined 3 regimes into one program.

Runtime

Time bar (total: 47.3s)Debug logProfile

herbie shell --seed 2018195 +o rules:numerics
(FPCore (a k m)
  :name "Falkner and Boettcher, Appendix A"
  (/ (* a (pow k m)) (+ (+ 1 (* 10 k)) (* k k))))