Reputation: 1277
I'm trying to calculate IRR in a .NET application. The application is based on an Excel sheet that also calculates IRR. the .NET application calls the IRR function in the Microsoft.VisualBasic namespace, whereas the the Excel file uses the built in IRR function.
Often, given the same inputs, the two functions produce different results. One example is with an initial investment of 68000 (so -68000), and then 360 received payments of 500, Excel produces an IRR of 8.3%. The .NET version will simply throw an invalid argument exception. This means that they are obviously different implementations of IRR, but is there a way to get the Excel calculation without installing Excel on the server. Or could it be possible to find out why the .NET version and Excel produce different results?
To be clear, a number or IRR calculators fail for these same inputs. In fact, Excel is the only one I've seen that returns a value.
The sample code is quite simple: IRR = Microsoft.VisualBasic.Financial.IRR(ref cashFlowArray)
According to the documentation, this function, like Excel, uses a default guess of .1 or 10%.
And again, one value that fails is an initial investment of -68000 and 360 received payments of 500. So the cashFlowArray has 361 values. -68000 and then 360 values of 500. Note again that this array fails in many IRR calculators, but not Excel.
Upvotes: 0
Views: 3227
Reputation:
Using guess of 3% code reports an IRR value and with the default 10% guess rate the code was unable to find the IRR guess = 3% nper = 360 pmt = 500 pv = -68000 fv = 0 type = 0
PV + PMT pvifa(i%, NPER) FV pvif(i%, NPER) = 0
f(i) = -68000 + 500 pvifa(i%, 360) + 0 pvif(i%, 360)
f'(i) = 0 + 500 pvifa'(i%, 360) + 0 pvif'(i%, 360)
i0 = 0.03
f(i1) = -51333.7319
f'(i1) = -555402.9838
i1 = 0.03 - -51333.7319/-555402.9838 = -0.0624261002332
Error Bound = |-0.0624261002332 - 0.03| = 0.092426 > 0.000001
i1 = -0.0624261002332
f(i2) = 9.58562829595E+13
f'(i2) = -3.52703952905E+16
i2 = -0.0624261002332 - 9.58562829595E+13/-3.52703952905E+16 = -0.0597083455222
Error Bound = |-0.0597083455222 - -0.0624261002332| = 0.002718 > 0.000001
i2 = -0.0597083455222
f(i3) = 3.53513174812E+13
f'(i3) = -1.29425364707E+16
i3 = -0.0597083455222 - 3.53513174812E+13/-1.29425364707E+16 = -0.0569769398537
Error Bound = |-0.0569769398537 - -0.0597083455222| = 0.002731 > 0.000001
i3 = -0.0569769398537
f(i4) = 1.30388189029E+13
f'(i4) = -4.7487384444E+15
i4 = -0.0569769398537 - 1.30388189029E+13/-4.7487384444E+15 = -0.0542311961039
Error Bound = |-0.0542311961039 - -0.0569769398537| = 0.002746 > 0.000001
i4 = -0.0542311961039
f(i5) = 4.80979209853E+12
f'(i5) = -1.74212182057E+15
i5 = -0.0542311961039 - 4.80979209853E+12/-1.74212182057E+15 = -0.051470314493
Error Bound = |-0.051470314493 - -0.0542311961039| = 0.002761 > 0.000001
i5 = -0.051470314493
f(i6) = 1.77451366501E+12
f'(i6) = -6.39013222467E+14
i6 = -0.051470314493 - 1.77451366501E+12/-6.39013222467E+14 = -0.0486933552648
Error Bound = |-0.0486933552648 - -0.051470314493| = 0.002777 > 0.000001
i6 = -0.0486933552648
f(i7) = 654801046907
f'(i7) = -2.34346900134E+14
i7 = -0.0486933552648 - 654801046907/-2.34346900134E+14 = -0.045899202466
Error Bound = |-0.045899202466 - -0.0486933552648| = 0.002794 > 0.000001
i7 = -0.045899202466
f(i8) = 241674888932
f'(i8) = -8.59231252001E+13
i8 = -0.045899202466 - 241674888932/-8.59231252001E+13 = -0.0430865150973
Error Bound = |-0.0430865150973 - -0.045899202466| = 0.002813 > 0.000001
i8 = -0.0430865150973
f(i9) = 89220641583.2
f'(i9) = -3.14949542075E+13
i9 = -0.0430865150973 - 89220641583.2/-3.14949542075E+13 = -0.0402536599994
Error Bound = |-0.0402536599994 - -0.0430865150973| = 0.002833 > 0.000001
i9 = -0.0402536599994
f(i10) = 32948550352.8
f'(i10) = -1.15404773652E+13
i10 = -0.0402536599994 - 32948550352.8/-1.15404773652E+13 = -0.037398617759
Error Bound = |-0.037398617759 - -0.0402536599994| = 0.002855 > 0.000001
i10 = -0.037398617759
f(i11) = 12172461316.1
f'(i11) = -4.22688689595E+12
i11 = -0.037398617759 - 12172461316.1/-4.22688689595E+12 = -0.0345188479388
Error Bound = |-0.0345188479388 - -0.037398617759| = 0.00288 > 0.000001
i11 = -0.0345188479388
f(i12) = 4499225447.44
f'(i12) = -1.54731871431E+12
i12 = -0.0345188479388 - 4499225447.44/-1.54731871431E+12 = -0.0316110918277
Error Bound = |-0.0316110918277 - -0.0345188479388| = 0.002908 > 0.000001
i12 = -0.0316110918277
f(i13) = 1664095774.73
f'(i13) = -566016277566
i13 = -0.0316110918277 - 1664095774.73/-566016277566 = -0.0286710778375
Error Bound = |-0.0286710778375 - -0.0316110918277| = 0.00294 > 0.000001
i13 = -0.0286710778375
f(i14) = 616013742.551
f'(i14) = -206854614870
i14 = -0.0286710778375 - 616013742.551/-206854614870 = -0.025693074456
Error Bound = |-0.025693074456 - -0.0286710778375| = 0.002978 > 0.000001
i14 = -0.025693074456
f(i15) = 228298641.501
f'(i15) = -75498905652.4
i15 = -0.025693074456 - 228298641.501/-75498905652.4 = -0.0226692075598
Error Bound = |-0.0226692075598 - -0.025693074456| = 0.003024 > 0.000001
i15 = -0.0226692075598
f(i16) = 84742799.6012
f'(i16) = -27506966538.3
i16 = -0.0226692075598 - 84742799.6012/-27506966538.3 = -0.0195884316595
Error Bound = |-0.0195884316595 - -0.0226692075598| = 0.003081 > 0.000001
i16 = -0.0195884316595
f(i17) = 31524635.1226
f'(i17) = -9997137561.74
i17 = -0.0195884316595 - 31524635.1226/-9997137561.74 = -0.0164350655157
Error Bound = |-0.0164350655157 - -0.0195884316595| = 0.003153 > 0.000001
i17 = -0.0164350655157
f(i18) = 11762137.4745
f'(i18) = -3621337958.43
i18 = -0.0164350655157 - 11762137.4745/-3621337958.43 = -0.0131870567384
Error Bound = |-0.0131870567384 - -0.0164350655157| = 0.003248 > 0.000001
i18 = -0.0131870567384
f(i19) = 4405166.3509
f'(i19) = -1306482610.91
i19 = -0.0131870567384 - 4405166.3509/-1306482610.91 = -0.00981528101468
Error Bound = |-0.00981528101468 - -0.0131870567384| = 0.003372 > 0.000001
i19 = -0.00981528101468
f(i20) = 1656180.741
f'(i20) = -469715487.172
i20 = -0.00981528101468 - 1656180.741/-469715487.172 = -0.00628935779897
Error Bound = |-0.00628935779897 - -0.00981528101468| = 0.003526 > 0.000001
i20 = -0.00628935779897
f(i21) = 623022.4818
f'(i21) = -169271793.287
i21 = -0.00628935779897 - 623022.4818/-169271793.287 = -0.00260875354856
Error Bound = |-0.00260875354856 - -0.00628935779897| = 0.003681 > 0.000001
i21 = -0.00260875354856
f(i22) = 231175.5102
f'(i22) = -62482428.7318
i22 = -0.00260875354856 - 231175.5102/-62482428.7318 = 0.00109109479166
Error Bound = |0.00109109479166 - -0.00260875354856| = 0.0037 > 0.000001
i22 = 0.00109109479166
f(i23) = 80789.857
f'(i23) = -25081343.6949
i23 = 0.00109109479166 - 80789.857/-25081343.6949 = 0.00431220837988
Error Bound = |0.00431220837988 - 0.00109109479166| = 0.003221 > 0.000001
i23 = 0.00431220837988
f(i24) = 23316.5384
f'(i24) = -12346358.6651
i24 = 0.00431220837988 - 23316.5384/-12346358.6651 = 0.00620074402528
Error Bound = |0.00620074402528 - 0.00431220837988| = 0.001889 > 0.000001
i24 = 0.00620074402528
f(i25) = 3924.6872
f'(i25) = -8482801.9524
i25 = 0.00620074402528 - 3924.6872/-8482801.9524 = 0.00666340804385
Error Bound = |0.00666340804385 - 0.00620074402528| = 0.000463 > 0.000001
i25 = 0.00666340804385
f(i26) = 167.0698
f'(i26) = -7773372.0518
i26 = 0.00666340804385 - 167.0698/-7773372.0518 = 0.00668490062717
Error Bound = |0.00668490062717 - 0.00666340804385| = 2.1E-5 > 0.000001
i26 = 0.00668490062717
f(i27) = 0.3348
f'(i27) = -7742239.1148
i27 = 0.00668490062717 - 0.3348/-7742239.1148 = 0.00668494387585
Error Bound = |0.00668494387585 - 0.00668490062717| = 0 < 0.000001
IRR = 0.6684944%
Annual IRR = 8.0219327%
APR = 8.3235488%
And using a guess rate of 10%, the code reports a #NUM Error guess = 10% nper = 360 pmt = 500 pv = -68000 fv = 0 type = 0
PV + PMT pvifa(i%, NPER) FV pvif(i%, NPER) = 0
f(i) = -68000 + 500 pvifa(i%, 360) + 0 pvif(i%, 360)
f'(i) = 0 + 500 pvifa'(i%, 360) + 0 pvif'(i%, 360)
i0 = 0.1
f(i1) = -63000
f'(i1) = -50000
i1 = 0.1 - -63000/-50000 = -1.16
Error Bound = |-1.16 - 0.1| = 1.26 > 0.000001
i1 = -1.16
f(i2) = 1.41683167973E+289
f'(i2) = 3.18909268602E+292
i2 = -1.16 - 1.41683167973E+289/3.18909268602E+292 = -1.16044427422
Error Bound = |-1.16044427422 - -1.16| = 0.000444 > 0.000001
i2 = -1.16044427422
f(i3) = 5.21945815669E+288
f'(i3) = 1.17157598387E+292
i3 = -1.16044427422 - 5.21945815669E+288/1.17157598387E+292 = -1.16088978166
Error Bound = |-1.16088978166 - -1.16044427422| = 0.000446 > 0.000001
i3 = -1.16088978166
f(i4) = 1.92279321388E+288
f'(i4) = 4.30401504168E+291
i4 = -1.16088978166 - 1.92279321388E+288/4.30401504168E+291 = -1.16133652574
Error Bound = |-1.16133652574 - -1.16088978166| = 0.000447 > 0.000001
i4 = -1.16133652574
f(i5) = 7.0833669401E+287
f'(i5) = 1.58116466833E+291
i5 = -1.16133652574 - 7.0833669401E+287/1.58116466833E+291 = -1.16178450988
Error Bound = |-1.16178450988 - -1.16133652574| = 0.000448 > 0.000001
i5 = -1.16178450988
f(i6) = 2.60943749624E+287
f'(i6) = 5.80871974114E+290
i6 = -1.16178450988 - 2.60943749624E+287/5.80871974114E+290 = -1.16223373752
Error Bound = |-1.16223373752 - -1.16178450988| = 0.000449 > 0.000001
i6 = -1.16223373752
f(i7) = 9.6128918485E+286
f'(i7) = 2.13394757555E+290
i7 = -1.16223373752 - 9.6128918485E+286/2.13394757555E+290 = -1.16268421213
Error Bound = |-1.16268421213 - -1.16223373752| = 0.00045 > 0.000001
i7 = -1.16268421213
f(i8) = 3.5412877151E+286
f'(i8) = 7.83947662856E+289
i8 = -1.16268421213 - 3.5412877151E+286/7.83947662856E+289 = -1.16313593714
Error Bound = |-1.16313593714 - -1.16268421213| = 0.000452 > 0.000001
i8 = -1.16313593714
f(i9) = 1.30457294757E+286
f'(i9) = 2.8799861182E+289
i9 = -1.16313593714 - 1.30457294757E+286/2.8799861182E+289 = -1.16358891604
Error Bound = |-1.16358891604 - -1.16313593714| = 0.000453 > 0.000001
i9 = -1.16358891604
f(i10) = 4.80590877868E+285
f'(i10) = 1.05801961691E+289
i10 = -1.16358891604 - 4.80590877868E+285/1.05801961691E+289 = -1.16404315231
Error Bound = |-1.16404315231 - -1.16358891604| = 0.000454 > 0.000001
i10 = -1.16404315231
f(i11) = 1.77044596708E+285
f'(i11) = 3.88684343018E+288
i11 = -1.16404315231 - 1.77044596708E+285/3.88684343018E+288 = -1.16449864942
Error Bound = |-1.16449864942 - -1.16404315231| = 0.000455 > 0.000001
i11 = -1.16449864942
f(i12) = 6.52213568706E+284
f'(i12) = 1.42790848513E+288
i12 = -1.16449864942 - 6.52213568706E+284/1.42790848513E+288 = -1.16495541088
Error Bound = |-1.16495541088 - -1.16449864942| = 0.000457 > 0.000001
i12 = -1.16495541088
f(i13) = 2.40268579877E+284
f'(i13) = 5.24570305717E+287
i13 = -1.16495541088 - 2.40268579877E+284/5.24570305717E+287 = -1.1654134402
Error Bound = |-1.1654134402 - -1.16495541088| = 0.000458 > 0.000001
i13 = -1.1654134402
f(i14) = 8.85124031729E+283
f'(i14) = 1.9271123403E+287
i14 = -1.1654134402 - 8.85124031729E+283/1.9271123403E+287 = -1.1658727409
Error Bound = |-1.1658727409 - -1.1654134402| = 0.000459 > 0.000001
i14 = -1.1658727409
f(i15) = 3.26070329379E+283
f'(i15) = 7.07962677255E+286
i15 = -1.1658727409 - 3.26070329379E+283/7.07962677255E+286 = -1.16633331649
Error Bound = |-1.16633331649 - -1.1658727409| = 0.000461 > 0.000001
i15 = -1.16633331649
f(i16) = 1.2012085951E+283
f'(i16) = 2.60084035073E+286
i16 = -1.16633331649 - 1.2012085951E+283/2.60084035073E+286 = -1.16679517052
Error Bound = |-1.16679517052 - -1.16633331649| = 0.000462 > 0.000001
i16 = -1.16679517052
f(i17) = 4.4251253663E+282
f'(i17) = 9.55469936824E+285
i17 = -1.16679517052 - 4.4251253663E+282/9.55469936824E+285 = -1.16725830653
Error Bound = |-1.16725830653 - -1.16679517052| = 0.000463 > 0.000001
i17 = -1.16725830653
f(i18) = 1.63016935972E+282
f'(i18) = 3.51010703892E+285
i18 = -1.16725830653 - 1.63016935972E+282/3.51010703892E+285 = -1.16772272808
Error Bound = |-1.16772272808 - -1.16725830653| = 0.000464 > 0.000001
i18 = -1.16772272808
f(i19) = 6.00537140858E+281
f'(i19) = 1.28950697217E+285
i19 = -1.16772272808 - 6.00537140858E+281/1.28950697217E+285 = -1.16818843874
Error Bound = |-1.16818843874 - -1.16772272808| = 0.000466 > 0.000001
i19 = -1.16818843874
f(i20) = 2.21231527014E+281
f'(i20) = 4.73725791429E+284
i20 = -1.16818843874 - 2.21231527014E+281/4.73725791429E+284 = -1.16865544208
Error Bound = |-1.16865544208 - -1.16818843874| = 0.000467 > 0.000001
i20 = -1.16865544208
f(i21) = 8.14993530042E+280
f'(i21) = 1.74032502975E+284
i21 = -1.16865544208 - 8.14993530042E+280/1.74032502975E+284 = -1.16912374169
Error Bound = |-1.16912374169 - -1.16865544208| = 0.000468 > 0.000001
i21 = -1.16912374169
f(i22) = 3.00234989778E+280
f'(i22) = 6.39342689545E+283
i22 = -1.16912374169 - 3.00234989778E+280/6.39342689545E+283 = -1.16959334116
Error Bound = |-1.16959334116 - -1.16912374169| = 0.00047 > 0.000001
i22 = -1.16959334116
f(i23) = 1.10603392004E+280
f'(i23) = 2.34875134593E+283
i23 = -1.16959334116 - 1.10603392004E+280/2.34875134593E+283 = -1.1700642441
Error Bound = |-1.1700642441 - -1.16959334116| = 0.000471 > 0.000001
i23 = -1.1700642441
f(i24) = 4.07451186961E+279
f'(i24) = 8.62860088603E+282
i24 = -1.1700642441 - 4.07451186961E+279/8.62860088603E+282 = -1.17053645413
Error Bound = |-1.17053645413 - -1.1700642441| = 0.000472 > 0.000001
i24 = -1.17053645413
f(i25) = 1.50100703398E+279
f'(i25) = 3.16988656752E+282
i25 = -1.17053645413 - 1.50100703398E+279/3.16988656752E+282 = -1.17100997487
Error Bound = |-1.17100997487 - -1.17053645413| = 0.000474 > 0.000001
i25 = -1.17100997487
f(i26) = 5.52955098198E+278
f'(i26) = 1.16452029784E+282
i26 = -1.17100997487 - 5.52955098198E+278/1.16452029784E+282 = -1.17148480996
Error Bound = |-1.17148480996 - -1.17100997487| = 0.000475 > 0.000001
i26 = -1.17148480996
f(i27) = 2.03702802856E+278
f'(i27) = 4.27809480963E+281
i27 = -1.17148480996 - 2.03702802856E+278/4.27809480963E+281 = -1.17196096304
Error Bound = |-1.17196096304 - -1.17148480996| = 0.000476 > 0.000001
i27 = -1.17196096304
f(i28) = 7.50419553643E+277
f'(i28) = 1.57164244159E+281
i28 = -1.17196096304 - 7.50419553643E+277/1.57164244159E+281 = -1.17243843778
Error Bound = |-1.17243843778 - -1.17196096304| = 0.000477 > 0.000001
i28 = -1.17243843778
f(i29) = 2.76446616007E+277
f'(i29) = 5.77373826379E+280
i29 = -1.17243843778 - 2.76446616007E+277/5.77373826379E+280 = -1.17291723782
Error Bound = |-1.17291723782 - -1.17243843778| = 0.000479 > 0.000001
#NUM! Error
But if we change the underlying IRR equation from present value to future value we get the IRR using the default rate of 10% guess = 10% nper = 360 pmt = 500 pv = -68000 fv = 0 type = 0
FV + PMT fvifa(i%, NPER) PV fvif(i%, NPER) = 0
f(i) = 0 + 500 fvifa(i%, 360) + -68000 fvif(i%, 360)
f'(i) = 0 + 500 fvifa'(i%, 360) + -68000 fvif'(i%, 360)
i0 = 0.1
f(i1) = -5.02004033255E+19
f'(i1) = -1.64690644965E+22
i1 = 0.1 - -5.02004033255E+19/-1.64690644965E+22 = 0.0969518363756
Error Bound = |0.0969518363756 - 0.1| = 0.003048 > 0.000001
i1 = 0.0969518363756
f(i2) = -1.84406810006E+19
f'(i2) = -6.06751128825E+21
i2 = 0.0969518363756 - -1.84406810006E+19/-6.06751128825E+21 = 0.0939125868177
Error Bound = |0.0939125868177 - 0.0969518363756| = 0.003039 > 0.000001
i2 = 0.0939125868177
f(i3) = -6.77397490871E+18
f'(i3) = -2.23540131948E+21
i3 = 0.0939125868177 - -6.77397490871E+18/-2.23540131948E+21 = 0.0908822696886
Error Bound = |0.0908822696886 - 0.0939125868177| = 0.00303 > 0.000001
i3 = 0.0908822696886
f(i4) = -2.48832251727E+18
f'(i4) = -8.2357680071E+20
i4 = 0.0908822696886 - -2.48832251727E+18/-8.2357680071E+20 = 0.0878609090637
Error Bound = |0.0878609090637 - 0.0908822696886| = 0.003021 > 0.000001
i4 = 0.0878609090637
f(i5) = -9.14041085129E+17
f'(i5) = -3.03428884269E+20
i5 = 0.0878609090637 - -9.14041085129E+17/-3.03428884269E+20 = 0.084848535712
Error Bound = |0.084848535712 - 0.0878609090637| = 0.003012 > 0.000001
i5 = 0.084848535712
f(i6) = -3.35753185243E+17
f'(i6) = -1.11792988932E+20
i6 = 0.084848535712 - -3.35753185243E+17/-1.11792988932E+20 = 0.0818451882887
Error Bound = |0.0818451882887 - 0.084848535712| = 0.003003 > 0.000001
i6 = 0.0818451882887
f(i7) = -1.23330146611E+17
f'(i7) = -4.11886712617E+19
i7 = 0.0818451882887 - -1.23330146611E+17/-4.11886712617E+19 = 0.0788509147948
Error Bound = |0.0788509147948 - 0.0818451882887| = 0.002994 > 0.000001
i7 = 0.0788509147948
f(i8) = -4.53014608432E+16
f'(i8) = -1.51756548916E+19
i8 = 0.0788509147948 - -4.53014608432E+16/-1.51756548916E+19 = 0.075865774373
Error Bound = |0.075865774373 - 0.0788509147948| = 0.002985 > 0.000001
i8 = 0.075865774373
f(i9) = -1.66397969598E+16
f'(i9) = -5.59145206095E+18
i9 = 0.075865774373 - -1.66397969598E+16/-5.59145206095E+18 = 0.0728898395392
Error Bound = |0.0728898395392 - 0.075865774373| = 0.002976 > 0.000001
i9 = 0.0728898395392
f(i10) = -6.11188943532E+15
f'(i10) = -2.06020557437E+18
i10 = 0.0728898395392 - -6.11188943532E+15/-2.06020557437E+18 = 0.0699231989712
Error Bound = |0.0699231989712 - 0.0728898395392| = 0.002967 > 0.000001
i10 = 0.0699231989712
f(i11) = -2.244880032E+15
f'(i11) = -7.59113766115E+17
i11 = 0.0699231989712 - -2.244880032E+15/-7.59113766115E+17 = 0.0669659610285
Error Bound = |0.0669659610285 - 0.0699231989712| = 0.002957 > 0.000001
i11 = 0.0669659610285
f(i12) = -8.2451613754E+14
f'(i12) = -2.79714813418E+17
i12 = 0.0669659610285 - -8.2451613754E+14/-2.79714813418E+17 = 0.0640182582327
Error Bound = |0.0640182582327 - 0.0669659610285| = 0.002948 > 0.000001
i12 = 0.0640182582327
f(i13) = -3.02824717395E+14
f'(i13) = -1.03071538821E+17
i13 = 0.0640182582327 - -3.02824717395E+14/-1.03071538821E+17 = 0.0610802530291
Error Bound = |0.0610802530291 - 0.0640182582327| = 0.002938 > 0.000001
i13 = 0.0610802530291
f(i14) = -1.11215883952E+14
f'(i14) = -3.79821691345E+16
i14 = 0.0610802530291 - -1.11215883952E+14/-3.79821691345E+16 = 0.0581521452753
Error Bound = |0.0581521452753 - 0.0610802530291| = 0.002928 > 0.000001
i14 = 0.0581521452753
f(i15) = -4.08434211369E+13
f'(i15) = -1.3997236605E+16
i15 = 0.0581521452753 - -4.08434211369E+13/-1.3997236605E+16 = 0.055234182088
Error Bound = |0.055234182088 - 0.0581521452753| = 0.002918 > 0.000001
i15 = 0.055234182088
f(i16) = -1.49986675307E+13
f'(i16) = -5.15859333428E+15
i16 = 0.055234182088 - -1.49986675307E+13/-5.15859333428E+15 = 0.0523266709588
Error Bound = |0.0523266709588 - 0.055234182088| = 0.002908 > 0.000001
i16 = 0.0523266709588
f(i17) = -5.50747657445E+12
f'(i17) = -1.9013107922E+15
i17 = 0.0523266709588 - -5.50747657445E+12/-1.9013107922E+15 = 0.0494299974654
Error Bound = |0.0494299974654 - 0.0523266709588| = 0.002897 > 0.000001
i17 = 0.0494299974654
f(i18) = -2.02215465542E+12
f'(i18) = -7.00835643276E+14
i18 = 0.0494299974654 - -2.02215465542E+12/-7.00835643276E+14 = 0.0465446495599
Error Bound = |0.0465446495599 - 0.0494299974654| = 0.002885 > 0.000001
i18 = 0.0465446495599
f(i19) = -742382229633
f'(i19) = -2.58363859848E+14
i19 = 0.0465446495599 - -742382229633/-2.58363859848E+14 = 0.0436712514381
Error Bound = |0.0436712514381 - 0.0465446495599| = 0.002873 > 0.000001
i19 = 0.0436712514381
f(i20) = -272507455942
f'(i20) = -9.5261017302E+13
i20 = 0.0436712514381 - -272507455942/-9.5261017302E+13 = 0.0408106116542
Error Bound = |0.0408106116542 - 0.0436712514381| = 0.002861 > 0.000001
i20 = 0.0408106116542
f(i21) = -100010980524
f'(i21) = -3.5130785888E+13
i21 = 0.0408106116542 - -100010980524/-3.5130785888E+13 = 0.0379637928884
Error Bound = |0.0379637928884 - 0.0408106116542| = 0.002847 > 0.000001
i21 = 0.0379637928884
f(i22) = -36695132084.7
f'(i22) = -1.29592542042E+13
i22 = 0.0379637928884 - -36695132084.7/-1.29592542042E+13 = 0.0351322154298
Error Bound = |0.0351322154298 - 0.0379637928884| = 0.002832 > 0.000001
i22 = 0.0351322154298
f(i23) = -13459276157.9
f'(i23) = -4.78228823809E+12
i23 = 0.0351322154298 - -13459276157.9/-4.78228823809E+12 = 0.032317814564
Error Bound = |0.032317814564 - 0.0351322154298| = 0.002814 > 0.000001
i23 = 0.032317814564
f(i24) = -4934345607.23
f'(i24) = -1.76571704227E+12
i24 = 0.032317814564 - -4934345607.23/-1.76571704227E+12 = 0.0295232866249
Error Bound = |0.0295232866249 - 0.032317814564| = 0.002795 > 0.000001
i24 = 0.0295232866249
f(i25) = -1807771302.49
f'(i25) = -652436293382
i25 = 0.0295232866249 - -1807771302.49/-652436293382 = 0.0267524853668
Error Bound = |0.0267524853668 - 0.0295232866249| = 0.002771 > 0.000001
i25 = 0.0267524853668
f(i26) = -661642164.568
f'(i26) = -241351566265
i26 = 0.0267524853668 - -661642164.568/-241351566265 = 0.024011081303
Error Bound = |0.024011081303 - 0.0267524853668| = 0.002741 > 0.000001
i26 = 0.024011081303
f(i27) = -241789480.841
f'(i27) = -89439505964
i27 = 0.024011081303 - -241789480.841/-89439505964 = 0.0213076956097
Error Bound = |0.0213076956097 - 0.024011081303| = 0.002703 > 0.000001
i27 = 0.0213076956097
f(i28) = -88143000.1694
f'(i28) = -33239175916.2
i28 = 0.0213076956097 - -88143000.1694/-33239175916.2 = 0.0186559150604
Error Bound = |0.0186559150604 - 0.0213076956097| = 0.002652 > 0.000001
i28 = 0.0186559150604
f(i29) = -32000226.923
f'(i29) = -12413104775.8
i29 = 0.0186559150604 - -32000226.923/-12413104775.8 = 0.0160779760595
Error Bound = |0.0160779760595 - 0.0186559150604| = 0.002578 > 0.000001
i29 = 0.0160779760595
f(i30) = -11533230.93
f'(i30) = -4676205687.23
i30 = 0.0160779760595 - -11533230.93/-4676205687.23 = 0.0136116108692
Error Bound = |0.0136116108692 - 0.0160779760595| = 0.002466 > 0.000001
i30 = 0.0136116108692
f(i31) = -4099754.0982
f'(i31) = -1791032741.45
i31 = 0.0136116108692 - -4099754.0982/-1791032741.45 = 0.0113225661168
Error Bound = |0.0113225661168 - 0.0136116108692| = 0.002289 > 0.000001
i31 = 0.0113225661168
f(i32) = -1416951.762
f'(i32) = -709352254.433
i32 = 0.0113225661168 - -1416951.762/-709352254.433 = 0.00932503702855
Error Bound = |0.00932503702855 - 0.0113225661168| = 0.001998 > 0.000001
i32 = 0.00932503702855
f(i33) = -460027.8507
f'(i33) = -301702507.924
i33 = 0.00932503702855 - -460027.8507/-301702507.924 = 0.00780026398684
Error Bound = |0.00780026398684 - 0.00932503702855| = 0.001525 > 0.000001
i33 = 0.00780026398684
f(i34) = -128048.7026
f'(i34) = -149385114.618
i34 = 0.00780026398684 - -128048.7026/-149385114.618 = 0.00694309222036
Error Bound = |0.00694309222036 - 0.00780026398684| = 0.000857 > 0.000001
i34 = 0.00694309222036
f(i35) = -23557.3593
f'(i35) = -97513503.5079
i35 = 0.00694309222036 - -23557.3593/-97513503.5079 = 0.00670151173728
Error Bound = |0.00670151173728 - 0.00694309222036| = 0.000242 > 0.000001
i35 = 0.00670151173728
f(i36) = -1418.1361
f'(i36) = -85970536.3045
i36 = 0.00670151173728 - -1418.1361/-85970536.3045 = 0.00668501613117
Error Bound = |0.00668501613117 - 0.00670151173728| = 1.6E-5 > 0.000001
i36 = 0.00668501613117
f(i37) = -6.1578
f'(i37) = -85224810.8526
i37 = 0.00668501613117 - -6.1578/-85224810.8526 = 0.00668494387741
Error Bound = |0.00668494387741 - 0.00668501613117| = 0 < 0.000001
IRR = 0.6684944%
Annual IRR = 8.0219327%
APR = 8.3235488%
Upvotes: 1