Average Error: 42.7 → 21.0
Time: 26.8s
Precision: 64
\[100 \cdot \frac{{\left(1 + \frac{i}{n}\right)}^{n} - 1}{\frac{i}{n}}\]
\[\begin{array}{l} \mathbf{if}\;i \le -1.1676448974447302 \cdot 10^{-14}:\\ \;\;\;\;100 \cdot \frac{\frac{{\left(\frac{i}{n} + 1\right)}^{n} \cdot {\left(\frac{i}{n} + 1\right)}^{n} - 1}{{\left(\frac{i}{n} + 1\right)}^{n} + 1}}{\frac{i}{n}}\\ \mathbf{elif}\;i \le 8.143655347585655 \cdot 10^{-238}:\\ \;\;\;\;100 \cdot \left(n \cdot \frac{\left(\frac{1}{6} \cdot \left(i \cdot \left(i \cdot i\right)\right) + \frac{1}{2} \cdot \left(i \cdot i\right)\right) + i}{i}\right)\\ \mathbf{elif}\;i \le 44.79644908506854:\\ \;\;\;\;\left(\left(\sqrt[3]{\left(\frac{\left(\frac{1}{6} \cdot \left(i \cdot \left(i \cdot i\right)\right) + \frac{1}{2} \cdot \left(i \cdot i\right)\right) + i}{\sqrt[3]{\frac{1}{n}}} \cdot \frac{1}{\sqrt[3]{\frac{1}{n}} \cdot \sqrt[3]{\frac{1}{n}}}\right) \cdot \frac{1}{i}} \cdot \sqrt[3]{\left(\frac{\left(\frac{1}{6} \cdot \left(i \cdot \left(i \cdot i\right)\right) + \frac{1}{2} \cdot \left(i \cdot i\right)\right) + i}{\sqrt[3]{\frac{1}{n}}} \cdot \frac{1}{\sqrt[3]{\frac{1}{n}} \cdot \sqrt[3]{\frac{1}{n}}}\right) \cdot \frac{1}{i}}\right) \cdot \sqrt[3]{\left(\frac{\left(\frac{1}{6} \cdot \left(i \cdot \left(i \cdot i\right)\right) + \frac{1}{2} \cdot \left(i \cdot i\right)\right) + i}{\sqrt[3]{\frac{1}{n}}} \cdot \frac{1}{\sqrt[3]{\frac{1}{n}} \cdot \sqrt[3]{\frac{1}{n}}}\right) \cdot \frac{1}{i}}\right) \cdot 100\\ \mathbf{elif}\;i \le 7.515275266640414 \cdot 10^{+254}:\\ \;\;\;\;0\\ \mathbf{elif}\;i \le 1.1905568301770126 \cdot 10^{+297}:\\ \;\;\;\;n \cdot \left(100 \cdot \frac{{\left(\frac{i}{n} + 1\right)}^{n} - 1}{i}\right)\\ \mathbf{else}:\\ \;\;\;\;0\\ \end{array}\]
100 \cdot \frac{{\left(1 + \frac{i}{n}\right)}^{n} - 1}{\frac{i}{n}}
\begin{array}{l}
\mathbf{if}\;i \le -1.1676448974447302 \cdot 10^{-14}:\\
\;\;\;\;100 \cdot \frac{\frac{{\left(\frac{i}{n} + 1\right)}^{n} \cdot {\left(\frac{i}{n} + 1\right)}^{n} - 1}{{\left(\frac{i}{n} + 1\right)}^{n} + 1}}{\frac{i}{n}}\\

\mathbf{elif}\;i \le 8.143655347585655 \cdot 10^{-238}:\\
\;\;\;\;100 \cdot \left(n \cdot \frac{\left(\frac{1}{6} \cdot \left(i \cdot \left(i \cdot i\right)\right) + \frac{1}{2} \cdot \left(i \cdot i\right)\right) + i}{i}\right)\\

