Usage: 
z = denreg(x, verbose, localsqueezing, bandwidth, squeezingfactor, extremanr, tolerance)

Input: 
 x  (n x 1) vector of data

 verbose  optional (it is zero by default); if nonzero, the user is in
every iteration and at the end of the computation presented
with three graphs characterizing the approximation (histogram,
cumulative probability function, distance of string to bounds).
If, in addition to that, verbose is negative, then after every
iteration program stops waiting for a user input.

 localsqueezing  optional (one by default); if nonzero, a local squeezing is used,
that is the reduction of the radius of "string tube" takes place
only in neighborhoods of local extremes.

 bandwidth  optional (1 by default); if positive, then it specifies the bandwidth
for "string tube" to be used, otherwise, a predefined bandwidth is chosen
(depending on the size of the data and other parameters).

 squeezingfactor  optional (0.5 by default); it specifies the amount of "string tube"
radius reduction after every iteration.

 extremanr  optional (1 by default); if positive, it prescribes the maximum for the
number of local extrema. It can be used only if local squeezing is not
active.

 tolerance  optional (0.001 by default); it gives the precision to reach.

Output: 
 z.y  (n+1) x 1 vector of the density estimate 
 z.widths  (n+2) x 1 vector of the distance of the string and the tube 
 z.nmax  the number of local extremes of the string 
 z.ind  the indices of (sorted) observations at which knots are 
 z.trans  (n+2) x 1 vector of the cumulative distribution function 