Average Error: 42.9 → 33.2
Time: 15.4s
Precision: 64
\[100 \cdot \frac{{\left(1 + \frac{i}{n}\right)}^{n} - 1}{\frac{i}{n}}\]
\[\begin{array}{l} \mathbf{if}\;i \le -1.21329936542595784:\\ \;\;\;\;100 \cdot \frac{\frac{{\left(1 + \frac{i}{n}\right)}^{\left(2 \cdot n\right)} + \left(-1 \cdot 1\right)}{{\left(1 + \frac{i}{n}\right)}^{n} + 1}}{\frac{i}{n}}\\ \mathbf{elif}\;i \le -1.13133054522964566 \cdot 10^{-274}:\\ \;\;\;\;100 \cdot \frac{\left(1 \cdot i + \left(0.5 \cdot {i}^{2} + \log 1 \cdot n\right)\right) - 0.5 \cdot \left({i}^{2} \cdot \log 1\right)}{\frac{i}{n}}\\ \mathbf{elif}\;i \le 1.64797021054671768 \cdot 10^{-275}:\\ \;\;\;\;100 \cdot \left(\frac{{\left(1 + \frac{i}{n}\right)}^{\left(\frac{n}{2}\right)} + \sqrt{1}}{i} \cdot \left(\left({\left(1 + \frac{i}{n}\right)}^{\left(\frac{n}{2}\right)} - \sqrt{1}\right) \cdot n\right)\right)\\ \mathbf{elif}\;i \le 8.0570023823781865 \cdot 10^{-197}:\\ \;\;\;\;100 \cdot \frac{\left(1 \cdot i + \left(0.5 \cdot {i}^{2} + \log 1 \cdot n\right)\right) - 0.5 \cdot \left({i}^{2} \cdot \log 1\right)}{\frac{i}{n}}\\ \mathbf{elif}\;i \le 2.87388849271851564 \cdot 10^{-134}:\\ \;\;\;\;100 \cdot \left(\frac{{\left(1 + \frac{i}{n}\right)}^{\left(\frac{n}{2}\right)} + \sqrt{1}}{i} \cdot \left(\left(\left(0.5 \cdot i + \left(\frac{1}{2} \cdot \left(\log 1 \cdot n\right) + 1\right)\right) - \sqrt{1}\right) \cdot n\right)\right)\\ \mathbf{elif}\;i \le 7.1470850675780769 \cdot 10^{-9}:\\ \;\;\;\;100 \cdot \frac{\left(1 \cdot i + \left(0.5 \cdot {i}^{2} + \log 1 \cdot n\right)\right) - 0.5 \cdot \left({i}^{2} \cdot \log 1\right)}{\frac{i}{n}}\\ \mathbf{else}:\\ \;\;\;\;100 \cdot \frac{\frac{{\left(1 + \frac{i}{n}\right)}^{\left(2 \cdot n\right)} + \left(-1 \cdot 1\right)}{{\left(1 + \frac{i}{n}\right)}^{n} + 1}}{\frac{i}{n}}\\ \end{array}\]
100 \cdot \frac{{\left(1 + \frac{i}{n}\right)}^{n} - 1}{\frac{i}{n}}
\begin{array}{l}
\mathbf{if}\;i \le -1.21329936542595784:\\
\;\;\;\;100 \cdot \frac{\frac{{\left(1 + \frac{i}{n}\right)}^{\left(2 \cdot n\right)} + \left(-1 \cdot 1\right)}{{\left(1 + \frac{i}{n}\right)}^{n} + 1}}{\frac{i}{n}}\\

\mathbf{elif}\;i \le -1.13133054522964566 \cdot 10^{-274}:\\
\;\;\;\;100 \cdot \frac{\left(1 \cdot i + \left(0.5 \cdot {i}^{2} + \log 1 \cdot n\right)\right) - 0.5 \cdot \left({i}^{2} \cdot \log 1\right)}{\frac{i}{n}}\\

