NLREG features a full programming language with a syntax similar to C for specifying the function that is to be fitted to the data. This allows you to compute intermediate work variables, use conditionals, and even iterate in loops. With NLREG it is easy to construct piecewise functions that change form over different domains. Since the NLREG language includes arrays, you can even use tabular look-up methods to define the function.
The Standard version of NLREG can fit up to 5 variables and parameters to the data observations. The Advanced version can handle up to 2000 variables and parameters. In addition, the Advanced version can generate 3D surface plots such as shown here:
In addition to performing classic nonlinear regression, NLREG can be used to find the root or minimum value of a general multivariate, nonlinear function. It can also be used in a special form where the independent variable is omitted; an interesting application of this is "circular regression" where a circle is fitted to a set of data points.