Average Error: 42.9 → 30.4
Time: 4.1m
Precision: 64
\[100 \cdot \frac{{\left(1 + \frac{i}{n}\right)}^{n} - 1}{\frac{i}{n}}\]
\[\begin{array}{l} \mathbf{if}\;n \le -1.9422402419151365 \cdot 10^{+84}:\\ \;\;\;\;100 \cdot \frac{\left(\frac{1}{6} \cdot i + \frac{1}{2}\right) \cdot \left(i \cdot i\right) + i}{\frac{i}{n}}\\ \mathbf{elif}\;n \le -1.9580978454386 \cdot 10^{-310}:\\ \;\;\;\;100 \cdot \left(\frac{{\left(\frac{i}{n} + 1\right)}^{n}}{\frac{i}{n}} - \frac{1}{\frac{i}{n}}\right)\\ \mathbf{elif}\;n \le 7.230583244385522 \cdot 10^{-172}:\\ \;\;\;\;\frac{\left(\left(\left(\left(\left(\left(\left(n \cdot \log n\right) \cdot \left(n \cdot \log n\right)\right) \cdot n\right) \cdot \log i\right) \cdot 50 + \left(\left(n \cdot \log i\right) \cdot \left(n \cdot \log i\right)\right) \cdot 50\right) + \left(100 \cdot \left(n \cdot \log i\right) + \left(\left(\left(n \cdot \log n\right) \cdot \left(n \cdot \log n\right)\right) \cdot 50 + \left(\left(n \cdot \left(\left(n \cdot \log i\right) \cdot \left(n \cdot \log i\right)\right)\right) \cdot \log i\right) \cdot \frac{50}{3}\right)\right)\right) - \left(\left(\left(\left(\log i \cdot \log i\right) \cdot \left(\left(\left(n \cdot \log n\right) \cdot \left(n \cdot n\right)\right) \cdot \frac{50}{3}\right) + 100 \cdot \left(n \cdot \log n\right)\right) + \left(\left(\left(n \cdot n\right) \cdot \log n\right) \cdot \log i\right) \cdot 100\right) + \left(\left(\left(\left(n \cdot \log n\right) \cdot \left(n \cdot \log n\right)\right) \cdot n\right) \cdot \log n\right) \cdot \frac{50}{3}\right)\right) - \left(n \cdot \left(\left(n \cdot \log i\right) \cdot \left(n \cdot \log i\right)\right)\right) \cdot \left(\log n \cdot \frac{100}{3}\right)}{\frac{i}{n}}\\ \mathbf{elif}\;n \le 1.8259858650896827 \cdot 10^{+217}:\\ \;\;\;\;100 \cdot \frac{\left(\frac{1}{6} \cdot i + \frac{1}{2}\right) \cdot \left(i \cdot i\right) + i}{\frac{i}{n}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(1000000 \cdot {\left(\frac{i}{n}\right)}^{n}\right) \cdot \left({\left(\frac{i}{n}\right)}^{n} \cdot {\left(\frac{i}{n}\right)}^{n}\right) - 1000000}{\frac{i}{n} \cdot \left(\left(100 \cdot {\left(\frac{i}{n}\right)}^{n}\right) \cdot \left(100 \cdot {\left(\frac{i}{n}\right)}^{n}\right) + \left(100 \cdot \left(100 \cdot {\left(\frac{i}{n}\right)}^{n}\right) + 10000\right)\right)}\\ \end{array}\]
100 \cdot \frac{{\left(1 + \frac{i}{n}\right)}^{n} - 1}{\frac{i}{n}}
\begin{array}{l}
\mathbf{if}\;n \le -1.9422402419151365 \cdot 10^{+84}:\\
\;\;\;\;100 \cdot \frac{\left(\frac{1}{6} \cdot i + \frac{1}{2}\right) \cdot \left(i \cdot i\right) + i}{\frac{i}{n}}\\

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

