Average Error: 2.1 → 0.1
Time: 17.7s
Precision: 64
\[\frac{a \cdot {k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k}\]
\[\begin{array}{l} \mathbf{if}\;k \le 1.097649070943432541316308677194287050937 \cdot 10^{139}:\\ \;\;\;\;\frac{1}{k \cdot \left(10 + k\right) + 1} \cdot \left({k}^{m} \cdot a\right)\\ \mathbf{else}:\\ \;\;\;\;\left(\frac{99}{k \cdot k} + 1\right) \cdot \left(\frac{a}{k} \cdot \frac{{\left(e^{\log k}\right)}^{m}}{k}\right) - \frac{\left(10 \cdot a\right) \cdot {\left(e^{\log k}\right)}^{m}}{{k}^{3}}\\ \end{array}\]
\frac{a \cdot {k}^{m}}{\left(1 + 10 \cdot k\right) + k \cdot k}
\begin{array}{l}
\mathbf{if}\;k \le 1.097649070943432541316308677194287050937 \cdot 10^{139}:\\
\;\;\;\;\frac{1}{k \cdot \left(10 + k\right) + 1} \cdot \left({k}^{m} \cdot a\right)\\

\mathbf{else}:\\
\;\;\;\;\left(\frac{99}{k \cdot k} + 1\right) \cdot \left(\frac{a}{k} \cdot \frac{{\left(e^{\log k}\right)}^{m}}{k}\right) - \frac{\left(10 \cdot a\right) \cdot {\left(e^{\log k}\right)}^{m}}{{k}^{3}}\\

\end{array}
double f(double a, double k, double m) {
        double r246218 = a;
        double r246219 = k;
        double r246220 = m;
        double r246221 = pow(r246219, r246220);
        double r246222 = r246218 * r246221;
        double r246223 = 1.0;
        double r246224 = 10.0;
        double r246225 = r246224 * r246219;
        double r246226 = r246223 + r246225;
        double r246227 = r246219 * r246219;
        double r246228 = r246226 + r246227;
        double r246229 = r246222 / r246228;
        return r246229;
}

double f(double a, double k, double m) {
        double r246230 = k;
        double r246231 = 1.0976490709434325e+139;
        bool r246232 = r246230 <= r246231;
        double r246233 = 1.0;
        double r246234 = 10.0;
        double r246235 = r246234 + r246230;
        double r246236 = r246230 * r246235;
        double r246237 = 1.0;
        double r246238 = r246236 + r246237;
        double r246239 = r246233 / r246238;
        double r246240 = m;
        double r246241 = pow(r246230, r246240);
        double r246242 = a;
        double r246243 = r246241 * r246242;
        double r246244 = r246239 * r246243;
        double r246245 = 99.0;
        double r246246 = r246230 * r246230;
        double r246247 = r246245 / r246246;
        double r246248 = r246247 + r246233;
        double r246249 = r246242 / r246230;
        double r246250 = log(r246230);
        double r246251 = exp(r246250);
        double r246252 = pow(r246251, r246240);
        double r246253 = r246252 / r246230;
        double r246254 = r246249 * r246253;
        double r246255 = r246248 * r246254;
        double r246256 = r246234 * r246242;
        double r246257 = r246256 * r246252;
        double r246258 = 3.0;
        double r246259 = pow(r246230, r246258);
        double r246260 = r246257 / r246259;
        double r246261 = r246255 - r246260;
        double r246262 = r246232 ? r246244 : r246261;
        return r246262;
}

Error

Bits error versus a

Bits error versus k

Bits error versus m

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Derivation

  1. Split input into 2 regimes
  2. if k < 1.0976490709434325e+139

    1. Initial program 0.1

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

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

      \[\leadsto \frac{a}{\color{blue}{\left(k \cdot \left(10 + k\right) + 1\right) \cdot \frac{1}{{k}^{m}}}}\]
    5. Applied *-un-lft-identity0.1

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

      \[\leadsto \color{blue}{\frac{1}{k \cdot \left(10 + k\right) + 1} \cdot \frac{a}{\frac{1}{{k}^{m}}}}\]
    7. Simplified0.1

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

    if 1.0976490709434325e+139 < k

    1. Initial program 9.3

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

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

      \[\leadsto \frac{a}{\color{blue}{\left(k \cdot \left(10 + k\right) + 1\right) \cdot \frac{1}{{k}^{m}}}}\]
    5. Applied *-un-lft-identity9.3

      \[\leadsto \frac{\color{blue}{1 \cdot a}}{\left(k \cdot \left(10 + k\right) + 1\right) \cdot \frac{1}{{k}^{m}}}\]
    6. Applied times-frac9.3

      \[\leadsto \color{blue}{\frac{1}{k \cdot \left(10 + k\right) + 1} \cdot \frac{a}{\frac{1}{{k}^{m}}}}\]
    7. Simplified9.3

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

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

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

    \[\leadsto \begin{array}{l} \mathbf{if}\;k \le 1.097649070943432541316308677194287050937 \cdot 10^{139}:\\ \;\;\;\;\frac{1}{k \cdot \left(10 + k\right) + 1} \cdot \left({k}^{m} \cdot a\right)\\ \mathbf{else}:\\ \;\;\;\;\left(\frac{99}{k \cdot k} + 1\right) \cdot \left(\frac{a}{k} \cdot \frac{{\left(e^{\log k}\right)}^{m}}{k}\right) - \frac{\left(10 \cdot a\right) \cdot {\left(e^{\log k}\right)}^{m}}{{k}^{3}}\\ \end{array}\]

Reproduce

herbie shell --seed 2019347 
(FPCore (a k m)
  :name "Falkner and Boettcher, Appendix A"
  :precision binary64
  (/ (* a (pow k m)) (+ (+ 1 (* 10 k)) (* k k))))