\mathbf{elif}\;i \le 44.79644908506854:\\
\;\;\;\;\left(\left(\sqrt[3]{\left(\frac{\left(\frac{1}{6} \cdot \left(i \cdot \left(i \cdot i\right)\right) + \frac{1}{2} \cdot \left(i \cdot i\right)\right) + i}{\sqrt[3]{\frac{1}{n}}} \cdot \frac{1}{\sqrt[3]{\frac{1}{n}} \cdot \sqrt[3]{\frac{1}{n}}}\right) \cdot \frac{1}{i}} \cdot \sqrt[3]{\left(\frac{\left(\frac{1}{6} \cdot \left(i \cdot \left(i \cdot i\right)\right) + \frac{1}{2} \cdot \left(i \cdot i\right)\right) + i}{\sqrt[3]{\frac{1}{n}}} \cdot \frac{1}{\sqrt[3]{\frac{1}{n}} \cdot \sqrt[3]{\frac{1}{n}}}\right) \cdot \frac{1}{i}}\right) \cdot \sqrt[3]{\left(\frac{\left(\frac{1}{6} \cdot \left(i \cdot \left(i \cdot i\right)\right) + \frac{1}{2} \cdot \left(i \cdot i\right)\right) + i}{\sqrt[3]{\frac{1}{n}}} \cdot \frac{1}{\sqrt[3]{\frac{1}{n}} \cdot \sqrt[3]{\frac{1}{n}}}\right) \cdot \frac{1}{i}}\right) \cdot 100\\

\mathbf{elif}\;i \le 7.515275266640414 \cdot 10^{+254}:\\
\;\;\;\;0\\

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

\mathbf{else}:\\
\;\;\;\;0\\

\end{array}
double f(double i, double n) {
        double r2639831 = 100.0;
        double r2639832 = 1.0;
        double r2639833 = i;
        double r2639834 = n;
        double r2639835 = r2639833 / r2639834;
        double r2639836 = r2639832 + r2639835;
        double r2639837 = pow(r2639836, r2639834);
        double r2639838 = r2639837 - r2639832;
        double r2639839 = r2639838 / r2639835;
        double r2639840 = r2639831 * r2639839;
        return r2639840;
}

