Average Error: 42.8 → 23.6
Time: 30.2s
Precision: 64
\[100 \cdot \frac{{\left(1 + \frac{i}{n}\right)}^{n} - 1}{\frac{i}{n}}\]
\[\begin{array}{l} \mathbf{if}\;n \le -6.142887410522617750964470107151729366347 \cdot 10^{122}:\\ \;\;\;\;n \cdot \frac{100 \cdot \left(\left(n - i \cdot \left(i \cdot 0.5\right)\right) \cdot \log 1 + i \cdot \left(i \cdot 0.5 + 1\right)\right)}{i}\\ \mathbf{elif}\;n \le -8.238753264410919988214239002998485354106 \cdot 10^{106}:\\ \;\;\;\;\left(\frac{{\left(\frac{i}{n} + 1\right)}^{n}}{i} \cdot n - \frac{1}{\frac{i}{n}}\right) \cdot 100\\ \mathbf{elif}\;n \le -1.859429087248036349677704492933116853237:\\ \;\;\;\;100 \cdot \left(\frac{\frac{\sqrt[3]{\left(n - i \cdot \left(i \cdot 0.5\right)\right) \cdot \log 1 + i \cdot \left(i \cdot 0.5 + 1\right)} \cdot \sqrt[3]{\left(n - i \cdot \left(i \cdot 0.5\right)\right) \cdot \log 1 + i \cdot \left(i \cdot 0.5 + 1\right)}}{\sqrt[3]{i}}}{\sqrt[3]{i}} \cdot \frac{n \cdot \sqrt[3]{\left(n - i \cdot \left(i \cdot 0.5\right)\right) \cdot \log 1 + i \cdot \left(i \cdot 0.5 + 1\right)}}{\sqrt[3]{i}}\right)\\ \mathbf{elif}\;n \le 1.418329784511636358016859139215844899283 \cdot 10^{-154}:\\ \;\;\;\;\frac{\left(\log 1 \cdot n + \left(1 + i \cdot 1\right)\right) - 1}{\frac{i}{n}} \cdot 100\\ \mathbf{else}:\\ \;\;\;\;n \cdot \frac{100 \cdot \left(\left(n - i \cdot \left(i \cdot 0.5\right)\right) \cdot \log 1 + i \cdot \left(i \cdot 0.5 + 1\right)\right)}{i}\\ \end{array}\]
100 \cdot \frac{{\left(1 + \frac{i}{n}\right)}^{n} - 1}{\frac{i}{n}}
\begin{array}{l}
\mathbf{if}\;n \le -6.142887410522617750964470107151729366347 \cdot 10^{122}:\\
\;\;\;\;n \cdot \frac{100 \cdot \left(\left(n - i \cdot \left(i \cdot 0.5\right)\right) \cdot \log 1 + i \cdot \left(i \cdot 0.5 + 1\right)\right)}{i}\\

\mathbf{elif}\;n \le -8.238753264410919988214239002998485354106 \cdot 10^{106}:\\
\;\;\;\;\left(\frac{{\left(\frac{i}{n} + 1\right)}^{n}}{i} \cdot n - \frac{1}{\frac{i}{n}}\right) \cdot 100\\

\mathbf{elif}\;n \le -1.859429087248036349677704492933116853237:\\
\;\;\;\;100 \cdot \left(\frac{\frac{\sqrt[3]{\left(n - i \cdot \left(i \cdot 0.5\right)\right) \cdot \log 1 + i \cdot \left(i \cdot 0.5 + 1\right)} \cdot \sqrt[3]{\left(n - i \cdot \left(i \cdot 0.5\right)\right) \cdot \log 1 + i \cdot \left(i \cdot 0.5 + 1\right)}}{\sqrt[3]{i}}}{\sqrt[3]{i}} \cdot \frac{n \cdot \sqrt[3]{\left(n - i \cdot \left(i \cdot 0.5\right)\right) \cdot \log 1 + i \cdot \left(i \cdot 0.5 + 1\right)}}{\sqrt[3]{i}}\right)\\