\mathbf{elif}\;n \le 7.230583244385522 \cdot 10^{-172}:\\
\;\;\;\;\frac{\left(\left(\left(\left(\left(\left(\left(n \cdot \log n\right) \cdot \left(n \cdot \log n\right)\right) \cdot n\right) \cdot \log i\right) \cdot 50 + \left(\left(n \cdot \log i\right) \cdot \left(n \cdot \log i\right)\right) \cdot 50\right) + \left(100 \cdot \left(n \cdot \log i\right) + \left(\left(\left(n \cdot \log n\right) \cdot \left(n \cdot \log n\right)\right) \cdot 50 + \left(\left(n \cdot \left(\left(n \cdot \log i\right) \cdot \left(n \cdot \log i\right)\right)\right) \cdot \log i\right) \cdot \frac{50}{3}\right)\right)\right) - \left(\left(\left(\left(\log i \cdot \log i\right) \cdot \left(\left(\left(n \cdot \log n\right) \cdot \left(n \cdot n\right)\right) \cdot \frac{50}{3}\right) + 100 \cdot \left(n \cdot \log n\right)\right) + \left(\left(\left(n \cdot n\right) \cdot \log n\right) \cdot \log i\right) \cdot 100\right) + \left(\left(\left(\left(n \cdot \log n\right) \cdot \left(n \cdot \log n\right)\right) \cdot n\right) \cdot \log n\right) \cdot \frac{50}{3}\right)\right) - \left(n \cdot \left(\left(n \cdot \log i\right) \cdot \left(n \cdot \log i\right)\right)\right) \cdot \left(\log n \cdot \frac{100}{3}\right)}{\frac{i}{n}}\\

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

\mathbf{else}:\\
\;\;\;\;\frac{\left(1000000 \cdot {\left(\frac{i}{n}\right)}^{n}\right) \cdot \left({\left(\frac{i}{n}\right)}^{n} \cdot {\left(\frac{i}{n}\right)}^{n}\right) - 1000000}{\frac{i}{n} \cdot \left(\left(100 \cdot {\left(\frac{i}{n}\right)}^{n}\right) \cdot \left(100 \cdot {\left(\frac{i}{n}\right)}^{n}\right) + \left(100 \cdot \left(100 \cdot {\left(\frac{i}{n}\right)}^{n}\right) + 10000\right)\right)}\\

\end{array}
double f(double i, double n) {
        double r47498146 = 100.0;
        double r47498147 = 1.0;
        double r47498148 = i;
        double r47498149 = n;
        double r47498150 = r47498148 / r47498149;
        double r47498151 = r47498147 + r47498150;
        double r47498152 = pow(r47498151, r47498149);
        double r47498153 = r47498152 - r47498147;
        double r47498154 = r47498153 / r47498150;
        double r47498155 = r47498146 * r47498154;
        return r47498155;
}

