Average Error: 43.0 → 30.1
Time: 25.1s
Precision: 64
Internal Precision: 128
\[100 \cdot \frac{{\left(1 + \frac{i}{n}\right)}^{n} - 1}{\frac{i}{n}}\]
\[\begin{array}{l} \mathbf{if}\;n \le -1.0656758119376456 \cdot 10^{+89}:\\ \;\;\;\;100 \cdot \frac{i \cdot \left(i \cdot \left(\frac{1}{2} + \frac{1}{6} \cdot i\right)\right) + i}{\frac{i}{n}}\\ \mathbf{elif}\;n \le -1.9104269870182 \cdot 10^{-310}:\\ \;\;\;\;\frac{\left({\left(\frac{i}{n} + 1\right)}^{n} - 1\right) \cdot 100}{\frac{i}{n}}\\ \mathbf{elif}\;n \le 4.5724762541048576 \cdot 10^{-113}:\\ \;\;\;\;\frac{{n}^{4} \cdot \frac{100}{3}}{\frac{\frac{i}{\log i}}{\log n \cdot \log n}} + \left(\left(\frac{\frac{50}{3} \cdot {n}^{4}}{\frac{\frac{i}{\log i}}{\log n \cdot \log n}} - \left(\frac{\frac{50}{3}}{\frac{i}{{n}^{4} \cdot \left(\left(\log i \cdot \log i\right) \cdot \log n\right)}} + \left(\left(\left(\frac{\frac{100}{3} \cdot \left({n}^{4} \cdot \left(\left(\log i \cdot \log i\right) \cdot \log n\right)\right)}{i} + \left(\frac{50 \cdot \left(n \cdot \left(n \cdot n\right)\right)}{\frac{\frac{i}{\log n}}{\log i}} + 100 \cdot \frac{n}{\frac{\frac{i}{\log n}}{n}}\right)\right) + \frac{50 \cdot \left(n \cdot \left(n \cdot n\right)\right)}{\frac{\frac{i}{\log n}}{\log i}}\right) + \frac{50}{3} \cdot \frac{\left(\log n \cdot \left(\log n \cdot \log n\right)\right) \cdot {n}^{4}}{i}\right)\right)\right) + \left(\left(\frac{{n}^{4}}{\frac{\frac{i}{\log i}}{\log i \cdot \log i}} \cdot \frac{50}{3} + 100 \cdot \frac{n}{\frac{\frac{i}{\log i}}{n}}\right) + \left(\frac{n \cdot \left(n \cdot n\right)}{\frac{i}{\log i \cdot \log i}} + \frac{n \cdot \left(n \cdot n\right)}{\frac{\frac{i}{\log n}}{\log n}}\right) \cdot 50\right)\right)\\ \mathbf{elif}\;n \le 1.9527750286369506 \cdot 10^{+164}:\\ \;\;\;\;100 \cdot \frac{i \cdot \left(i \cdot \left(\frac{1}{2} + \frac{1}{6} \cdot i\right)\right) + i}{\frac{i}{n}}\\ \mathbf{else}:\\ \;\;\;\;100 \cdot \frac{n \cdot \left({\left(\log \left(e^{i \cdot \frac{1}{n}}\right)\right)}^{n} - 1\right)}{i}\\ \end{array}\]

Error

Bits error versus i

Bits error versus n

Target

Original43.0
Target42.9
Herbie30.1
\[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.0656758119376456e+89 or 4.5724762541048576e-113 < n < 1.9527750286369506e+164

    1. Initial program 53.8

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

      \[\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.4

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

    if -1.0656758119376456e+89 < n < -1.9104269870182e-310

    1. Initial program 22.0

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

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

    if -1.9104269870182e-310 < n < 4.5724762541048576e-113

    1. Initial program 44.8

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

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

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

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

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

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

    if 1.9527750286369506e+164 < n

    1. Initial program 60.0

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

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

      \[\leadsto 100 \cdot \color{blue}{\frac{n \cdot \left({\left(\frac{1}{n} \cdot i\right)}^{n} - 1\right)}{i}}\]
    4. Using strategy rm
    5. Applied add-log-exp43.8

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

    \[\leadsto \begin{array}{l} \mathbf{if}\;n \le -1.0656758119376456 \cdot 10^{+89}:\\ \;\;\;\;100 \cdot \frac{i \cdot \left(i \cdot \left(\frac{1}{2} + \frac{1}{6} \cdot i\right)\right) + i}{\frac{i}{n}}\\ \mathbf{elif}\;n \le -1.9104269870182 \cdot 10^{-310}:\\ \;\;\;\;\frac{\left({\left(\frac{i}{n} + 1\right)}^{n} - 1\right) \cdot 100}{\frac{i}{n}}\\ \mathbf{elif}\;n \le 4.5724762541048576 \cdot 10^{-113}:\\ \;\;\;\;\frac{{n}^{4} \cdot \frac{100}{3}}{\frac{\frac{i}{\log i}}{\log n \cdot \log n}} + \left(\left(\frac{\frac{50}{3} \cdot {n}^{4}}{\frac{\frac{i}{\log i}}{\log n \cdot \log n}} - \left(\frac{\frac{50}{3}}{\frac{i}{{n}^{4} \cdot \left(\left(\log i \cdot \log i\right) \cdot \log n\right)}} + \left(\left(\left(\frac{\frac{100}{3} \cdot \left({n}^{4} \cdot \left(\left(\log i \cdot \log i\right) \cdot \log n\right)\right)}{i} + \left(\frac{50 \cdot \left(n \cdot \left(n \cdot n\right)\right)}{\frac{\frac{i}{\log n}}{\log i}} + 100 \cdot \frac{n}{\frac{\frac{i}{\log n}}{n}}\right)\right) + \frac{50 \cdot \left(n \cdot \left(n \cdot n\right)\right)}{\frac{\frac{i}{\log n}}{\log i}}\right) + \frac{50}{3} \cdot \frac{\left(\log n \cdot \left(\log n \cdot \log n\right)\right) \cdot {n}^{4}}{i}\right)\right)\right) + \left(\left(\frac{{n}^{4}}{\frac{\frac{i}{\log i}}{\log i \cdot \log i}} \cdot \frac{50}{3} + 100 \cdot \frac{n}{\frac{\frac{i}{\log i}}{n}}\right) + \left(\frac{n \cdot \left(n \cdot n\right)}{\frac{i}{\log i \cdot \log i}} + \frac{n \cdot \left(n \cdot n\right)}{\frac{\frac{i}{\log n}}{\log n}}\right) \cdot 50\right)\right)\\ \mathbf{elif}\;n \le 1.9527750286369506 \cdot 10^{+164}:\\ \;\;\;\;100 \cdot \frac{i \cdot \left(i \cdot \left(\frac{1}{2} + \frac{1}{6} \cdot i\right)\right) + i}{\frac{i}{n}}\\ \mathbf{else}:\\ \;\;\;\;100 \cdot \frac{n \cdot \left({\left(\log \left(e^{i \cdot \frac{1}{n}}\right)\right)}^{n} - 1\right)}{i}\\ \end{array}\]

Reproduce

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