\mathbf{elif}\;n \le 1.418329784511636358016859139215844899283 \cdot 10^{-154}:\\
\;\;\;\;\frac{\left(\log 1 \cdot n + \left(1 + i \cdot 1\right)\right) - 1}{\frac{i}{n}} \cdot 100\\

\mathbf{else}:\\
\;\;\;\;n \cdot \frac{100 \cdot \left(\left(n - i \cdot \left(i \cdot 0.5\right)\right) \cdot \log 1 + i \cdot \left(i \cdot 0.5 + 1\right)\right)}{i}\\

\end{array}
double f(double i, double n) {
        double r150972 = 100.0;
        double r150973 = 1.0;
        double r150974 = i;
        double r150975 = n;
        double r150976 = r150974 / r150975;
        double r150977 = r150973 + r150976;
        double r150978 = pow(r150977, r150975);
        double r150979 = r150978 - r150973;
        double r150980 = r150979 / r150976;
        double r150981 = r150972 * r150980;
        return r150981;
}

double f(double i, double n) {
        double r150982 = n;
        double r150983 = -6.142887410522618e+122;
        bool r150984 = r150982 <= r150983;
        double r150985 = 100.0;
        double r150986 = i;
        double r150987 = 0.5;
        double r150988 = r150986 * r150987;
        double r150989 = r150986 * r150988;
        double r150990 = r150982 - r150989;
        double r150991 = 1.0;
        double r150992 = log(r150991);
        double r150993 = r150990 * r150992;
        double r150994 = r150988 + r150991;
        double r150995 = r150986 * r150994;
        double r150996 = r150993 + r150995;
        double r150997 = r150985 * r150996;
        double r150998 = r150997 / r150986;
        double r150999 = r150982 * r150998;
        double r151000 = -8.23875326441092e+106;
        bool r151001 = r150982 <= r151000;
        double r151002 = r150986 / r150982;
        double r151003 = r151002 + r150991;
        double r151004 = pow(r151003, r150982);
        double r151005 = r151004 / r150986;
        double r151006 = r151005 * r150982;
        double r151007 = r150991 / r151002;
        double r151008 = r151006 - r151007;
        double r151009 = r151008 * r150985;
        double r151010 = -1.8594290872480363;
        bool r151011 = r150982 <= r151010;
        double r151012 = cbrt(r150996);
        double r151013 = r151012 * r151012;
        double r151014 = cbrt(r150986);
        double r151015 = r151013 / r151014;
        double r151016 = r151015 / r151014;
        double r151017 = r150982 * r151012;
        double r151018 = r151017 / r151014;
        double r151019 = r151016 * r151018;
        double r151020 = r150985 * r151019;
        double r151021 = 1.4183297845116364e-154;
        bool r151022 = r150982 <= r151021;
        double r151023 = r150992 * r150982;
        double r151024 = 1.0;
        double r151025 = r150986 * r150991;
        double r151026 = r151024 + r151025;
        double r151027 = r151023 + r151026;
        double r151028 = r151027 - r150991;
        double r151029 = r151028 / r151002;
        double r151030 = r151029 * r150985;
        double r151031 = r151022 ? r151030 : r150999;
        double r151032 = r151011 ? r151020 : r151031;
        double r151033 = r151001 ? r151009 : r151032;
        double r151034 = r150984 ? r150999 : r151033;
        return r151034;
}

Error

Bits error versus i

Bits error versus n

Try it out

Your Program's Arguments

Results

Enter valid numbers for all inputs

Target

Original42.8
Target42.8
Herbie23.6
\[100 \cdot \frac{e^{n \cdot \begin{array}{l} \mathbf{if}\;1 + \frac{i}{n} = 1:\\ \;\;\;\;\frac{i}{n}\\ \mathbf{else}:\\ \;\;\;\;\frac{\frac{i}{n} \cdot \log \left(1 + \frac{i}{n}\right)}{\left(\frac{i}{n} + 1\right) - 1}\\ \end{array}} - 1}{\frac{i}{n}}\]