\mathbf{elif}\;i \le 1.64797021054671768 \cdot 10^{-275}:\\
\;\;\;\;100 \cdot \left(\frac{{\left(1 + \frac{i}{n}\right)}^{\left(\frac{n}{2}\right)} + \sqrt{1}}{i} \cdot \left(\left({\left(1 + \frac{i}{n}\right)}^{\left(\frac{n}{2}\right)} - \sqrt{1}\right) \cdot n\right)\right)\\

\mathbf{elif}\;i \le 8.0570023823781865 \cdot 10^{-197}:\\
\;\;\;\;100 \cdot \frac{\left(1 \cdot i + \left(0.5 \cdot {i}^{2} + \log 1 \cdot n\right)\right) - 0.5 \cdot \left({i}^{2} \cdot \log 1\right)}{\frac{i}{n}}\\

\mathbf{elif}\;i \le 2.87388849271851564 \cdot 10^{-134}:\\
\;\;\;\;100 \cdot \left(\frac{{\left(1 + \frac{i}{n}\right)}^{\left(\frac{n}{2}\right)} + \sqrt{1}}{i} \cdot \left(\left(\left(0.5 \cdot i + \left(\frac{1}{2} \cdot \left(\log 1 \cdot n\right) + 1\right)\right) - \sqrt{1}\right) \cdot n\right)\right)\\

\mathbf{elif}\;i \le 7.1470850675780769 \cdot 10^{-9}:\\
\;\;\;\;100 \cdot \frac{\left(1 \cdot i + \left(0.5 \cdot {i}^{2} + \log 1 \cdot n\right)\right) - 0.5 \cdot \left({i}^{2} \cdot \log 1\right)}{\frac{i}{n}}\\

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

\end{array}
double f(double i, double n) {
        double r146030 = 100.0;
        double r146031 = 1.0;
        double r146032 = i;
        double r146033 = n;
        double r146034 = r146032 / r146033;
        double r146035 = r146031 + r146034;
        double r146036 = pow(r146035, r146033);
        double r146037 = r146036 - r146031;
        double r146038 = r146037 / r146034;
        double r146039 = r146030 * r146038;
        return r146039;
}

