"Line search failed" in lsquares



Hello,

Can you please help me with finding least squares estimates for the 
following data and function:

(%i18) grind(dm);
matrix([4,157862744],[6,81514144],[8,42899496],[10,20773720],[12,2699392],
       [14,0],[3,244256672],[4,153504224],[5,150344088],[6,83708024],
 [7,138026400],[8,56704496],[9,33277704],[10,36540352],[11,65270544],
 [12,18357256],[13,63192616],[14,29463776],[15,6964280],[16,673976])$
(%o18)                               done

(%i19) mse : lsquares_mse(dm, [x,y], a*exp(-b*x) = y);
                        20
                       ====       - b dm
                       \                i, 1          2
                        >    (a %e           - dm    )
                       /                         i, 2
                       ====
                       i = 1
(%o19)                 --------------------------------
                                      20
(%i20) lsquares_estimates_approximate(mse, [a,b], initial = [ 10^9, 0.5 ], 
iprint = [ -1, 0 ]);
 IFLAG= -1 
 LINE SEARCH FAILED. SEE DOCUMENTATION OF ROUTINE MCSRCH
 ERROR RETURN OF LINE SEARCH: INFO=  3
 POSSIBLE CAUSES: FUNCTION OR GRADIENT ARE INCORRECT
 OR INCORRECT TOLERANCES
(%o20)                               [[]]

I can see by plotting that the initial parameters hit the data pretty 
well. Can you give me a clue why it fails and what I could do to correct 
it? Also, what are the meanings of the undocumented "iprint" parameter and 
of the "tol" parameter, which is mentioned, but not explained in the 
documentation?

Regards,
Jan Ploski