Derivation

  1. Split input into 4 regimes
  2. if n < -6.142887410522618e+122 or 1.4183297845116364e-154 < n

    1. Initial program 56.2

      \[100 \cdot \frac{{\left(1 + \frac{i}{n}\right)}^{n} - 1}{\frac{i}{n}}\]
    2. Taylor expanded around 0 40.5

      \[\leadsto 100 \cdot \frac{\color{blue}{\left(\log 1 \cdot n + \left(1 \cdot i + 0.5 \cdot {i}^{2}\right)\right) - 0.5 \cdot \left(\log 1 \cdot {i}^{2}\right)}}{\frac{i}{n}}\]
    3. Simplified40.5

      \[\leadsto 100 \cdot \frac{\color{blue}{\left(\left(i \cdot i\right) \cdot 0.5 + 1 \cdot i\right) + \left(n \cdot \log 1 - \log 1 \cdot \left(\left(i \cdot i\right) \cdot 0.5\right)\right)}}{\frac{i}{n}}\]
    4. Using strategy rm
    5. Applied associate-/r/21.1

      \[\leadsto 100 \cdot \color{blue}{\left(\frac{\left(\left(i \cdot i\right) \cdot 0.5 + 1 \cdot i\right) + \left(n \cdot \log 1 - \log 1 \cdot \left(\left(i \cdot i\right) \cdot 0.5\right)\right)}{i} \cdot n\right)}\]
    6. Applied associate-*r*21.1

      \[\leadsto \color{blue}{\left(100 \cdot \frac{\left(\left(i \cdot i\right) \cdot 0.5 + 1 \cdot i\right) + \left(n \cdot \log 1 - \log 1 \cdot \left(\left(i \cdot i\right) \cdot 0.5\right)\right)}{i}\right) \cdot n}\]
    7. Simplified21.1

      \[\leadsto \color{blue}{\frac{\left(i \cdot \left(i \cdot 0.5 + 1\right) + \log 1 \cdot \left(n - i \cdot \left(i \cdot 0.5\right)\right)\right) \cdot 100}{i}} \cdot n\]

    if -6.142887410522618e+122 < n < -8.23875326441092e+106

    1. Initial program 40.4

      \[100 \cdot \frac{{\left(1 + \frac{i}{n}\right)}^{n} - 1}{\frac{i}{n}}\]
    2. Using strategy rm
    3. Applied div-sub40.4

      \[\leadsto 100 \cdot \color{blue}{\left(\frac{{\left(1 + \frac{i}{n}\right)}^{n}}{\frac{i}{n}} - \frac{1}{\frac{i}{n}}\right)}\]
    4. Simplified40.1

      \[\leadsto 100 \cdot \left(\color{blue}{\frac{{\left(\frac{i}{n} + 1\right)}^{n}}{i} \cdot n} - \frac{1}{\frac{i}{n}}\right)\]

    if -8.23875326441092e+106 < n < -1.8594290872480363

    1. Initial program 36.5

      \[100 \cdot \frac{{\left(1 + \frac{i}{n}\right)}^{n} - 1}{\frac{i}{n}}\]
    2. Taylor expanded around 0 34.8

      \[\leadsto 100 \cdot \frac{\color{blue}{\left(\log 1 \cdot n + \left(1 \cdot i + 0.5 \cdot {i}^{2}\right)\right) - 0.5 \cdot \left(\log 1 \cdot {i}^{2}\right)}}{\frac{i}{n}}\]
    3. Simplified34.8

      \[\leadsto 100 \cdot \frac{\color{blue}{\left(\left(i \cdot i\right) \cdot 0.5 + 1 \cdot i\right) + \left(n \cdot \log 1 - \log 1 \cdot \left(\left(i \cdot i\right) \cdot 0.5\right)\right)}}{\frac{i}{n}}\]
    4. Using strategy rm
    5. Applied *-un-lft-identity34.8

      \[\leadsto 100 \cdot \frac{\left(\left(i \cdot i\right) \cdot 0.5 + 1 \cdot i\right) + \left(n \cdot \log 1 - \log 1 \cdot \left(\left(i \cdot i\right) \cdot 0.5\right)\right)}{\frac{i}{\color{blue}{1 \cdot n}}}\]
    6. Applied add-cube-cbrt35.3

      \[\leadsto 100 \cdot \frac{\left(\left(i \cdot i\right) \cdot 0.5 + 1 \cdot i\right) + \left(n \cdot \log 1 - \log 1 \cdot \left(\left(i \cdot i\right) \cdot 0.5\right)\right)}{\frac{\color{blue}{\left(\sqrt[3]{i} \cdot \sqrt[3]{i}\right) \cdot \sqrt[3]{i}}}{1 \cdot n}}\]
    7. Applied times-frac35.3

      \[\leadsto 100 \cdot \frac{\left(\left(i \cdot i\right) \cdot 0.5 + 1 \cdot i\right) + \left(n \cdot \log 1 - \log 1 \cdot \left(\left(i \cdot i\right) \cdot 0.5\right)\right)}{\color{blue}{\frac{\sqrt[3]{i} \cdot \sqrt[3]{i}}{1} \cdot \frac{\sqrt[3]{i}}{n}}}\]
    8. Applied add-cube-cbrt34.9

      \[\leadsto 100 \cdot \frac{\color{blue}{\left(\sqrt[3]{\left(\left(i \cdot i\right) \cdot 0.5 + 1 \cdot i\right) + \left(n \cdot \log 1 - \log 1 \cdot \left(\left(i \cdot i\right) \cdot 0.5\right)\right)} \cdot \sqrt[3]{\left(\left(i \cdot i\right) \cdot 0.5 + 1 \cdot i\right) + \left(n \cdot \log 1 - \log 1 \cdot \left(\left(i \cdot i\right) \cdot 0.5\right)\right)}\right) \cdot \sqrt[3]{\left(\left(i \cdot i\right) \cdot 0.5 + 1 \cdot i\right) + \left(n \cdot \log 1 - \log 1 \cdot \left(\left(i \cdot i\right) \cdot 0.5\right)\right)}}}{\frac{\sqrt[3]{i} \cdot \sqrt[3]{i}}{1} \cdot \frac{\sqrt[3]{i}}{n}}\]
    9. Applied times-frac29.1

      \[\leadsto 100 \cdot \color{blue}{\left(\frac{\sqrt[3]{\left(\left(i \cdot i\right) \cdot 0.5 + 1 \cdot i\right) + \left(n \cdot \log 1 - \log 1 \cdot \left(\left(i \cdot i\right) \cdot 0.5\right)\right)} \cdot \sqrt[3]{\left(\left(i \cdot i\right) \cdot 0.5 + 1 \cdot i\right) + \left(n \cdot \log 1 - \log 1 \cdot \left(\left(i \cdot i\right) \cdot 0.5\right)\right)}}{\frac{\sqrt[3]{i} \cdot \sqrt[3]{i}}{1}} \cdot \frac{\sqrt[3]{\left(\left(i \cdot i\right) \cdot 0.5 + 1 \cdot i\right) + \left(n \cdot \log 1 - \log 1 \cdot \left(\left(i \cdot i\right) \cdot 0.5\right)\right)}}{\frac{\sqrt[3]{i}}{n}}\right)}\]
    10. Simplified29.1

      \[\leadsto 100 \cdot \left(\color{blue}{\frac{\frac{\sqrt[3]{i \cdot \left(i \cdot 0.5 + 1\right) + \log 1 \cdot \left(n - i \cdot \left(i \cdot 0.5\right)\right)} \cdot \sqrt[3]{i \cdot \left(i \cdot 0.5 + 1\right) + \log 1 \cdot \left(n - i \cdot \left(i \cdot 0.5\right)\right)}}{\sqrt[3]{i}}}{\sqrt[3]{i}}} \cdot \frac{\sqrt[3]{\left(\left(i \cdot i\right) \cdot 0.5 + 1 \cdot i\right) + \left(n \cdot \log 1 - \log 1 \cdot \left(\left(i \cdot i\right) \cdot 0.5\right)\right)}}{\frac{\sqrt[3]{i}}{n}}\right)\]
    11. Simplified29.1

      \[\leadsto 100 \cdot \left(\frac{\frac{\sqrt[3]{i \cdot \left(i \cdot 0.5 + 1\right) + \log 1 \cdot \left(n - i \cdot \left(i \cdot 0.5\right)\right)} \cdot \sqrt[3]{i \cdot \left(i \cdot 0.5 + 1\right) + \log 1 \cdot \left(n - i \cdot \left(i \cdot 0.5\right)\right)}}{\sqrt[3]{i}}}{\sqrt[3]{i}} \cdot \color{blue}{\frac{\sqrt[3]{i \cdot \left(i \cdot 0.5 + 1\right) + \log 1 \cdot \left(n - i \cdot \left(i \cdot 0.5\right)\right)} \cdot n}{\sqrt[3]{i}}}\right)\]

    if -1.8594290872480363 < n < 1.4183297845116364e-154

    1. Initial program 23.6

      \[100 \cdot \frac{{\left(1 + \frac{i}{n}\right)}^{n} - 1}{\frac{i}{n}}\]
    2. Taylor expanded around 0 24.6

      \[\leadsto 100 \cdot \frac{\color{blue}{\left(\log 1 \cdot n + \left(1 \cdot i + 1\right)\right)} - 1}{\frac{i}{n}}\]
    3. Simplified24.6

      \[\leadsto 100 \cdot \frac{\color{blue}{\left(\left(1 \cdot i + 1\right) + n \cdot \log 1\right)} - 1}{\frac{i}{n}}\]
  3. Recombined 4 regimes into one program.
  4. Final simplification23.6

    \[\leadsto \begin{array}{l} \mathbf{if}\;n \le -6.142887410522617750964470107151729366347 \cdot 10^{122}:\\ \;\;\;\;n \cdot \frac{100 \cdot \left(\left(n - i \cdot \left(i \cdot 0.5\right)\right) \cdot \log 1 + i \cdot \left(i \cdot 0.5 + 1\right)\right)}{i}\\ \mathbf{elif}\;n \le -8.238753264410919988214239002998485354106 \cdot 10^{106}:\\ \;\;\;\;\left(\frac{{\left(\frac{i}{n} + 1\right)}^{n}}{i} \cdot n - \frac{1}{\frac{i}{n}}\right) \cdot 100\\ \mathbf{elif}\;n \le -1.859429087248036349677704492933116853237:\\ \;\;\;\;100 \cdot \left(\frac{\frac{\sqrt[3]{\left(n - i \cdot \left(i \cdot 0.5\right)\right) \cdot \log 1 + i \cdot \left(i \cdot 0.5 + 1\right)} \cdot \sqrt[3]{\left(n - i \cdot \left(i \cdot 0.5\right)\right) \cdot \log 1 + i \cdot \left(i \cdot 0.5 + 1\right)}}{\sqrt[3]{i}}}{\sqrt[3]{i}} \cdot \frac{n \cdot \sqrt[3]{\left(n - i \cdot \left(i \cdot 0.5\right)\right) \cdot \log 1 + i \cdot \left(i \cdot 0.5 + 1\right)}}{\sqrt[3]{i}}\right)\\ \mathbf{elif}\;n \le 1.418329784511636358016859139215844899283 \cdot 10^{-154}:\\ \;\;\;\;\frac{\left(\log 1 \cdot n + \left(1 + i \cdot 1\right)\right) - 1}{\frac{i}{n}} \cdot 100\\ \mathbf{else}:\\ \;\;\;\;n \cdot \frac{100 \cdot \left(\left(n - i \cdot \left(i \cdot 0.5\right)\right) \cdot \log 1 + i \cdot \left(i \cdot 0.5 + 1\right)\right)}{i}\\ \end{array}\]

Reproduce

herbie shell --seed 2019195 
(FPCore (i n)
  :name "Compound Interest"

  :herbie-target
  (* 100.0 (/ (- (exp (* n (if (== (+ 1.0 (/ i n)) 1.0) (/ i n) (/ (* (/ i n) (log (+ 1.0 (/ i n)))) (- (+ (/ i n) 1.0) 1.0))))) 1.0) (/ i n)))

  (* 100.0 (/ (- (pow (+ 1.0 (/ i n)) n) 1.0) (/ i n))))