double f(double i, double n) {
        double r47498156 = n;
        double r47498157 = -1.9422402419151365e+84;
        bool r47498158 = r47498156 <= r47498157;
        double r47498159 = 100.0;
        double r47498160 = 0.16666666666666666;
        double r47498161 = i;
        double r47498162 = r47498160 * r47498161;
        double r47498163 = 0.5;
        double r47498164 = r47498162 + r47498163;
        double r47498165 = r47498161 * r47498161;
        double r47498166 = r47498164 * r47498165;
        double r47498167 = r47498166 + r47498161;
        double r47498168 = r47498161 / r47498156;
        double r47498169 = r47498167 / r47498168;
        double r47498170 = r47498159 * r47498169;
        double r47498171 = -1.9580978454386e-310;
        bool r47498172 = r47498156 <= r47498171;
        double r47498173 = 1.0;
        double r47498174 = r47498168 + r47498173;
        double r47498175 = pow(r47498174, r47498156);
        double r47498176 = r47498175 / r47498168;
        double r47498177 = r47498173 / r47498168;
        double r47498178 = r47498176 - r47498177;
        double r47498179 = r47498159 * r47498178;
        double r47498180 = 7.230583244385522e-172;
        bool r47498181 = r47498156 <= r47498180;
        double r47498182 = log(r47498156);
        double r47498183 = r47498156 * r47498182;
        double r47498184 = r47498183 * r47498183;
        double r47498185 = r47498184 * r47498156;
        double r47498186 = log(r47498161);
        double r47498187 = r47498185 * r47498186;
        double r47498188 = 50.0;
        double r47498189 = r47498187 * r47498188;
        double r47498190 = r47498156 * r47498186;
        double r47498191 = r47498190 * r47498190;
        double r47498192 = r47498191 * r47498188;
        double r47498193 = r47498189 + r47498192;
        double r47498194 = r47498159 * r47498190;
        double r47498195 = r47498184 * r47498188;
        double r47498196 = r47498156 * r47498191;
        double r47498197 = r47498196 * r47498186;
        double r47498198 = 16.666666666666668;
        double r47498199 = r47498197 * r47498198;
        double r47498200 = r47498195 + r47498199;
        double r47498201 = r47498194 + r47498200;
        double r47498202 = r47498193 + r47498201;
        double r47498203 = r47498186 * r47498186;
        double r47498204 = r47498156 * r47498156;
        double r47498205 = r47498183 * r47498204;
        double r47498206 = r47498205 * r47498198;
        double r47498207 = r47498203 * r47498206;
        double r47498208 = r47498159 * r47498183;
        double r47498209 = r47498207 + r47498208;
        double r47498210 = r47498204 * r47498182;
        double r47498211 = r47498210 * r47498186;
        double r47498212 = r47498211 * r47498159;
        double r47498213 = r47498209 + r47498212;
        double r47498214 = r47498185 * r47498182;
        double r47498215 = r47498214 * r47498198;
        double r47498216 = r47498213 + r47498215;
        double r47498217 = r47498202 - r47498216;
        double r47498218 = 33.333333333333336;
        double r47498219 = r47498182 * r47498218;
        double r47498220 = r47498196 * r47498219;
        double r47498221 = r47498217 - r47498220;
        double r47498222 = r47498221 / r47498168;
        double r47498223 = 1.8259858650896827e+217;
        bool r47498224 = r47498156 <= r47498223;
        double r47498225 = 1000000.0;
        double r47498226 = pow(r47498168, r47498156);
        double r47498227 = r47498225 * r47498226;
        double r47498228 = r47498226 * r47498226;
        double r47498229 = r47498227 * r47498228;
        double r47498230 = r47498229 - r47498225;
        double r47498231 = r47498159 * r47498226;
        double r47498232 = r47498231 * r47498231;
        double r47498233 = r47498159 * r47498231;
        double r47498234 = 10000.0;
        double r47498235 = r47498233 + r47498234;
        double r47498236 = r47498232 + r47498235;
        double r47498237 = r47498168 * r47498236;
        double r47498238 = r47498230 / r47498237;
        double r47498239 = r47498224 ? r47498170 : r47498238;
        double r47498240 = r47498181 ? r47498222 : r47498239;
        double r47498241 = r47498172 ? r47498179 : r47498240;
        double r47498242 = r47498158 ? r47498170 : r47498241;
        return r47498242;
}

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.9
Target42.3
Herbie30.4
\[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 < -1.9422402419151365e+84 or 7.230583244385522e-172 < n < 1.8259858650896827e+217

    1. Initial program 53.5

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

      \[\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. Simplified36.6

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

    if -1.9422402419151365e+84 < n < -1.9580978454386e-310

    1. Initial program 21.9

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

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

    if -1.9580978454386e-310 < n < 7.230583244385522e-172

    1. Initial program 40.6

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

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

      \[\leadsto \color{blue}{\left(\frac{n}{i} \cdot \left({\left(\frac{1}{\frac{n}{i}}\right)}^{n} - 1\right)\right) \cdot 100}\]
    4. Taylor expanded around inf 19.3

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

      \[\leadsto \color{blue}{\frac{100 \cdot {\left(\frac{i}{n}\right)}^{n} - 100}{\frac{i}{n}}}\]
    6. Taylor expanded around 0 13.6

      \[\leadsto \frac{\color{blue}{\left(50 \cdot \left({n}^{2} \cdot {\left(\log n\right)}^{2}\right) + \left(\frac{50}{3} \cdot \left({n}^{3} \cdot {\left(\log i\right)}^{3}\right) + \left(100 \cdot \left(n \cdot \log i\right) + \left(\frac{100}{3} \cdot \left({n}^{3} \cdot \left({\left(\log n\right)}^{2} \cdot \log i\right)\right) + \left(\frac{50}{3} \cdot \left({n}^{3} \cdot \left(\log i \cdot {\left(\log n\right)}^{2}\right)\right) + 50 \cdot \left({n}^{2} \cdot {\left(\log i\right)}^{2}\right)\right)\right)\right)\right)\right) - \left(\frac{100}{3} \cdot \left({n}^{3} \cdot \left({\left(\log i\right)}^{2} \cdot \log n\right)\right) + \left(50 \cdot \left({n}^{2} \cdot \left(\log n \cdot \log i\right)\right) + \left(50 \cdot \left({n}^{2} \cdot \left(\log i \cdot \log n\right)\right) + \left(\frac{50}{3} \cdot \left({n}^{3} \cdot {\left(\log n\right)}^{3}\right) + \left(\frac{50}{3} \cdot \left({n}^{3} \cdot \left(\log n \cdot {\left(\log i\right)}^{2}\right)\right) + 100 \cdot \left(n \cdot \log n\right)\right)\right)\right)\right)\right)}}{\frac{i}{n}}\]
    7. Simplified13.6

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

    if 1.8259858650896827e+217 < n

    1. Initial program 58.7

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

      \[\leadsto \color{blue}{100 \cdot \frac{\left(e^{\left(\log \left(\frac{1}{n}\right) - \log \left(\frac{1}{i}\right)\right) \cdot n} - 1\right) \cdot n}{i}}\]
    3. Simplified43.1

      \[\leadsto \color{blue}{\left(\frac{n}{i} \cdot \left({\left(\frac{1}{\frac{n}{i}}\right)}^{n} - 1\right)\right) \cdot 100}\]
    4. Taylor expanded around inf 61.2

      \[\leadsto \color{blue}{\frac{\left(100 \cdot e^{\left(\log \left(\frac{1}{n}\right) - \log \left(\frac{1}{i}\right)\right) \cdot n} - 100\right) \cdot n}{i}}\]
    5. Simplified43.0

      \[\leadsto \color{blue}{\frac{100 \cdot {\left(\frac{i}{n}\right)}^{n} - 100}{\frac{i}{n}}}\]
    6. Using strategy rm
    7. Applied flip3--43.0

      \[\leadsto \frac{\color{blue}{\frac{{\left(100 \cdot {\left(\frac{i}{n}\right)}^{n}\right)}^{3} - {100}^{3}}{\left(100 \cdot {\left(\frac{i}{n}\right)}^{n}\right) \cdot \left(100 \cdot {\left(\frac{i}{n}\right)}^{n}\right) + \left(100 \cdot 100 + \left(100 \cdot {\left(\frac{i}{n}\right)}^{n}\right) \cdot 100\right)}}}{\frac{i}{n}}\]
    8. Applied associate-/l/43.1

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

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

    \[\leadsto \begin{array}{l} \mathbf{if}\;n \le -1.9422402419151365 \cdot 10^{+84}:\\ \;\;\;\;100 \cdot \frac{\left(\frac{1}{6} \cdot i + \frac{1}{2}\right) \cdot \left(i \cdot i\right) + i}{\frac{i}{n}}\\ \mathbf{elif}\;n \le -1.9580978454386 \cdot 10^{-310}:\\ \;\;\;\;100 \cdot \left(\frac{{\left(\frac{i}{n} + 1\right)}^{n}}{\frac{i}{n}} - \frac{1}{\frac{i}{n}}\right)\\ \mathbf{elif}\;n \le 7.230583244385522 \cdot 10^{-172}:\\ \;\;\;\;\frac{\left(\left(\left(\left(\left(\left(\left(n \cdot \log n\right) \cdot \left(n \cdot \log n\right)\right) \cdot n\right) \cdot \log i\right) \cdot 50 + \left(\left(n \cdot \log i\right) \cdot \left(n \cdot \log i\right)\right) \cdot 50\right) + \left(100 \cdot \left(n \cdot \log i\right) + \left(\left(\left(n \cdot \log n\right) \cdot \left(n \cdot \log n\right)\right) \cdot 50 + \left(\left(n \cdot \left(\left(n \cdot \log i\right) \cdot \left(n \cdot \log i\right)\right)\right) \cdot \log i\right) \cdot \frac{50}{3}\right)\right)\right) - \left(\left(\left(\left(\log i \cdot \log i\right) \cdot \left(\left(\left(n \cdot \log n\right) \cdot \left(n \cdot n\right)\right) \cdot \frac{50}{3}\right) + 100 \cdot \left(n \cdot \log n\right)\right) + \left(\left(\left(n \cdot n\right) \cdot \log n\right) \cdot \log i\right) \cdot 100\right) + \left(\left(\left(\left(n \cdot \log n\right) \cdot \left(n \cdot \log n\right)\right) \cdot n\right) \cdot \log n\right) \cdot \frac{50}{3}\right)\right) - \left(n \cdot \left(\left(n \cdot \log i\right) \cdot \left(n \cdot \log i\right)\right)\right) \cdot \left(\log n \cdot \frac{100}{3}\right)}{\frac{i}{n}}\\ \mathbf{elif}\;n \le 1.8259858650896827 \cdot 10^{+217}:\\ \;\;\;\;100 \cdot \frac{\left(\frac{1}{6} \cdot i + \frac{1}{2}\right) \cdot \left(i \cdot i\right) + i}{\frac{i}{n}}\\ \mathbf{else}:\\ \;\;\;\;\frac{\left(1000000 \cdot {\left(\frac{i}{n}\right)}^{n}\right) \cdot \left({\left(\frac{i}{n}\right)}^{n} \cdot {\left(\frac{i}{n}\right)}^{n}\right) - 1000000}{\frac{i}{n} \cdot \left(\left(100 \cdot {\left(\frac{i}{n}\right)}^{n}\right) \cdot \left(100 \cdot {\left(\frac{i}{n}\right)}^{n}\right) + \left(100 \cdot \left(100 \cdot {\left(\frac{i}{n}\right)}^{n}\right) + 10000\right)\right)}\\ \end{array}\]

Reproduce

herbie shell --seed 2019104 
(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))))