Average Error: 2.1 → 0.1
Time: 1.8m
Precision: 64
Internal Precision: 320
\[\frac{a \cdot {k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k}\]
\[\begin{array}{l} \mathbf{if}\;k \le 3.798167697514823 \cdot 10^{+107}:\\ \;\;\;\;\frac{\sqrt{{k}^{m}} \cdot \left(a \cdot \sqrt{{k}^{m}}\right)}{(k \cdot k + \left((10 \cdot k + 1)_*\right))_*}\\ \mathbf{else}:\\ \;\;\;\;\frac{\frac{{k}^{m} \cdot a}{\left|\sqrt{k^2 + \left(\sqrt{(10 \cdot k + 1)_*}\right)^2}^*\right|}}{\sqrt{k^2 + \left(\sqrt{(10 \cdot k + 1)_*}\right)^2}^*}\\ \end{array}\]

Error

Bits error versus a

Bits error versus k

Bits error versus m

Derivation

  1. Split input into 2 regimes
  2. if k < 3.798167697514823e+107

    1. Initial program 0.1

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

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

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

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

    if 3.798167697514823e+107 < k

    1. Initial program 8.2

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

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

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

      \[\leadsto \color{blue}{\frac{\frac{{k}^{m} \cdot a}{\sqrt{(k \cdot k + \left((10 \cdot k + 1)_*\right))_*}}}{\sqrt{(k \cdot k + \left((10 \cdot k + 1)_*\right))_*}}}\]
    6. Simplified8.2

      \[\leadsto \frac{\frac{{k}^{m} \cdot a}{\sqrt{(k \cdot k + \left((10 \cdot k + 1)_*\right))_*}}}{\color{blue}{\sqrt{k^2 + \left(\sqrt{(10 \cdot k + 1)_*}\right)^2}^*}}\]
    7. Using strategy rm
    8. Applied add-sqr-sqrt8.2

      \[\leadsto \frac{\frac{{k}^{m} \cdot a}{\sqrt{\color{blue}{\sqrt{(k \cdot k + \left((10 \cdot k + 1)_*\right))_*} \cdot \sqrt{(k \cdot k + \left((10 \cdot k + 1)_*\right))_*}}}}}{\sqrt{k^2 + \left(\sqrt{(10 \cdot k + 1)_*}\right)^2}^*}\]
    9. Applied rem-sqrt-square8.2

      \[\leadsto \frac{\frac{{k}^{m} \cdot a}{\color{blue}{\left|\sqrt{(k \cdot k + \left((10 \cdot k + 1)_*\right))_*}\right|}}}{\sqrt{k^2 + \left(\sqrt{(10 \cdot k + 1)_*}\right)^2}^*}\]
    10. Simplified0.1

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

    \[\leadsto \begin{array}{l} \mathbf{if}\;k \le 3.798167697514823 \cdot 10^{+107}:\\ \;\;\;\;\frac{\sqrt{{k}^{m}} \cdot \left(a \cdot \sqrt{{k}^{m}}\right)}{(k \cdot k + \left((10 \cdot k + 1)_*\right))_*}\\ \mathbf{else}:\\ \;\;\;\;\frac{\frac{{k}^{m} \cdot a}{\left|\sqrt{k^2 + \left(\sqrt{(10 \cdot k + 1)_*}\right)^2}^*\right|}}{\sqrt{k^2 + \left(\sqrt{(10 \cdot k + 1)_*}\right)^2}^*}\\ \end{array}\]

Runtime

Time bar (total: 1.8m)Debug logProfile

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