The file src/portsrc.f is based on the work of others.

  Sources downloaded from http://www.netlib.org/port/ where the readme file
  states:

   The following utility routines are publicly available:
   a0xtrp d0xtrp dalloc dxtrap e9rint enter entsrc eprint erroff i0tk00
   i0tk01 i8save i8tsel ialloc istkgt istkin istkmd istkqu istkrl istkst
   leave movebc movebd movebi movebl movebr movefc movefd movefi movefl
   movefr mtstak n5err nerror nirall retsrc s88fmt setc setd seterr
   seti setl setr srecap stinit xtrap.

   Also available are the up-to-date versions of NL2SOL (TOMS algorithm
   573): n2f and n2g correspond to NL2SNO and NL2SOL;
   n2p is a variant of NL2SOL that allows the residual vector
   and Jacobian matrix to be passed in pieces, rather than all at once;
   n2[fgp]b are versions of NL2SOL that handle simple bounds;
   ns[fg] are versions for separable nonlinear least-squares, and
   ns[fg]b are versions for separable nonlinear least-squares with
   simple bounds.  dn[s2][fgp][b ] are the double-precision versions.

   Similarly available are current versions of SMSNO, SUMSL, HUMSL (TOMS
   algorithm 611) for general unconstrained minimization:
   mnf uses function values only;
   mng uses function and gradient values;
   mnh uses function, gradient, and Hessian values;
   mn[fgh]b are versions that handle simple bounds;
   dmn[fgh][b ] are double-precision versions.