# Man Page log2.3m

```

```

## NAME

```     exp2, exp10, log2, compound, annuity  -  exponential,  loga-
rithm, financial

```

## SYNOPSIS

```     cc [ flag ... ] file ...  -lsunmath -lm [ library ... ]

#include <sunmath.h>

double exp2(double x);

double exp10(double x);

double log2(double x);

double compound(double r, double n);

double annuity(double r, double n);

```

## DESCRIPTION

```     exp2() and exp10() return 2**x and 10**x respectively.

log2() returns the logarithm to base 2.

compound() and annuity() are functions important  in  finan-
cial computations of the effect of interest at periodic rate
r over n periods.  compound(r,n) computes (1+r)**n, the com-
pound  interest  factor.  Given an initial principal P0, its
value after n  periods  is  just  Pn  =  P0  *compound(r,n).
annuity(r,n)  computes  (1 - (1+r)**-n)/r, the present value
of annuity factor.   Given  an  initial  principal  P0,  the
equivalent  periodic  payment is just p = P0 / annuity(r,n).
compound() and annuity()  are  computed  using  log1p()  and
expm1()  to  avoid gratuitous inaccuracy for small-magnitude
r.  compound() and annuity() are not defined for r <= -1.

Thus a principal amount P0 placed at 5% annual interest com-
pounded quarterly for 30 years would yield

P30 = P0 * compound(.05/4, 30.0 * 4)

while a conventional fixed-rate 30-year home loan of  amount
P0 at 10% annual interest would be amortized by monthly pay-
ments in the amount

p = P0 / annuity(.10/12, 30.0 * 12).

```

```     exp(3M)