double f(double i, double n) {
        double r146040 = i;
        double r146041 = -1.2132993654259578;
        bool r146042 = r146040 <= r146041;
        double r146043 = 100.0;
        double r146044 = 1.0;
        double r146045 = n;
        double r146046 = r146040 / r146045;
        double r146047 = r146044 + r146046;
        double r146048 = 2.0;
        double r146049 = r146048 * r146045;
        double r146050 = pow(r146047, r146049);
        double r146051 = r146044 * r146044;
        double r146052 = -r146051;
        double r146053 = r146050 + r146052;
        double r146054 = pow(r146047, r146045);
        double r146055 = r146054 + r146044;
        double r146056 = r146053 / r146055;
        double r146057 = r146056 / r146046;
        double r146058 = r146043 * r146057;
        double r146059 = -1.1313305452296457e-274;
        bool r146060 = r146040 <= r146059;
        double r146061 = r146044 * r146040;
        double r146062 = 0.5;
        double r146063 = pow(r146040, r146048);
        double r146064 = r146062 * r146063;
        double r146065 = log(r146044);
        double r146066 = r146065 * r146045;
        double r146067 = r146064 + r146066;
        double r146068 = r146061 + r146067;
        double r146069 = r146063 * r146065;
        double r146070 = r146062 * r146069;
        double r146071 = r146068 - r146070;
        double r146072 = r146071 / r146046;
        double r146073 = r146043 * r146072;
        double r146074 = 1.6479702105467177e-275;
        bool r146075 = r146040 <= r146074;
        double r146076 = r146045 / r146048;
        double r146077 = pow(r146047, r146076);
        double r146078 = sqrt(r146044);
        double r146079 = r146077 + r146078;
        double r146080 = r146079 / r146040;
        double r146081 = r146077 - r146078;
        double r146082 = r146081 * r146045;
        double r146083 = r146080 * r146082;
        double r146084 = r146043 * r146083;
        double r146085 = 8.057002382378186e-197;
        bool r146086 = r146040 <= r146085;
        double r146087 = 2.8738884927185156e-134;
        bool r146088 = r146040 <= r146087;
        double r146089 = r146062 * r146040;
        double r146090 = 0.5;
        double r146091 = r146090 * r146066;
        double r146092 = 1.0;
        double r146093 = r146091 + r146092;
        double r146094 = r146089 + r146093;
        double r146095 = r146094 - r146078;
        double r146096 = r146095 * r146045;
        double r146097 = r146080 * r146096;
        double r146098 = r146043 * r146097;
        double r146099 = 7.147085067578077e-09;
        bool r146100 = r146040 <= r146099;
        double r146101 = r146100 ? r146073 : r146058;
        double r146102 = r146088 ? r146098 : r146101;
        double r146103 = r146086 ? r146073 : r146102;
        double r146104 = r146075 ? r146084 : r146103;
        double r146105 = r146060 ? r146073 : r146104;
        double r146106 = r146042 ? r146058 : r146105;
        return r146106;
}

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.8
Herbie33.2
\[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 i < -1.2132993654259578 or 7.147085067578077e-09 < i

    1. Initial program 29.7

      \[100 \cdot \frac{{\left(1 + \frac{i}{n}\right)}^{n} - 1}{\frac{i}{n}}\]
    2. Using strategy rm
    3. Applied flip--29.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. Simplified29.7

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

    if -1.2132993654259578 < i < -1.1313305452296457e-274 or 1.6479702105467177e-275 < i < 8.057002382378186e-197 or 2.8738884927185156e-134 < i < 7.147085067578077e-09

    1. Initial program 51.4

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

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

    if -1.1313305452296457e-274 < i < 1.6479702105467177e-275

    1. Initial program 47.2

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

      \[\leadsto 100 \cdot \frac{{\left(1 + \frac{i}{n}\right)}^{n} - 1}{\color{blue}{i \cdot \frac{1}{n}}}\]
    4. Applied add-sqr-sqrt47.2

      \[\leadsto 100 \cdot \frac{{\left(1 + \frac{i}{n}\right)}^{n} - \color{blue}{\sqrt{1} \cdot \sqrt{1}}}{i \cdot \frac{1}{n}}\]
    5. Applied sqr-pow47.2

      \[\leadsto 100 \cdot \frac{\color{blue}{{\left(1 + \frac{i}{n}\right)}^{\left(\frac{n}{2}\right)} \cdot {\left(1 + \frac{i}{n}\right)}^{\left(\frac{n}{2}\right)}} - \sqrt{1} \cdot \sqrt{1}}{i \cdot \frac{1}{n}}\]
    6. Applied difference-of-squares47.2

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

      \[\leadsto 100 \cdot \color{blue}{\left(\frac{{\left(1 + \frac{i}{n}\right)}^{\left(\frac{n}{2}\right)} + \sqrt{1}}{i} \cdot \frac{{\left(1 + \frac{i}{n}\right)}^{\left(\frac{n}{2}\right)} - \sqrt{1}}{\frac{1}{n}}\right)}\]
    8. Simplified46.7

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

    if 8.057002382378186e-197 < i < 2.8738884927185156e-134

    1. Initial program 50.8

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

      \[\leadsto 100 \cdot \frac{{\left(1 + \frac{i}{n}\right)}^{n} - 1}{\color{blue}{i \cdot \frac{1}{n}}}\]
    4. Applied add-sqr-sqrt50.8

      \[\leadsto 100 \cdot \frac{{\left(1 + \frac{i}{n}\right)}^{n} - \color{blue}{\sqrt{1} \cdot \sqrt{1}}}{i \cdot \frac{1}{n}}\]
    5. Applied sqr-pow50.8

      \[\leadsto 100 \cdot \frac{\color{blue}{{\left(1 + \frac{i}{n}\right)}^{\left(\frac{n}{2}\right)} \cdot {\left(1 + \frac{i}{n}\right)}^{\left(\frac{n}{2}\right)}} - \sqrt{1} \cdot \sqrt{1}}{i \cdot \frac{1}{n}}\]
    6. Applied difference-of-squares50.8

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

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

      \[\leadsto 100 \cdot \left(\frac{{\left(1 + \frac{i}{n}\right)}^{\left(\frac{n}{2}\right)} + \sqrt{1}}{i} \cdot \color{blue}{\left(\left({\left(1 + \frac{i}{n}\right)}^{\left(\frac{n}{2}\right)} - \sqrt{1}\right) \cdot n\right)}\right)\]
    9. Taylor expanded around 0 50.4

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

    \[\leadsto \begin{array}{l} \mathbf{if}\;i \le -1.21329936542595784:\\ \;\;\;\;100 \cdot \frac{\frac{{\left(1 + \frac{i}{n}\right)}^{\left(2 \cdot n\right)} + \left(-1 \cdot 1\right)}{{\left(1 + \frac{i}{n}\right)}^{n} + 1}}{\frac{i}{n}}\\ \mathbf{elif}\;i \le -1.13133054522964566 \cdot 10^{-274}:\\ \;\;\;\;100 \cdot \frac{\left(1 \cdot i + \left(0.5 \cdot {i}^{2} + \log 1 \cdot n\right)\right) - 0.5 \cdot \left({i}^{2} \cdot \log 1\right)}{\frac{i}{n}}\\ \mathbf{elif}\;i \le 1.64797021054671768 \cdot 10^{-275}:\\ \;\;\;\;100 \cdot \left(\frac{{\left(1 + \frac{i}{n}\right)}^{\left(\frac{n}{2}\right)} + \sqrt{1}}{i} \cdot \left(\left({\left(1 + \frac{i}{n}\right)}^{\left(\frac{n}{2}\right)} - \sqrt{1}\right) \cdot n\right)\right)\\ \mathbf{elif}\;i \le 8.0570023823781865 \cdot 10^{-197}:\\ \;\;\;\;100 \cdot \frac{\left(1 \cdot i + \left(0.5 \cdot {i}^{2} + \log 1 \cdot n\right)\right) - 0.5 \cdot \left({i}^{2} \cdot \log 1\right)}{\frac{i}{n}}\\ \mathbf{elif}\;i \le 2.87388849271851564 \cdot 10^{-134}:\\ \;\;\;\;100 \cdot \left(\frac{{\left(1 + \frac{i}{n}\right)}^{\left(\frac{n}{2}\right)} + \sqrt{1}}{i} \cdot \left(\left(\left(0.5 \cdot i + \left(\frac{1}{2} \cdot \left(\log 1 \cdot n\right) + 1\right)\right) - \sqrt{1}\right) \cdot n\right)\right)\\ \mathbf{elif}\;i \le 7.1470850675780769 \cdot 10^{-9}:\\ \;\;\;\;100 \cdot \frac{\left(1 \cdot i + \left(0.5 \cdot {i}^{2} + \log 1 \cdot n\right)\right) - 0.5 \cdot \left({i}^{2} \cdot \log 1\right)}{\frac{i}{n}}\\ \mathbf{else}:\\ \;\;\;\;100 \cdot \frac{\frac{{\left(1 + \frac{i}{n}\right)}^{\left(2 \cdot n\right)} + \left(-1 \cdot 1\right)}{{\left(1 + \frac{i}{n}\right)}^{n} + 1}}{\frac{i}{n}}\\ \end{array}\]

Reproduce

herbie shell --seed 2020018 
(FPCore (i n)
  :name "Compound Interest"
  :precision binary64

  :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))))