double f(double i, double n) {
        double r2639841 = i;
        double r2639842 = -1.1676448974447302e-14;
        bool r2639843 = r2639841 <= r2639842;
        double r2639844 = 100.0;
        double r2639845 = n;
        double r2639846 = r2639841 / r2639845;
        double r2639847 = 1.0;
        double r2639848 = r2639846 + r2639847;
        double r2639849 = pow(r2639848, r2639845);
        double r2639850 = r2639849 * r2639849;
        double r2639851 = r2639850 - r2639847;
        double r2639852 = r2639849 + r2639847;
        double r2639853 = r2639851 / r2639852;
        double r2639854 = r2639853 / r2639846;
        double r2639855 = r2639844 * r2639854;
        double r2639856 = 8.143655347585655e-238;
        bool r2639857 = r2639841 <= r2639856;
        double r2639858 = 0.16666666666666666;
        double r2639859 = r2639841 * r2639841;
        double r2639860 = r2639841 * r2639859;
        double r2639861 = r2639858 * r2639860;
        double r2639862 = 0.5;
        double r2639863 = r2639862 * r2639859;
        double r2639864 = r2639861 + r2639863;
        double r2639865 = r2639864 + r2639841;
        double r2639866 = r2639865 / r2639841;
        double r2639867 = r2639845 * r2639866;
        double r2639868 = r2639844 * r2639867;
        double r2639869 = 44.79644908506854;
        bool r2639870 = r2639841 <= r2639869;
        double r2639871 = r2639847 / r2639845;
        double r2639872 = cbrt(r2639871);
        double r2639873 = r2639865 / r2639872;
        double r2639874 = r2639872 * r2639872;
        double r2639875 = r2639847 / r2639874;
        double r2639876 = r2639873 * r2639875;
        double r2639877 = r2639847 / r2639841;
        double r2639878 = r2639876 * r2639877;
        double r2639879 = cbrt(r2639878);
        double r2639880 = r2639879 * r2639879;
        double r2639881 = r2639880 * r2639879;
        double r2639882 = r2639881 * r2639844;
        double r2639883 = 7.515275266640414e+254;
        bool r2639884 = r2639841 <= r2639883;
        double r2639885 = 0.0;
        double r2639886 = 1.1905568301770126e+297;
        bool r2639887 = r2639841 <= r2639886;
        double r2639888 = r2639849 - r2639847;
        double r2639889 = r2639888 / r2639841;
        double r2639890 = r2639844 * r2639889;
        double r2639891 = r2639845 * r2639890;
        double r2639892 = r2639887 ? r2639891 : r2639885;
        double r2639893 = r2639884 ? r2639885 : r2639892;
        double r2639894 = r2639870 ? r2639882 : r2639893;
        double r2639895 = r2639857 ? r2639868 : r2639894;
        double r2639896 = r2639843 ? r2639855 : r2639895;
        return r2639896;
}

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.7
Target42.3
Herbie21.0
\[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 5 regimes
  2. if i < -1.1676448974447302e-14

    1. Initial program 28.7

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

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

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

    if -1.1676448974447302e-14 < i < 8.143655347585655e-238

    1. Initial program 49.6

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

      \[\leadsto 100 \cdot \frac{\color{blue}{i + \left(\frac{1}{2} \cdot {i}^{2} + \frac{1}{6} \cdot {i}^{3}\right)}}{\frac{i}{n}}\]
    3. Simplified35.0

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

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

    if 8.143655347585655e-238 < i < 44.79644908506854

    1. Initial program 50.3

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

      \[\leadsto 100 \cdot \frac{\color{blue}{i + \left(\frac{1}{2} \cdot {i}^{2} + \frac{1}{6} \cdot {i}^{3}\right)}}{\frac{i}{n}}\]
    3. Simplified30.2

      \[\leadsto 100 \cdot \frac{\color{blue}{\left(\left(i \cdot i\right) \cdot \frac{1}{2} + \frac{1}{6} \cdot \left(i \cdot \left(i \cdot i\right)\right)\right) + i}}{\frac{i}{n}}\]
    4. Using strategy rm
    5. Applied div-inv30.3

      \[\leadsto 100 \cdot \frac{\left(\left(i \cdot i\right) \cdot \frac{1}{2} + \frac{1}{6} \cdot \left(i \cdot \left(i \cdot i\right)\right)\right) + i}{\color{blue}{i \cdot \frac{1}{n}}}\]
    6. Applied *-un-lft-identity30.3

      \[\leadsto 100 \cdot \frac{\color{blue}{1 \cdot \left(\left(\left(i \cdot i\right) \cdot \frac{1}{2} + \frac{1}{6} \cdot \left(i \cdot \left(i \cdot i\right)\right)\right) + i\right)}}{i \cdot \frac{1}{n}}\]
    7. Applied times-frac15.4

      \[\leadsto 100 \cdot \color{blue}{\left(\frac{1}{i} \cdot \frac{\left(\left(i \cdot i\right) \cdot \frac{1}{2} + \frac{1}{6} \cdot \left(i \cdot \left(i \cdot i\right)\right)\right) + i}{\frac{1}{n}}\right)}\]
    8. Using strategy rm
    9. Applied add-cube-cbrt16.1

      \[\leadsto 100 \cdot \left(\frac{1}{i} \cdot \frac{\left(\left(i \cdot i\right) \cdot \frac{1}{2} + \frac{1}{6} \cdot \left(i \cdot \left(i \cdot i\right)\right)\right) + i}{\color{blue}{\left(\sqrt[3]{\frac{1}{n}} \cdot \sqrt[3]{\frac{1}{n}}\right) \cdot \sqrt[3]{\frac{1}{n}}}}\right)\]
    10. Applied *-un-lft-identity16.1

      \[\leadsto 100 \cdot \left(\frac{1}{i} \cdot \frac{\color{blue}{1 \cdot \left(\left(\left(i \cdot i\right) \cdot \frac{1}{2} + \frac{1}{6} \cdot \left(i \cdot \left(i \cdot i\right)\right)\right) + i\right)}}{\left(\sqrt[3]{\frac{1}{n}} \cdot \sqrt[3]{\frac{1}{n}}\right) \cdot \sqrt[3]{\frac{1}{n}}}\right)\]
    11. Applied times-frac16.1

      \[\leadsto 100 \cdot \left(\frac{1}{i} \cdot \color{blue}{\left(\frac{1}{\sqrt[3]{\frac{1}{n}} \cdot \sqrt[3]{\frac{1}{n}}} \cdot \frac{\left(\left(i \cdot i\right) \cdot \frac{1}{2} + \frac{1}{6} \cdot \left(i \cdot \left(i \cdot i\right)\right)\right) + i}{\sqrt[3]{\frac{1}{n}}}\right)}\right)\]
    12. Using strategy rm
    13. Applied add-cube-cbrt16.3

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

    if 44.79644908506854 < i < 7.515275266640414e+254 or 1.1905568301770126e+297 < i

    1. Initial program 33.6

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

      \[\leadsto \color{blue}{0}\]

    if 7.515275266640414e+254 < i < 1.1905568301770126e+297

    1. Initial program 31.0

      \[100 \cdot \frac{{\left(1 + \frac{i}{n}\right)}^{n} - 1}{\frac{i}{n}}\]
    2. Using strategy rm
    3. Applied associate-/r/31.0

      \[\leadsto 100 \cdot \color{blue}{\left(\frac{{\left(1 + \frac{i}{n}\right)}^{n} - 1}{i} \cdot n\right)}\]
    4. Applied associate-*r*31.0

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

    \[\leadsto \begin{array}{l} \mathbf{if}\;i \le -1.1676448974447302 \cdot 10^{-14}:\\ \;\;\;\;100 \cdot \frac{\frac{{\left(\frac{i}{n} + 1\right)}^{n} \cdot {\left(\frac{i}{n} + 1\right)}^{n} - 1}{{\left(\frac{i}{n} + 1\right)}^{n} + 1}}{\frac{i}{n}}\\ \mathbf{elif}\;i \le 8.143655347585655 \cdot 10^{-238}:\\ \;\;\;\;100 \cdot \left(n \cdot \frac{\left(\frac{1}{6} \cdot \left(i \cdot \left(i \cdot i\right)\right) + \frac{1}{2} \cdot \left(i \cdot i\right)\right) + i}{i}\right)\\ \mathbf{elif}\;i \le 44.79644908506854:\\ \;\;\;\;\left(\left(\sqrt[3]{\left(\frac{\left(\frac{1}{6} \cdot \left(i \cdot \left(i \cdot i\right)\right) + \frac{1}{2} \cdot \left(i \cdot i\right)\right) + i}{\sqrt[3]{\frac{1}{n}}} \cdot \frac{1}{\sqrt[3]{\frac{1}{n}} \cdot \sqrt[3]{\frac{1}{n}}}\right) \cdot \frac{1}{i}} \cdot \sqrt[3]{\left(\frac{\left(\frac{1}{6} \cdot \left(i \cdot \left(i \cdot i\right)\right) + \frac{1}{2} \cdot \left(i \cdot i\right)\right) + i}{\sqrt[3]{\frac{1}{n}}} \cdot \frac{1}{\sqrt[3]{\frac{1}{n}} \cdot \sqrt[3]{\frac{1}{n}}}\right) \cdot \frac{1}{i}}\right) \cdot \sqrt[3]{\left(\frac{\left(\frac{1}{6} \cdot \left(i \cdot \left(i \cdot i\right)\right) + \frac{1}{2} \cdot \left(i \cdot i\right)\right) + i}{\sqrt[3]{\frac{1}{n}}} \cdot \frac{1}{\sqrt[3]{\frac{1}{n}} \cdot \sqrt[3]{\frac{1}{n}}}\right) \cdot \frac{1}{i}}\right) \cdot 100\\ \mathbf{elif}\;i \le 7.515275266640414 \cdot 10^{+254}:\\ \;\;\;\;0\\ \mathbf{elif}\;i \le 1.1905568301770126 \cdot 10^{+297}:\\ \;\;\;\;n \cdot \left(100 \cdot \frac{{\left(\frac{i}{n} + 1\right)}^{n} - 1}{i}\right)\\ \mathbf{else}:\\ \;\;\;\;0\\ \end{array}\]

Reproduce

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

  :herbie-target
  (* 100 (/ (- (exp (* n (if (== (+ 1 (/ i n)) 1) (/ i n) (/ (* (/ i n) (log (+ 1 (/ i n)))) (- (+ (/ i n) 1) 1))))) 1) (/ i n)))

  (* 100 (/ (- (pow (+ 1 (/ i n)) n) 1) (/ i n))))