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.