1 /*
2   This file is part of MADNESS.
3 
4   Copyright (C) 2007,2010 Oak Ridge National Laboratory
5 
6   This program is free software; you can redistribute it and/or modify
7   it under the terms of the GNU General Public License as published by
8   the Free Software Foundation; either version 2 of the License, or
9   (at your option) any later version.
10 
11   This program is distributed in the hope that it will be useful,
12   but WITHOUT ANY WARRANTY; without even the implied warranty of
13   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
14   GNU General Public License for more details.
15 
16   You should have received a copy of the GNU General Public License
17   along with this program; if not, write to the Free Software
18   Foundation, Inc., 59 Temple Place, Suite 330, Boston, MA 02111-1307 USA
19 
20   For more information please contact:
21 
22   Robert J. Harrison
23   Oak Ridge National Laboratory
24   One Bethel Valley Road
25   P.O. Box 2008, MS-6367
26 
27   email: harrisonrj@ornl.gov
28   tel:   865-241-3937
29   fax:   865-572-0680
30 
31   $Id$
32 */
33 #include <madness/mra/mra.h>
34 
35 using std::cout;
36 using std::endl;
37 using std::max;
38 
39 namespace madness {
40     using std::abs;
41 
test_rnlp()42     bool test_rnlp() {
43         long i, n, l;
44         Tensor<double> r;
45         double maxerr = 0.0;
46         const double pi = 3.14159265358979323846264338328;
47         double exact, err;
48         {
49             //cout << "Testing accuracy of rnlp against results from Maple" << endl;
50             double a = 1e-4;
51             GaussianConvolution1D<double> g(8,sqrt(a/pi),a,0,false);
52             n = 0;
53             l=-2;
54             r = g.rnlp(n,l);
55             i = 0;
56             exact = 5.64057956799766339e-03;
57             err = abs(r(i)-exact);
58             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
59             maxerr = max(maxerr,err);
60             i = 3;
61             exact = -3.19741057080945913e-12;
62             err = abs(r(i)-exact);
63             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
64             maxerr = max(maxerr,err);
65             i = 6;
66             exact = -2.81799864246383464e-19;
67             err = abs(r(i)-exact);
68             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
69             maxerr = max(maxerr,err);
70             n = 0;
71             l=-1;
72             r = g.rnlp(n,l);
73             i = 0;
74             exact = 5.64170777792480805e-03;
75             err = abs(r(i)-exact);
76             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
77             maxerr = max(maxerr,err);
78             i = 3;
79             exact = -1.06615886053515213e-12;
80             err = abs(r(i)-exact);
81             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
82             maxerr = max(maxerr,err);
83             i = 6;
84             exact = -2.82194856723151343e-19;
85             err = abs(r(i)-exact);
86             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
87             maxerr = max(maxerr,err);
88             n = 0;
89             l=0;
90             r = g.rnlp(n,l);
91             i = 0;
92             exact = 5.64170777792480805e-03;
93             err = abs(r(i)-exact);
94             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
95             maxerr = max(maxerr,err);
96             i = 3;
97             exact = 1.06615886053515213e-12;
98             err = abs(r(i)-exact);
99             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
100             maxerr = max(maxerr,err);
101             i = 6;
102             exact = -2.82194856723151343e-19;
103             err = abs(r(i)-exact);
104             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
105             maxerr = max(maxerr,err);
106             n = 0;
107             l=1;
108             r = g.rnlp(n,l);
109             i = 0;
110             exact = 5.64057956799766339e-03;
111             err = abs(r(i)-exact);
112             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
113             maxerr = max(maxerr,err);
114             i = 3;
115             exact = 3.19741057080945913e-12;
116             err = abs(r(i)-exact);
117             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
118             maxerr = max(maxerr,err);
119             i = 6;
120             exact = -2.81799864246383464e-19;
121             err = abs(r(i)-exact);
122             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
123             maxerr = max(maxerr,err);
124             n = 0;
125             l=2;
126             r = g.rnlp(n,l);
127             i = 0;
128             exact = 5.63832382494524470e-03;
129             err = abs(r(i)-exact);
130             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
131             maxerr = max(maxerr,err);
132             i = 3;
133             exact = 5.32546574080415871e-12;
134             err = abs(r(i)-exact);
135             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
136             maxerr = max(maxerr,err);
137             i = 6;
138             exact = -2.81010590087371315e-19;
139             err = abs(r(i)-exact);
140             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
141             maxerr = max(maxerr,err);
142             n = 4;
143             l=-2;
144             r = g.rnlp(n,l);
145             i = 0;
146             exact = 1.41047267328181405e-03;
147             err = abs(r(i)-exact);
148             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
149             maxerr = max(maxerr,err);
150             i = 3;
151             exact = -1.22018791972360980e-17;
152             err = abs(r(i)-exact);
153             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
154             maxerr = max(maxerr,err);
155             n = 4;
156             l=-1;
157             r = g.rnlp(n,l);
158             i = 0;
159             exact = 1.41047377521394878e-03;
160             err = abs(r(i)-exact);
161             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
162             maxerr = max(maxerr,err);
163             i = 3;
164             exact = -4.06729836170390096e-18;
165             err = abs(r(i)-exact);
166             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
167             maxerr = max(maxerr,err);
168             n = 4;
169             l=0;
170             r = g.rnlp(n,l);
171             i = 0;
172             exact = 1.41047377521394878e-03;
173             err = abs(r(i)-exact);
174             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
175             maxerr = max(maxerr,err);
176             i = 3;
177             exact = 4.06729836170390096e-18;
178             err = abs(r(i)-exact);
179             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
180             maxerr = max(maxerr,err);
181             n = 4;
182             l=1;
183             r = g.rnlp(n,l);
184             i = 0;
185             exact = 1.41047267328181405e-03;
186             err = abs(r(i)-exact);
187             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
188             maxerr = max(maxerr,err);
189             i = 3;
190             exact = 1.22018791972360980e-17;
191             err = abs(r(i)-exact);
192             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
193             maxerr = max(maxerr,err);
194             n = 4;
195             l=2;
196             r = g.rnlp(n,l);
197             i = 0;
198             exact = 1.41047046942012737e-03;
199             err = abs(r(i)-exact);
200             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
201             maxerr = max(maxerr,err);
202             i = 3;
203             exact = 2.03364123692283645e-17;
204             err = abs(r(i)-exact);
205             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
206             maxerr = max(maxerr,err);
207             n = 8;
208             l=-2;
209             r = g.rnlp(n,l);
210             i = 0;
211             exact = 3.52618488461890419e-04;
212             err = abs(r(i)-exact);
213             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
214             maxerr = max(maxerr,err);
215             n = 8;
216             l=-1;
217             r = g.rnlp(n,l);
218             i = 0;
219             exact = 3.52618489537996637e-04;
220             err = abs(r(i)-exact);
221             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
222             maxerr = max(maxerr,err);
223             n = 8;
224             l=0;
225             r = g.rnlp(n,l);
226             i = 0;
227             exact = 3.52618489537996637e-04;
228             err = abs(r(i)-exact);
229             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
230             maxerr = max(maxerr,err);
231             n = 8;
232             l=1;
233             r = g.rnlp(n,l);
234             i = 0;
235             exact = 3.52618488461890419e-04;
236             err = abs(r(i)-exact);
237             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
238             maxerr = max(maxerr,err);
239             n = 8;
240             l=2;
241             r = g.rnlp(n,l);
242             i = 0;
243             exact = 3.52618486309677983e-04;
244             err = abs(r(i)-exact);
245             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
246             maxerr = max(maxerr,err);
247             n = 12;
248             l=-2;
249             r = g.rnlp(n,l);
250             i = 0;
251             exact = 8.81546224281108936e-05;
252             err = abs(r(i)-exact);
253             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
254             maxerr = max(maxerr,err);
255             n = 12;
256             l=-1;
257             r = g.rnlp(n,l);
258             i = 0;
259             exact = 8.81546224291617701e-05;
260             err = abs(r(i)-exact);
261             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
262             maxerr = max(maxerr,err);
263             n = 12;
264             l=0;
265             r = g.rnlp(n,l);
266             i = 0;
267             exact = 8.81546224291617701e-05;
268             err = abs(r(i)-exact);
269             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
270             maxerr = max(maxerr,err);
271             n = 12;
272             l=1;
273             r = g.rnlp(n,l);
274             i = 0;
275             exact = 8.81546224281108936e-05;
276             err = abs(r(i)-exact);
277             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
278             maxerr = max(maxerr,err);
279             n = 12;
280             l=2;
281             r = g.rnlp(n,l);
282             i = 0;
283             exact = 8.81546224260091135e-05;
284             err = abs(r(i)-exact);
285             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
286             maxerr = max(maxerr,err);
287             n = 16;
288             l=-2;
289             r = g.rnlp(n,l);
290             i = 0;
291             exact = 2.20386556073330313e-05;
292             err = abs(r(i)-exact);
293             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
294             maxerr = max(maxerr,err);
295             n = 16;
296             l=-1;
297             r = g.rnlp(n,l);
298             i = 0;
299             exact = 2.20386556073340579e-05;
300             err = abs(r(i)-exact);
301             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
302             maxerr = max(maxerr,err);
303             n = 16;
304             l=0;
305             r = g.rnlp(n,l);
306             i = 0;
307             exact = 2.20386556073340579e-05;
308             err = abs(r(i)-exact);
309             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
310             maxerr = max(maxerr,err);
311             n = 16;
312             l=1;
313             r = g.rnlp(n,l);
314             i = 0;
315             exact = 2.20386556073330313e-05;
316             err = abs(r(i)-exact);
317             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
318             maxerr = max(maxerr,err);
319             n = 16;
320             l=2;
321             r = g.rnlp(n,l);
322             i = 0;
323             exact = 2.20386556073309815e-05;
324             err = abs(r(i)-exact);
325             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
326             maxerr = max(maxerr,err);
327             n = 20;
328             l=-2;
329             r = g.rnlp(n,l);
330             i = 0;
331             exact = 5.50966390183355599e-06;
332             err = abs(r(i)-exact);
333             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
334             maxerr = max(maxerr,err);
335             n = 20;
336             l=-1;
337             r = g.rnlp(n,l);
338             i = 0;
339             exact = 5.50966390183355769e-06;
340             err = abs(r(i)-exact);
341             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
342             maxerr = max(maxerr,err);
343             n = 20;
344             l=0;
345             r = g.rnlp(n,l);
346             i = 0;
347             exact = 5.50966390183355769e-06;
348             err = abs(r(i)-exact);
349             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
350             maxerr = max(maxerr,err);
351             n = 20;
352             l=1;
353             r = g.rnlp(n,l);
354             i = 0;
355             exact = 5.50966390183355599e-06;
356             err = abs(r(i)-exact);
357             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
358             maxerr = max(maxerr,err);
359             n = 20;
360             l=2;
361             r = g.rnlp(n,l);
362             i = 0;
363             exact = 5.50966390183355430e-06;
364             err = abs(r(i)-exact);
365             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
366             maxerr = max(maxerr,err);
367         }
368         {
369             double a = 1e-2;
370             GaussianConvolution1D<double> g(8,sqrt(a/pi),a,0,false);
371             n = 0;
372             l=-2;
373             r = g.rnlp(n,l);
374             i = 0;
375             exact = 5.51198365960967815e-02;
376             err = abs(r(i)-exact);
377             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
378             maxerr = max(maxerr,err);
379             i = 3;
380             exact = -3.07636514759748877e-07;
381             err = abs(r(i)-exact);
382             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
383             maxerr = max(maxerr,err);
384             i = 6;
385             exact = -2.39004237222238520e-12;
386             err = abs(r(i)-exact);
387             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
388             maxerr = max(maxerr,err);
389             i = 9;
390             exact = 3.05711391835261338e-18;
391             err = abs(r(i)-exact);
392             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
393             maxerr = max(maxerr,err);
394             n = 0;
395             l=-1;
396             r = g.rnlp(n,l);
397             i = 0;
398             exact = 5.62314580091424487e-02;
399             err = abs(r(i)-exact);
400             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
401             maxerr = max(maxerr,err);
402             i = 3;
403             exact = -1.06031221284974586e-07;
404             err = abs(r(i)-exact);
405             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
406             maxerr = max(maxerr,err);
407             i = 6;
408             exact = -2.77004995102873103e-12;
409             err = abs(r(i)-exact);
410             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
411             maxerr = max(maxerr,err);
412             i = 9;
413             exact = 1.09765925398799329e-18;
414             err = abs(r(i)-exact);
415             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
416             maxerr = max(maxerr,err);
417             n = 0;
418             l=0;
419             r = g.rnlp(n,l);
420             i = 0;
421             exact = 5.62314580091424487e-02;
422             err = abs(r(i)-exact);
423             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
424             maxerr = max(maxerr,err);
425             i = 3;
426             exact = 1.06031221284974586e-07;
427             err = abs(r(i)-exact);
428             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
429             maxerr = max(maxerr,err);
430             i = 6;
431             exact = -2.77004995102873103e-12;
432             err = abs(r(i)-exact);
433             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
434             maxerr = max(maxerr,err);
435             i = 9;
436             exact = -1.09765925398799329e-18;
437             err = abs(r(i)-exact);
438             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
439             maxerr = max(maxerr,err);
440             n = 0;
441             l=1;
442             r = g.rnlp(n,l);
443             i = 0;
444             exact = 5.51198365960967815e-02;
445             err = abs(r(i)-exact);
446             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
447             maxerr = max(maxerr,err);
448             i = 3;
449             exact = 3.07636514759748877e-07;
450             err = abs(r(i)-exact);
451             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
452             maxerr = max(maxerr,err);
453             i = 6;
454             exact = -2.39004237222238520e-12;
455             err = abs(r(i)-exact);
456             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
457             maxerr = max(maxerr,err);
458             i = 9;
459             exact = -3.05711391835261338e-18;
460             err = abs(r(i)-exact);
461             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
462             maxerr = max(maxerr,err);
463             n = 0;
464             l=2;
465             r = g.rnlp(n,l);
466             i = 0;
467             exact = 5.29620851243244872e-02;
468             err = abs(r(i)-exact);
469             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
470             maxerr = max(maxerr,err);
471             i = 3;
472             exact = 4.79304691694024367e-07;
473             err = abs(r(i)-exact);
474             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
475             maxerr = max(maxerr,err);
476             i = 6;
477             exact = -1.69661200992196493e-12;
478             err = abs(r(i)-exact);
479             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
480             maxerr = max(maxerr,err);
481             i = 9;
482             exact = -4.36848047760689648e-18;
483             err = abs(r(i)-exact);
484             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
485             maxerr = max(maxerr,err);
486             n = 4;
487             l=-2;
488             r = g.rnlp(n,l);
489             i = 0;
490             exact = 1.41034540671661907e-02;
491             err = abs(r(i)-exact);
492             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
493             maxerr = max(maxerr,err);
494             i = 3;
495             exact = -1.22000442699401760e-12;
496             err = abs(r(i)-exact);
497             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
498             maxerr = max(maxerr,err);
499             i = 6;
500             exact = -4.20320972136612724e-20;
501             err = abs(r(i)-exact);
502             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
503             maxerr = max(maxerr,err);
504             n = 4;
505             l=-1;
506             r = g.rnlp(n,l);
507             i = 0;
508             exact = 1.41045559353827048e-02;
509             err = abs(r(i)-exact);
510             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
511             maxerr = max(maxerr,err);
512             i = 3;
513             exact = -4.06721097934550646e-13;
514             err = abs(r(i)-exact);
515             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
516             maxerr = max(maxerr,err);
517             i = 6;
518             exact = -4.20550942666829470e-20;
519             err = abs(r(i)-exact);
520             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
521             maxerr = max(maxerr,err);
522             n = 4;
523             l=0;
524             r = g.rnlp(n,l);
525             i = 0;
526             exact = 1.41045559353827048e-02;
527             err = abs(r(i)-exact);
528             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
529             maxerr = max(maxerr,err);
530             i = 3;
531             exact = 4.06721097934550646e-13;
532             err = abs(r(i)-exact);
533             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
534             maxerr = max(maxerr,err);
535             i = 6;
536             exact = -4.20550942666829470e-20;
537             err = abs(r(i)-exact);
538             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
539             maxerr = max(maxerr,err);
540             n = 4;
541             l=1;
542             r = g.rnlp(n,l);
543             i = 0;
544             exact = 1.41034540671661907e-02;
545             err = abs(r(i)-exact);
546             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
547             maxerr = max(maxerr,err);
548             i = 3;
549             exact = 1.22000442699401760e-12;
550             err = abs(r(i)-exact);
551             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
552             maxerr = max(maxerr,err);
553             i = 6;
554             exact = -4.20320972136612724e-20;
555             err = abs(r(i)-exact);
556             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
557             maxerr = max(maxerr,err);
558             n = 4;
559             l=2;
560             r = g.rnlp(n,l);
561             i = 0;
562             exact = 1.41012505889650305e-02;
563             err = abs(r(i)-exact);
564             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
565             maxerr = max(maxerr,err);
566             i = 3;
567             exact = 2.03281124249789191e-12;
568             err = abs(r(i)-exact);
569             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
570             maxerr = max(maxerr,err);
571             i = 6;
572             exact = -4.19861192757157094e-20;
573             err = abs(r(i)-exact);
574             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
575             maxerr = max(maxerr,err);
576             n = 8;
577             l=-2;
578             r = g.rnlp(n,l);
579             i = 0;
580             exact = 3.52618364171646210e-03;
581             err = abs(r(i)-exact);
582             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
583             maxerr = max(maxerr,err);
584             i = 3;
585             exact = -4.65465182972746039e-18;
586             err = abs(r(i)-exact);
587             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
588             maxerr = max(maxerr,err);
589             n = 8;
590             l=-1;
591             r = g.rnlp(n,l);
592             i = 0;
593             exact = 3.52618471782244636e-03;
594             err = abs(r(i)-exact);
595             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
596             maxerr = max(maxerr,err);
597             i = 3;
598             exact = -1.55155139906883680e-18;
599             err = abs(r(i)-exact);
600             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
601             maxerr = max(maxerr,err);
602             n = 8;
603             l=0;
604             r = g.rnlp(n,l);
605             i = 0;
606             exact = 3.52618471782244636e-03;
607             err = abs(r(i)-exact);
608             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
609             maxerr = max(maxerr,err);
610             i = 3;
611             exact = 1.55155139906883680e-18;
612             err = abs(r(i)-exact);
613             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
614             maxerr = max(maxerr,err);
615             n = 8;
616             l=1;
617             r = g.rnlp(n,l);
618             i = 0;
619             exact = 3.52618364171646210e-03;
620             err = abs(r(i)-exact);
621             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
622             maxerr = max(maxerr,err);
623             i = 3;
624             exact = 4.65465182972746039e-18;
625             err = abs(r(i)-exact);
626             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
627             maxerr = max(maxerr,err);
628             n = 8;
629             l=2;
630             r = g.rnlp(n,l);
631             i = 0;
632             exact = 3.52618148950547801e-03;
633             err = abs(r(i)-exact);
634             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
635             maxerr = max(maxerr,err);
636             i = 3;
637             exact = 7.75774515795399146e-18;
638             err = abs(r(i)-exact);
639             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
640             maxerr = max(maxerr,err);
641             n = 12;
642             l=-2;
643             r = g.rnlp(n,l);
644             i = 0;
645             exact = 8.81546223067336716e-04;
646             err = abs(r(i)-exact);
647             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
648             maxerr = max(maxerr,err);
649             n = 12;
650             l=-1;
651             r = g.rnlp(n,l);
652             i = 0;
653             exact = 8.81546224118221681e-04;
654             err = abs(r(i)-exact);
655             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
656             maxerr = max(maxerr,err);
657             n = 12;
658             l=0;
659             r = g.rnlp(n,l);
660             i = 0;
661             exact = 8.81546224118221681e-04;
662             err = abs(r(i)-exact);
663             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
664             maxerr = max(maxerr,err);
665             n = 12;
666             l=1;
667             r = g.rnlp(n,l);
668             i = 0;
669             exact = 8.81546223067336716e-04;
670             err = abs(r(i)-exact);
671             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
672             maxerr = max(maxerr,err);
673             n = 12;
674             l=2;
675             r = g.rnlp(n,l);
676             i = 0;
677             exact = 8.81546220965566786e-04;
678             err = abs(r(i)-exact);
679             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
680             maxerr = max(maxerr,err);
681             n = 16;
682             l=-2;
683             r = g.rnlp(n,l);
684             i = 0;
685             exact = 2.20386556072144996e-04;
686             err = abs(r(i)-exact);
687             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
688             maxerr = max(maxerr,err);
689             n = 16;
690             l=-1;
691             r = g.rnlp(n,l);
692             i = 0;
693             exact = 2.20386556073171247e-04;
694             err = abs(r(i)-exact);
695             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
696             maxerr = max(maxerr,err);
697             n = 16;
698             l=0;
699             r = g.rnlp(n,l);
700             i = 0;
701             exact = 2.20386556073171247e-04;
702             err = abs(r(i)-exact);
703             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
704             maxerr = max(maxerr,err);
705             n = 16;
706             l=1;
707             r = g.rnlp(n,l);
708             i = 0;
709             exact = 2.20386556072144996e-04;
710             err = abs(r(i)-exact);
711             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
712             maxerr = max(maxerr,err);
713             n = 16;
714             l=2;
715             r = g.rnlp(n,l);
716             i = 0;
717             exact = 2.20386556070092493e-04;
718             err = abs(r(i)-exact);
719             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
720             maxerr = max(maxerr,err);
721             n = 20;
722             l=-2;
723             r = g.rnlp(n,l);
724             i = 0;
725             exact = 5.50966390183344046e-05;
726             err = abs(r(i)-exact);
727             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
728             maxerr = max(maxerr,err);
729             n = 20;
730             l=-1;
731             r = g.rnlp(n,l);
732             i = 0;
733             exact = 5.50966390183354075e-05;
734             err = abs(r(i)-exact);
735             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
736             maxerr = max(maxerr,err);
737             n = 20;
738             l=0;
739             r = g.rnlp(n,l);
740             i = 0;
741             exact = 5.50966390183354075e-05;
742             err = abs(r(i)-exact);
743             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
744             maxerr = max(maxerr,err);
745             n = 20;
746             l=1;
747             r = g.rnlp(n,l);
748             i = 0;
749             exact = 5.50966390183344046e-05;
750             err = abs(r(i)-exact);
751             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
752             maxerr = max(maxerr,err);
753             n = 20;
754             l=2;
755             r = g.rnlp(n,l);
756             i = 0;
757             exact = 5.50966390183323988e-05;
758             err = abs(r(i)-exact);
759             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
760             maxerr = max(maxerr,err);
761         }
762         {
763             double a = 1e0;
764             GaussianConvolution1D<double> g(8,sqrt(a/pi),a,0,false);
765             n = 0;
766             l=-2;
767             r = g.rnlp(n,l);
768             i = 0;
769             exact = 7.63107360346189367e-02;
770             err = abs(r(i)-exact);
771             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
772             maxerr = max(maxerr,err);
773             i = 3;
774             exact = 1.39326380508023582e-03;
775             err = abs(r(i)-exact);
776             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
777             maxerr = max(maxerr,err);
778             i = 6;
779             exact = -3.96841677858563145e-06;
780             err = abs(r(i)-exact);
781             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
782             maxerr = max(maxerr,err);
783             i = 9;
784             exact = 8.75661865077648466e-10;
785             err = abs(r(i)-exact);
786             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
787             maxerr = max(maxerr,err);
788             i = 12;
789             exact = 8.82410737907618627e-12;
790             err = abs(r(i)-exact);
791             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
792             maxerr = max(maxerr,err);
793             i = 15;
794             exact = -1.30949951473492010e-14;
795             err = abs(r(i)-exact);
796             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
797             maxerr = max(maxerr,err);
798             n = 0;
799             l=-1;
800             r = g.rnlp(n,l);
801             i = 0;
802             exact = 4.21350396474857447e-01;
803             err = abs(r(i)-exact);
804             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
805             maxerr = max(maxerr,err);
806             i = 3;
807             exact = -6.17983307932157278e-03;
808             err = abs(r(i)-exact);
809             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
810             maxerr = max(maxerr,err);
811             i = 6;
812             exact = 4.43199670152667480e-06;
813             err = abs(r(i)-exact);
814             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
815             maxerr = max(maxerr,err);
816             i = 9;
817             exact = 3.35647464179302069e-08;
818             err = abs(r(i)-exact);
819             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
820             maxerr = max(maxerr,err);
821             i = 12;
822             exact = -3.57967506112678285e-11;
823             err = abs(r(i)-exact);
824             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
825             maxerr = max(maxerr,err);
826             i = 15;
827             exact = -1.36118274898628887e-14;
828             err = abs(r(i)-exact);
829             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
830             maxerr = max(maxerr,err);
831             n = 0;
832             l=0;
833             r = g.rnlp(n,l);
834             i = 0;
835             exact = 4.21350396474857447e-01;
836             err = abs(r(i)-exact);
837             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
838             maxerr = max(maxerr,err);
839             i = 3;
840             exact = 6.17983307932157278e-03;
841             err = abs(r(i)-exact);
842             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
843             maxerr = max(maxerr,err);
844             i = 6;
845             exact = 4.43199670152667480e-06;
846             err = abs(r(i)-exact);
847             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
848             maxerr = max(maxerr,err);
849             i = 9;
850             exact = -3.35647464179302069e-08;
851             err = abs(r(i)-exact);
852             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
853             maxerr = max(maxerr,err);
854             i = 12;
855             exact = -3.57967506112678285e-11;
856             err = abs(r(i)-exact);
857             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
858             maxerr = max(maxerr,err);
859             i = 15;
860             exact = 1.36118274898628887e-14;
861             err = abs(r(i)-exact);
862             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
863             maxerr = max(maxerr,err);
864             n = 0;
865             l=1;
866             r = g.rnlp(n,l);
867             i = 0;
868             exact = 7.63107360346189367e-02;
869             err = abs(r(i)-exact);
870             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
871             maxerr = max(maxerr,err);
872             i = 3;
873             exact = -1.39326380508023582e-03;
874             err = abs(r(i)-exact);
875             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
876             maxerr = max(maxerr,err);
877             i = 6;
878             exact = -3.96841677858563145e-06;
879             err = abs(r(i)-exact);
880             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
881             maxerr = max(maxerr,err);
882             i = 9;
883             exact = -8.75661865077648466e-10;
884             err = abs(r(i)-exact);
885             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
886             maxerr = max(maxerr,err);
887             i = 12;
888             exact = 8.82410737907618627e-12;
889             err = abs(r(i)-exact);
890             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
891             maxerr = max(maxerr,err);
892             i = 15;
893             exact = 1.30949951473492010e-14;
894             err = abs(r(i)-exact);
895             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
896             maxerr = max(maxerr,err);
897             n = 0;
898             l=2;
899             r = g.rnlp(n,l);
900             i = 0;
901             exact = 2.32782224202434003e-03;
902             err = abs(r(i)-exact);
903             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
904             maxerr = max(maxerr,err);
905             i = 3;
906             exact = -3.68552701680425695e-04;
907             err = abs(r(i)-exact);
908             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
909             maxerr = max(maxerr,err);
910             i = 6;
911             exact = 4.13775061144892418e-07;
912             err = abs(r(i)-exact);
913             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
914             maxerr = max(maxerr,err);
915             i = 9;
916             exact = 1.60042507022451686e-09;
917             err = abs(r(i)-exact);
918             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
919             maxerr = max(maxerr,err);
920             i = 12;
921             exact = 1.96088571198545215e-12;
922             err = abs(r(i)-exact);
923             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
924             maxerr = max(maxerr,err);
925             i = 15;
926             exact = 1.41367897661257123e-15;
927             err = abs(r(i)-exact);
928             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
929             maxerr = max(maxerr,err);
930             n = 4;
931             l=-2;
932             r = g.rnlp(n,l);
933             i = 0;
934             exact = 1.39768454157893490e-01;
935             err = abs(r(i)-exact);
936             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
937             maxerr = max(maxerr,err);
938             i = 3;
939             exact = -1.20177712692920616e-07;
940             err = abs(r(i)-exact);
941             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
942             maxerr = max(maxerr,err);
943             i = 6;
944             exact = -3.94868219678417840e-13;
945             err = abs(r(i)-exact);
946             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
947             maxerr = max(maxerr,err);
948             i = 9;
949             exact = 7.31566593570543275e-20;
950             err = abs(r(i)-exact);
951             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
952             maxerr = max(maxerr,err);
953             n = 4;
954             l=-1;
955             r = g.rnlp(n,l);
956             i = 0;
957             exact = 1.40863955444774147e-01;
958             err = abs(r(i)-exact);
959             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
960             maxerr = max(maxerr,err);
961             i = 3;
962             exact = -4.05848287082555859e-08;
963             err = abs(r(i)-exact);
964             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
965             maxerr = max(maxerr,err);
966             i = 6;
967             exact = -4.17520807696470182e-13;
968             err = abs(r(i)-exact);
969             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
970             maxerr = max(maxerr,err);
971             i = 9;
972             exact = 2.51168860115838423e-20;
973             err = abs(r(i)-exact);
974             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
975             maxerr = max(maxerr,err);
976             n = 4;
977             l=0;
978             r = g.rnlp(n,l);
979             i = 0;
980             exact = 1.40863955444774147e-01;
981             err = abs(r(i)-exact);
982             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
983             maxerr = max(maxerr,err);
984             i = 3;
985             exact = 4.05848287082555859e-08;
986             err = abs(r(i)-exact);
987             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
988             maxerr = max(maxerr,err);
989             i = 6;
990             exact = -4.17520807696470182e-13;
991             err = abs(r(i)-exact);
992             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
993             maxerr = max(maxerr,err);
994             i = 9;
995             exact = -2.51168860115838423e-20;
996             err = abs(r(i)-exact);
997             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
998             maxerr = max(maxerr,err);
999             n = 4;
1000             l=1;
1001             r = g.rnlp(n,l);
1002             i = 0;
1003             exact = 1.39768454157893490e-01;
1004             err = abs(r(i)-exact);
1005             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
1006             maxerr = max(maxerr,err);
1007             i = 3;
1008             exact = 1.20177712692920616e-07;
1009             err = abs(r(i)-exact);
1010             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
1011             maxerr = max(maxerr,err);
1012             i = 6;
1013             exact = -3.94868219678417840e-13;
1014             err = abs(r(i)-exact);
1015             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
1016             maxerr = max(maxerr,err);
1017             i = 9;
1018             exact = -7.32150795271814975e-20;
1019             err = abs(r(i)-exact);
1020             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
1021             maxerr = max(maxerr,err);
1022             n = 4;
1023             l=2;
1024             r = g.rnlp(n,l);
1025             i = 0;
1026             exact = 1.37602944516084069e-01;
1027             err = abs(r(i)-exact);
1028             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
1029             maxerr = max(maxerr,err);
1030             i = 3;
1031             exact = 1.95125817624941723e-07;
1032             err = abs(r(i)-exact);
1033             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
1034             maxerr = max(maxerr,err);
1035             i = 6;
1036             exact = -3.51139113424138104e-13;
1037             err = abs(r(i)-exact);
1038             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
1039             maxerr = max(maxerr,err);
1040             i = 9;
1041             exact = -1.15110485207894889e-19;
1042             err = abs(r(i)-exact);
1043             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
1044             maxerr = max(maxerr,err);
1045             n = 8;
1046             l=-2;
1047             r = g.rnlp(n,l);
1048             i = 0;
1049             exact = 3.52605935399162088e-02;
1050             err = abs(r(i)-exact);
1051             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
1052             maxerr = max(maxerr,err);
1053             i = 3;
1054             exact = -4.65437839301828836e-13;
1055             err = abs(r(i)-exact);
1056             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
1057             maxerr = max(maxerr,err);
1058             n = 8;
1059             l=-1;
1060             r = g.rnlp(n,l);
1061             i = 0;
1062             exact = 3.52616696215172984e-02;
1063             err = abs(r(i)-exact);
1064             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
1065             maxerr = max(maxerr,err);
1066             i = 3;
1067             exact = -1.55153837798979186e-13;
1068             err = abs(r(i)-exact);
1069             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
1070             maxerr = max(maxerr,err);
1071             n = 8;
1072             l=0;
1073             r = g.rnlp(n,l);
1074             i = 0;
1075             exact = 3.52616696215172984e-02;
1076             err = abs(r(i)-exact);
1077             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
1078             maxerr = max(maxerr,err);
1079             i = 3;
1080             exact = 1.55153837798979186e-13;
1081             err = abs(r(i)-exact);
1082             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
1083             maxerr = max(maxerr,err);
1084             n = 8;
1085             l=1;
1086             r = g.rnlp(n,l);
1087             i = 0;
1088             exact = 3.52605935399162088e-02;
1089             err = abs(r(i)-exact);
1090             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
1091             maxerr = max(maxerr,err);
1092             i = 3;
1093             exact = 4.65437839301828836e-13;
1094             err = abs(r(i)-exact);
1095             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
1096             maxerr = max(maxerr,err);
1097             n = 8;
1098             l=2;
1099             r = g.rnlp(n,l);
1100             i = 0;
1101             exact = 3.52584414752294961e-02;
1102             err = abs(r(i)-exact);
1103             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
1104             maxerr = max(maxerr,err);
1105             i = 3;
1106             exact = 7.75650823576525769e-13;
1107             err = abs(r(i)-exact);
1108             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
1109             maxerr = max(maxerr,err);
1110             n = 12;
1111             l=-2;
1112             r = g.rnlp(n,l);
1113             i = 0;
1114             exact = 8.81546101690129993e-03;
1115             err = abs(r(i)-exact);
1116             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
1117             maxerr = max(maxerr,err);
1118             i = 3;
1119             exact = -1.77560940279273474e-18;
1120             err = abs(r(i)-exact);
1121             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
1122             maxerr = max(maxerr,err);
1123             n = 12;
1124             l=-1;
1125             r = g.rnlp(n,l);
1126             i = 0;
1127             exact = 8.81546206778619640e-03;
1128             err = abs(r(i)-exact);
1129             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
1130             maxerr = max(maxerr,err);
1131             i = 3;
1132             exact = -5.91869918524889379e-19;
1133             err = abs(r(i)-exact);
1134             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
1135             maxerr = max(maxerr,err);
1136             n = 12;
1137             l=0;
1138             r = g.rnlp(n,l);
1139             i = 0;
1140             exact = 8.81546206778619640e-03;
1141             err = abs(r(i)-exact);
1142             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
1143             maxerr = max(maxerr,err);
1144             i = 3;
1145             exact = 5.91869918524889379e-19;
1146             err = abs(r(i)-exact);
1147             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
1148             maxerr = max(maxerr,err);
1149             n = 12;
1150             l=1;
1151             r = g.rnlp(n,l);
1152             i = 0;
1153             exact = 8.81546101690129993e-03;
1154             err = abs(r(i)-exact);
1155             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
1156             maxerr = max(maxerr,err);
1157             i = 3;
1158             exact = 1.77560940279273474e-18;
1159             err = abs(r(i)-exact);
1160             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
1161             maxerr = max(maxerr,err);
1162             n = 12;
1163             l=2;
1164             r = g.rnlp(n,l);
1165             i = 0;
1166             exact = 8.81545891513188171e-03;
1167             err = abs(r(i)-exact);
1168             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
1169             maxerr = max(maxerr,err);
1170             i = 3;
1171             exact = 2.95934782871507479e-18;
1172             err = abs(r(i)-exact);
1173             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
1174             maxerr = max(maxerr,err);
1175             n = 16;
1176             l=-2;
1177             r = g.rnlp(n,l);
1178             i = 0;
1179             exact = 2.20386555953612550e-03;
1180             err = abs(r(i)-exact);
1181             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
1182             maxerr = max(maxerr,err);
1183             n = 16;
1184             l=-1;
1185             r = g.rnlp(n,l);
1186             i = 0;
1187             exact = 2.20386556056238053e-03;
1188             err = abs(r(i)-exact);
1189             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
1190             maxerr = max(maxerr,err);
1191             n = 16;
1192             l=0;
1193             r = g.rnlp(n,l);
1194             i = 0;
1195             exact = 2.20386556056238053e-03;
1196             err = abs(r(i)-exact);
1197             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
1198             maxerr = max(maxerr,err);
1199             n = 16;
1200             l=1;
1201             r = g.rnlp(n,l);
1202             i = 0;
1203             exact = 2.20386555953612550e-03;
1204             err = abs(r(i)-exact);
1205             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
1206             maxerr = max(maxerr,err);
1207             n = 16;
1208             l=2;
1209             r = g.rnlp(n,l);
1210             i = 0;
1211             exact = 2.20386555748361586e-03;
1212             err = abs(r(i)-exact);
1213             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
1214             maxerr = max(maxerr,err);
1215             n = 20;
1216             l=-2;
1217             r = g.rnlp(n,l);
1218             i = 0;
1219             exact = 5.50966390182186538e-04;
1220             err = abs(r(i)-exact);
1221             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
1222             maxerr = max(maxerr,err);
1223             n = 20;
1224             l=-1;
1225             r = g.rnlp(n,l);
1226             i = 0;
1227             exact = 5.50966390183188666e-04;
1228             err = abs(r(i)-exact);
1229             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
1230             maxerr = max(maxerr,err);
1231             n = 20;
1232             l=0;
1233             r = g.rnlp(n,l);
1234             i = 0;
1235             exact = 5.50966390183188666e-04;
1236             err = abs(r(i)-exact);
1237             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
1238             maxerr = max(maxerr,err);
1239             n = 20;
1240             l=1;
1241             r = g.rnlp(n,l);
1242             i = 0;
1243             exact = 5.50966390182186538e-04;
1244             err = abs(r(i)-exact);
1245             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
1246             maxerr = max(maxerr,err);
1247             n = 20;
1248             l=2;
1249             r = g.rnlp(n,l);
1250             i = 0;
1251             exact = 5.50966390180182065e-04;
1252             err = abs(r(i)-exact);
1253             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
1254             maxerr = max(maxerr,err);
1255         }
1256         {
1257             double a = 1e2;
1258             GaussianConvolution1D<double> g(8,sqrt(a/pi),a,0,false);
1259             n = 0;
1260             l=-1;
1261             r = g.rnlp(n,l);
1262             i = 0;
1263             exact = 5.00000000000000000e-01;
1264             err = abs(r(i)-exact);
1265             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
1266             maxerr = max(maxerr,err);
1267             i = 3;
1268             exact = 6.10756752342258014e-01;
1269             err = abs(r(i)-exact);
1270             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
1271             maxerr = max(maxerr,err);
1272             i = 6;
1273             exact = -1.93454443422216120e-02;
1274             err = abs(r(i)-exact);
1275             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
1276             maxerr = max(maxerr,err);
1277             i = 9;
1278             exact = -6.74867032786444360e-02;
1279             err = abs(r(i)-exact);
1280             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
1281             maxerr = max(maxerr,err);
1282             i = 12;
1283             exact = 1.24739852592635793e-02;
1284             err = abs(r(i)-exact);
1285             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
1286             maxerr = max(maxerr,err);
1287             i = 15;
1288             exact = 1.43294933024935476e-03;
1289             err = abs(r(i)-exact);
1290             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
1291             maxerr = max(maxerr,err);
1292             n = 0;
1293             l=0;
1294             r = g.rnlp(n,l);
1295             i = 0;
1296             exact = 5.00000000000000000e-01;
1297             err = abs(r(i)-exact);
1298             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
1299             maxerr = max(maxerr,err);
1300             i = 3;
1301             exact = -6.10756752342258014e-01;
1302             err = abs(r(i)-exact);
1303             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
1304             maxerr = max(maxerr,err);
1305             i = 6;
1306             exact = -1.93454443422216120e-02;
1307             err = abs(r(i)-exact);
1308             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
1309             maxerr = max(maxerr,err);
1310             i = 9;
1311             exact = 6.74867032786444360e-02;
1312             err = abs(r(i)-exact);
1313             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
1314             maxerr = max(maxerr,err);
1315             i = 12;
1316             exact = 1.24739852592635793e-02;
1317             err = abs(r(i)-exact);
1318             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
1319             maxerr = max(maxerr,err);
1320             i = 15;
1321             exact = -1.43294933024935476e-03;
1322             err = abs(r(i)-exact);
1323             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
1324             maxerr = max(maxerr,err);
1325             n = 4;
1326             l=-2;
1327             r = g.rnlp(n,l);
1328             i = 0;
1329             exact = 5.99318492136080461e-01;
1330             err = abs(r(i)-exact);
1331             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
1332             maxerr = max(maxerr,err);
1333             i = 3;
1334             exact = -2.08696368094917623e-03;
1335             err = abs(r(i)-exact);
1336             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
1337             maxerr = max(maxerr,err);
1338             i = 6;
1339             exact = 2.60447168323340892e-06;
1340             err = abs(r(i)-exact);
1341             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
1342             maxerr = max(maxerr,err);
1343             i = 9;
1344             exact = -9.04034504985510627e-10;
1345             err = abs(r(i)-exact);
1346             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
1347             maxerr = max(maxerr,err);
1348             i = 12;
1349             exact = -2.14998633928712021e-14;
1350             err = abs(r(i)-exact);
1351             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
1352             maxerr = max(maxerr,err);
1353             i = 15;
1354             exact = 5.58835531816329497e-17;
1355             err = abs(r(i)-exact);
1356             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
1357             maxerr = max(maxerr,err);
1358             n = 4;
1359             l=-1;
1360             r = g.rnlp(n,l);
1361             i = 0;
1362             exact = 1.24648176437683600e+00;
1363             err = abs(r(i)-exact);
1364             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
1365             maxerr = max(maxerr,err);
1366             i = 3;
1367             exact = -3.27908149234218621e-03;
1368             err = abs(r(i)-exact);
1369             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
1370             maxerr = max(maxerr,err);
1371             i = 6;
1372             exact = -1.67276950422990212e-06;
1373             err = abs(r(i)-exact);
1374             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
1375             maxerr = max(maxerr,err);
1376             i = 9;
1377             exact = 1.64624909472826329e-09;
1378             err = abs(r(i)-exact);
1379             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
1380             maxerr = max(maxerr,err);
1381             i = 12;
1382             exact = 6.70688497777513430e-15;
1383             err = abs(r(i)-exact);
1384             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
1385             maxerr = max(maxerr,err);
1386             i = 15;
1387             exact = -9.05569878193988709e-17;
1388             err = abs(r(i)-exact);
1389             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
1390             maxerr = max(maxerr,err);
1391             n = 4;
1392             l=0;
1393             r = g.rnlp(n,l);
1394             i = 0;
1395             exact = 1.24648176437683600e+00;
1396             err = abs(r(i)-exact);
1397             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
1398             maxerr = max(maxerr,err);
1399             i = 3;
1400             exact = 3.27908149234218621e-03;
1401             err = abs(r(i)-exact);
1402             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
1403             maxerr = max(maxerr,err);
1404             i = 6;
1405             exact = -1.67276950422990212e-06;
1406             err = abs(r(i)-exact);
1407             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
1408             maxerr = max(maxerr,err);
1409             i = 9;
1410             exact = -1.64624909472826329e-09;
1411             err = abs(r(i)-exact);
1412             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
1413             maxerr = max(maxerr,err);
1414             i = 12;
1415             exact = 6.70688497777513430e-15;
1416             err = abs(r(i)-exact);
1417             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
1418             maxerr = max(maxerr,err);
1419             i = 15;
1420             exact = 9.05569878193988709e-17;
1421             err = abs(r(i)-exact);
1422             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
1423             maxerr = max(maxerr,err);
1424             n = 4;
1425             l=1;
1426             r = g.rnlp(n,l);
1427             i = 0;
1428             exact = 5.99318492136080461e-01;
1429             err = abs(r(i)-exact);
1430             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
1431             maxerr = max(maxerr,err);
1432             i = 3;
1433             exact = 2.08696368094917623e-03;
1434             err = abs(r(i)-exact);
1435             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
1436             maxerr = max(maxerr,err);
1437             i = 6;
1438             exact = 2.60447168323340892e-06;
1439             err = abs(r(i)-exact);
1440             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
1441             maxerr = max(maxerr,err);
1442             i = 9;
1443             exact = 9.04034504985510627e-10;
1444             err = abs(r(i)-exact);
1445             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
1446             maxerr = max(maxerr,err);
1447             i = 12;
1448             exact = -2.14998633928712021e-14;
1449             err = abs(r(i)-exact);
1450             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
1451             maxerr = max(maxerr,err);
1452             i = 15;
1453             exact = -5.58835531816329497e-17;
1454             err = abs(r(i)-exact);
1455             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
1456             maxerr = max(maxerr,err);
1457             n = 4;
1458             l=2;
1459             r = g.rnlp(n,l);
1460             i = 0;
1461             exact = 1.38179858827323476e-01;
1462             err = abs(r(i)-exact);
1463             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
1464             maxerr = max(maxerr,err);
1465             i = 3;
1466             exact = -1.04763936483394230e-03;
1467             err = abs(r(i)-exact);
1468             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
1469             maxerr = max(maxerr,err);
1470             i = 6;
1471             exact = -8.32772220224538394e-07;
1472             err = abs(r(i)-exact);
1473             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
1474             maxerr = max(maxerr,err);
1475             i = 9;
1476             exact = -1.89437614141419528e-10;
1477             err = abs(r(i)-exact);
1478             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
1479             maxerr = max(maxerr,err);
1480             i = 12;
1481             exact = 2.88769508210870525e-14;
1482             err = abs(r(i)-exact);
1483             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
1484             maxerr = max(maxerr,err);
1485             i = 15;
1486             exact = 2.21803339122174113e-17;
1487             err = abs(r(i)-exact);
1488             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
1489             maxerr = max(maxerr,err);
1490             n = 8;
1491             l=-2;
1492             r = g.rnlp(n,l);
1493             i = 0;
1494             exact = 3.51365573776570017e-01;
1495             err = abs(r(i)-exact);
1496             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
1497             maxerr = max(maxerr,err);
1498             i = 3;
1499             exact = -4.62710590578847031e-08;
1500             err = abs(r(i)-exact);
1501             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
1502             maxerr = max(maxerr,err);
1503             i = 6;
1504             exact = -6.11623077961541036e-14;
1505             err = abs(r(i)-exact);
1506             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
1507             maxerr = max(maxerr,err);
1508             n = 8;
1509             l=-1;
1510             r = g.rnlp(n,l);
1511             i = 0;
1512             exact = 3.52439220749447890e-01;
1513             err = abs(r(i)-exact);
1514             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
1515             maxerr = max(maxerr,err);
1516             i = 3;
1517             exact = -1.55023685987324124e-08;
1518             err = abs(r(i)-exact);
1519             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
1520             maxerr = max(maxerr,err);
1521             i = 6;
1522             exact = -6.24931708968097842e-14;
1523             err = abs(r(i)-exact);
1524             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
1525             maxerr = max(maxerr,err);
1526             n = 8;
1527             l=0;
1528             r = g.rnlp(n,l);
1529             i = 0;
1530             exact = 3.52439220749447890e-01;
1531             err = abs(r(i)-exact);
1532             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
1533             maxerr = max(maxerr,err);
1534             i = 3;
1535             exact = 1.55023685987324124e-08;
1536             err = abs(r(i)-exact);
1537             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
1538             maxerr = max(maxerr,err);
1539             i = 6;
1540             exact = -6.24931708968097842e-14;
1541             err = abs(r(i)-exact);
1542             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
1543             maxerr = max(maxerr,err);
1544             n = 8;
1545             l=1;
1546             r = g.rnlp(n,l);
1547             i = 0;
1548             exact = 3.51365573776570017e-01;
1549             err = abs(r(i)-exact);
1550             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
1551             maxerr = max(maxerr,err);
1552             i = 3;
1553             exact = 4.62710590578847031e-08;
1554             err = abs(r(i)-exact);
1555             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
1556             maxerr = max(maxerr,err);
1557             i = 6;
1558             exact = -6.11623077961541036e-14;
1559             err = abs(r(i)-exact);
1560             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
1561             maxerr = max(maxerr,err);
1562             n = 8;
1563             l=2;
1564             r = g.rnlp(n,l);
1565             i = 0;
1566             exact = 3.49228081923241285e-01;
1567             err = abs(r(i)-exact);
1568             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
1569             maxerr = max(maxerr,err);
1570             i = 3;
1571             exact = 7.63366360227468385e-08;
1572             err = abs(r(i)-exact);
1573             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
1574             maxerr = max(maxerr,err);
1575             i = 6;
1576             exact = -5.85369846273186721e-14;
1577             err = abs(r(i)-exact);
1578             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
1579             maxerr = max(maxerr,err);
1580             n = 12;
1581             l=-2;
1582             r = g.rnlp(n,l);
1583             i = 0;
1584             exact = 8.81533964065561448e-02;
1585             err = abs(r(i)-exact);
1586             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
1587             maxerr = max(maxerr,err);
1588             i = 3;
1589             exact = -1.77556865689395017e-13;
1590             err = abs(r(i)-exact);
1591             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
1592             maxerr = max(maxerr,err);
1593             n = 12;
1594             l=-1;
1595             r = g.rnlp(n,l);
1596             i = 0;
1597             exact = 8.81544472821516045e-02;
1598             err = abs(r(i)-exact);
1599             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
1600             maxerr = max(maxerr,err);
1601             i = 3;
1602             exact = -5.91867978227500295e-14;
1603             err = abs(r(i)-exact);
1604             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
1605             maxerr = max(maxerr,err);
1606             n = 12;
1607             l=0;
1608             r = g.rnlp(n,l);
1609             i = 0;
1610             exact = 8.81544472821516045e-02;
1611             err = abs(r(i)-exact);
1612             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
1613             maxerr = max(maxerr,err);
1614             i = 3;
1615             exact = 5.91867978227500295e-14;
1616             err = abs(r(i)-exact);
1617             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
1618             maxerr = max(maxerr,err);
1619             n = 12;
1620             l=1;
1621             r = g.rnlp(n,l);
1622             i = 0;
1623             exact = 8.81533964065561448e-02;
1624             err = abs(r(i)-exact);
1625             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
1626             maxerr = max(maxerr,err);
1627             i = 3;
1628             exact = 1.77556865689395017e-13;
1629             err = abs(r(i)-exact);
1630             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
1631             maxerr = max(maxerr,err);
1632             n = 12;
1633             l=2;
1634             r = g.rnlp(n,l);
1635             i = 0;
1636             exact = 8.81512946929470659e-02;
1637             err = abs(r(i)-exact);
1638             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
1639             maxerr = max(maxerr,err);
1640             i = 3;
1641             exact = 2.95916350513851956e-13;
1642             err = abs(r(i)-exact);
1643             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
1644             maxerr = max(maxerr,err);
1645             n = 16;
1646             l=-2;
1647             r = g.rnlp(n,l);
1648             i = 0;
1649             exact = 2.20386544100369154e-02;
1650             err = abs(r(i)-exact);
1651             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
1652             maxerr = max(maxerr,err);
1653             i = 3;
1654             exact = -6.77341329040006257e-19;
1655             err = abs(r(i)-exact);
1656             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
1657             maxerr = max(maxerr,err);
1658             n = 16;
1659             l=-1;
1660             r = g.rnlp(n,l);
1661             i = 0;
1662             exact = 2.20386554362917535e-02;
1663             err = abs(r(i)-exact);
1664             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
1665             maxerr = max(maxerr,err);
1666             i = 3;
1667             exact = -2.25780460536204789e-19;
1668             err = abs(r(i)-exact);
1669             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
1670             maxerr = max(maxerr,err);
1671             n = 16;
1672             l=0;
1673             r = g.rnlp(n,l);
1674             i = 0;
1675             exact = 2.20386554362917535e-02;
1676             err = abs(r(i)-exact);
1677             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
1678             maxerr = max(maxerr,err);
1679             i = 3;
1680             exact = 2.25780460536204789e-19;
1681             err = abs(r(i)-exact);
1682             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
1683             maxerr = max(maxerr,err);
1684             n = 16;
1685             l=1;
1686             r = g.rnlp(n,l);
1687             i = 0;
1688             exact = 2.20386544100369154e-02;
1689             err = abs(r(i)-exact);
1690             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
1691             maxerr = max(maxerr,err);
1692             i = 3;
1693             exact = 6.77341329040006257e-19;
1694             err = abs(r(i)-exact);
1695             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
1696             maxerr = max(maxerr,err);
1697             n = 16;
1698             l=2;
1699             r = g.rnlp(n,l);
1700             i = 0;
1701             exact = 2.20386523575273816e-02;
1702             err = abs(r(i)-exact);
1703             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
1704             maxerr = max(maxerr,err);
1705             i = 3;
1706             exact = 1.12890203983799996e-18;
1707             err = abs(r(i)-exact);
1708             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
1709             maxerr = max(maxerr,err);
1710             n = 20;
1711             l=-2;
1712             r = g.rnlp(n,l);
1713             i = 0;
1714             exact = 5.50966390066432148e-03;
1715             err = abs(r(i)-exact);
1716             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
1717             maxerr = max(maxerr,err);
1718             n = 20;
1719             l=-1;
1720             r = g.rnlp(n,l);
1721             i = 0;
1722             exact = 5.50966390166652414e-03;
1723             err = abs(r(i)-exact);
1724             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
1725             maxerr = max(maxerr,err);
1726             n = 20;
1727             l=0;
1728             r = g.rnlp(n,l);
1729             i = 0;
1730             exact = 5.50966390166652414e-03;
1731             err = abs(r(i)-exact);
1732             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
1733             maxerr = max(maxerr,err);
1734             n = 20;
1735             l=1;
1736             r = g.rnlp(n,l);
1737             i = 0;
1738             exact = 5.50966390066432148e-03;
1739             err = abs(r(i)-exact);
1740             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
1741             maxerr = max(maxerr,err);
1742             n = 20;
1743             l=2;
1744             r = g.rnlp(n,l);
1745             i = 0;
1746             exact = 5.50966389865991790e-03;
1747             err = abs(r(i)-exact);
1748             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
1749             maxerr = max(maxerr,err);
1750         }
1751         {
1752             double a = 1e4;
1753             GaussianConvolution1D<double> g(8,sqrt(a/pi),a,0,false);
1754             n = 0;
1755             l=-1;
1756             r = g.rnlp(n,l);
1757             i = 0;
1758             exact = 5.00000000000000000e-01;
1759             err = abs(r(i)-exact);
1760             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
1761             maxerr = max(maxerr,err);
1762             i = 3;
1763             exact = 1.23528272214066237e+00;
1764             err = abs(r(i)-exact);
1765             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
1766             maxerr = max(maxerr,err);
1767             i = 6;
1768             exact = 1.41178217654244809e+00;
1769             err = abs(r(i)-exact);
1770             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
1771             maxerr = max(maxerr,err);
1772             i = 9;
1773             exact = 1.26724337383508057e+00;
1774             err = abs(r(i)-exact);
1775             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
1776             maxerr = max(maxerr,err);
1777             i = 12;
1778             exact = 9.24808666820860048e-01;
1779             err = abs(r(i)-exact);
1780             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
1781             maxerr = max(maxerr,err);
1782             i = 15;
1783             exact = 5.16058662037806704e-01;
1784             err = abs(r(i)-exact);
1785             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
1786             maxerr = max(maxerr,err);
1787             n = 0;
1788             l=0;
1789             r = g.rnlp(n,l);
1790             i = 0;
1791             exact = 5.00000000000000000e-01;
1792             err = abs(r(i)-exact);
1793             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
1794             maxerr = max(maxerr,err);
1795             i = 3;
1796             exact = -1.23528272214066237e+00;
1797             err = abs(r(i)-exact);
1798             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
1799             maxerr = max(maxerr,err);
1800             i = 6;
1801             exact = 1.41178217654244809e+00;
1802             err = abs(r(i)-exact);
1803             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
1804             maxerr = max(maxerr,err);
1805             i = 9;
1806             exact = -1.26724337383508057e+00;
1807             err = abs(r(i)-exact);
1808             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
1809             maxerr = max(maxerr,err);
1810             i = 12;
1811             exact = 9.24808666820860048e-01;
1812             err = abs(r(i)-exact);
1813             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
1814             maxerr = max(maxerr,err);
1815             i = 15;
1816             exact = -5.16058662037806704e-01;
1817             err = abs(r(i)-exact);
1818             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
1819             maxerr = max(maxerr,err);
1820             n = 4;
1821             l=-2;
1822             r = g.rnlp(n,l);
1823             i = 0;
1824             exact = 1.93406055705484376e-18;
1825             err = abs(r(i)-exact);
1826             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
1827             maxerr = max(maxerr,err);
1828             i = 3;
1829             exact = 4.39497184635340733e-18;
1830             err = abs(r(i)-exact);
1831             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
1832             maxerr = max(maxerr,err);
1833             i = 6;
1834             exact = 4.08935561473207502e-18;
1835             err = abs(r(i)-exact);
1836             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
1837             maxerr = max(maxerr,err);
1838             i = 9;
1839             exact = 2.66300430413872028e-18;
1840             err = abs(r(i)-exact);
1841             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
1842             maxerr = max(maxerr,err);
1843             i = 12;
1844             exact = 1.33508873895376489e-18;
1845             err = abs(r(i)-exact);
1846             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
1847             maxerr = max(maxerr,err);
1848             i = 15;
1849             exact = 5.08640731141814058e-19;
1850             err = abs(r(i)-exact);
1851             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
1852             maxerr = max(maxerr,err);
1853             n = 4;
1854             l=-1;
1855             r = g.rnlp(n,l);
1856             i = 0;
1857             exact = 2.00000000000000000e+00;
1858             err = abs(r(i)-exact);
1859             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
1860             maxerr = max(maxerr,err);
1861             i = 3;
1862             exact = 1.34688631911635626e+00;
1863             err = abs(r(i)-exact);
1864             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
1865             maxerr = max(maxerr,err);
1866             i = 6;
1867             exact = -3.48488099568184218e-01;
1868             err = abs(r(i)-exact);
1869             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
1870             maxerr = max(maxerr,err);
1871             i = 9;
1872             exact = 2.62343309407099060e-02;
1873             err = abs(r(i)-exact);
1874             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
1875             maxerr = max(maxerr,err);
1876             i = 12;
1877             exact = 1.42392358397174803e-03;
1878             err = abs(r(i)-exact);
1879             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
1880             maxerr = max(maxerr,err);
1881             i = 15;
1882             exact = -5.74390741499019122e-04;
1883             err = abs(r(i)-exact);
1884             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
1885             maxerr = max(maxerr,err);
1886             n = 4;
1887             l=0;
1888             r = g.rnlp(n,l);
1889             i = 0;
1890             exact = 2.00000000000000000e+00;
1891             err = abs(r(i)-exact);
1892             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
1893             maxerr = max(maxerr,err);
1894             i = 3;
1895             exact = -1.34688631911635626e+00;
1896             err = abs(r(i)-exact);
1897             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
1898             maxerr = max(maxerr,err);
1899             i = 6;
1900             exact = -3.48488099568184218e-01;
1901             err = abs(r(i)-exact);
1902             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
1903             maxerr = max(maxerr,err);
1904             i = 9;
1905             exact = -2.62343309407099060e-02;
1906             err = abs(r(i)-exact);
1907             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
1908             maxerr = max(maxerr,err);
1909             i = 12;
1910             exact = 1.42392358397174803e-03;
1911             err = abs(r(i)-exact);
1912             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
1913             maxerr = max(maxerr,err);
1914             i = 15;
1915             exact = 5.74390741499019122e-04;
1916             err = abs(r(i)-exact);
1917             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
1918             maxerr = max(maxerr,err);
1919             n = 4;
1920             l=1;
1921             r = g.rnlp(n,l);
1922             i = 0;
1923             exact = 1.93406055705484376e-18;
1924             err = abs(r(i)-exact);
1925             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
1926             maxerr = max(maxerr,err);
1927             i = 3;
1928             exact = -4.39497184635340733e-18;
1929             err = abs(r(i)-exact);
1930             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
1931             maxerr = max(maxerr,err);
1932             i = 6;
1933             exact = 4.08935561473207502e-18;
1934             err = abs(r(i)-exact);
1935             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
1936             maxerr = max(maxerr,err);
1937             i = 9;
1938             exact = -2.66300430413872028e-18;
1939             err = abs(r(i)-exact);
1940             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
1941             maxerr = max(maxerr,err);
1942             i = 12;
1943             exact = 1.33508873895567407e-18;
1944             err = abs(r(i)-exact);
1945             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
1946             maxerr = max(maxerr,err);
1947             i = 15;
1948             exact = -5.08640731150656195e-19;
1949             err = abs(r(i)-exact);
1950             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
1951             maxerr = max(maxerr,err);
1952             n = 8;
1953             l=-2;
1954             r = g.rnlp(n,l);
1955             i = 0;
1956             exact = 2.49146408254436480e+00;
1957             err = abs(r(i)-exact);
1958             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
1959             maxerr = max(maxerr,err);
1960             i = 3;
1961             exact = -2.50647102869495280e-03;
1962             err = abs(r(i)-exact);
1963             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
1964             maxerr = max(maxerr,err);
1965             i = 6;
1966             exact = 2.64278820712894470e-07;
1967             err = abs(r(i)-exact);
1968             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
1969             maxerr = max(maxerr,err);
1970             i = 9;
1971             exact = 3.15088994971621284e-11;
1972             err = abs(r(i)-exact);
1973             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
1974             maxerr = max(maxerr,err);
1975             i = 12;
1976             exact = -3.70274884997262088e-15;
1977             err = abs(r(i)-exact);
1978             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
1979             maxerr = max(maxerr,err);
1980             i = 15;
1981             exact = 2.02622223000723244e-20;
1982             err = abs(r(i)-exact);
1983             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
1984             maxerr = max(maxerr,err);
1985             n = 8;
1986             l=-1;
1987             r = g.rnlp(n,l);
1988             i = 0;
1989             exact = 3.35475425674241334e+00;
1990             err = abs(r(i)-exact);
1991             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
1992             maxerr = max(maxerr,err);
1993             i = 3;
1994             exact = -1.42579697710634181e-03;
1995             err = abs(r(i)-exact);
1996             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
1997             maxerr = max(maxerr,err);
1998             i = 6;
1999             exact = -4.61160183056987646e-07;
2000             err = abs(r(i)-exact);
2001             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
2002             maxerr = max(maxerr,err);
2003             i = 9;
2004             exact = 4.87550411609523399e-11;
2005             err = abs(r(i)-exact);
2006             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
2007             maxerr = max(maxerr,err);
2008             i = 12;
2009             exact = 2.47120513789010578e-15;
2010             err = abs(r(i)-exact);
2011             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
2012             maxerr = max(maxerr,err);
2013             i = 15;
2014             exact = -1.86594916521298455e-19;
2015             err = abs(r(i)-exact);
2016             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
2017             maxerr = max(maxerr,err);
2018             n = 8;
2019             l=0;
2020             r = g.rnlp(n,l);
2021             i = 0;
2022             exact = 3.35475425674241334e+00;
2023             err = abs(r(i)-exact);
2024             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
2025             maxerr = max(maxerr,err);
2026             i = 3;
2027             exact = 1.42579697710634181e-03;
2028             err = abs(r(i)-exact);
2029             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
2030             maxerr = max(maxerr,err);
2031             i = 6;
2032             exact = -4.61160183056987646e-07;
2033             err = abs(r(i)-exact);
2034             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
2035             maxerr = max(maxerr,err);
2036             i = 9;
2037             exact = -4.87550411609523399e-11;
2038             err = abs(r(i)-exact);
2039             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
2040             maxerr = max(maxerr,err);
2041             i = 12;
2042             exact = 2.47120513789010578e-15;
2043             err = abs(r(i)-exact);
2044             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
2045             maxerr = max(maxerr,err);
2046             i = 15;
2047             exact = 1.86594916521298455e-19;
2048             err = abs(r(i)-exact);
2049             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
2050             maxerr = max(maxerr,err);
2051             n = 8;
2052             l=1;
2053             r = g.rnlp(n,l);
2054             i = 0;
2055             exact = 2.49146408254436480e+00;
2056             err = abs(r(i)-exact);
2057             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
2058             maxerr = max(maxerr,err);
2059             i = 3;
2060             exact = 2.50647102869495280e-03;
2061             err = abs(r(i)-exact);
2062             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
2063             maxerr = max(maxerr,err);
2064             i = 6;
2065             exact = 2.64278820712894470e-07;
2066             err = abs(r(i)-exact);
2067             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
2068             maxerr = max(maxerr,err);
2069             i = 9;
2070             exact = -3.15088994971621284e-11;
2071             err = abs(r(i)-exact);
2072             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
2073             maxerr = max(maxerr,err);
2074             i = 12;
2075             exact = -3.70274884997262088e-15;
2076             err = abs(r(i)-exact);
2077             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
2078             maxerr = max(maxerr,err);
2079             i = 15;
2080             exact = -2.02622223000727306e-20;
2081             err = abs(r(i)-exact);
2082             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
2083             maxerr = max(maxerr,err);
2084             n = 8;
2085             l=2;
2086             r = g.rnlp(n,l);
2087             i = 0;
2088             exact = 1.37408108427214515e+00;
2089             err = abs(r(i)-exact);
2090             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
2091             maxerr = max(maxerr,err);
2092             i = 3;
2093             exact = 1.09038475936154631e-03;
2094             err = abs(r(i)-exact);
2095             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
2096             maxerr = max(maxerr,err);
2097             i = 6;
2098             exact = 3.68884880267772498e-07;
2099             err = abs(r(i)-exact);
2100             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
2101             maxerr = max(maxerr,err);
2102             i = 9;
2103             exact = 3.66150600926587787e-11;
2104             err = abs(r(i)-exact);
2105             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
2106             maxerr = max(maxerr,err);
2107             i = 12;
2108             exact = 3.77722151485774017e-16;
2109             err = abs(r(i)-exact);
2110             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
2111             maxerr = max(maxerr,err);
2112             i = 15;
2113             exact = -1.03592207658699442e-19;
2114             err = abs(r(i)-exact);
2115             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
2116             maxerr = max(maxerr,err);
2117             n = 12;
2118             l=-2;
2119             r = g.rnlp(n,l);
2120             i = 0;
2121             exact = 8.80321162122826961e-01;
2122             err = abs(r(i)-exact);
2123             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
2124             maxerr = max(maxerr,err);
2125             i = 3;
2126             exact = -1.77149821469458344e-08;
2127             err = abs(r(i)-exact);
2128             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
2129             maxerr = max(maxerr,err);
2130             i = 6;
2131             exact = -9.25065232468101948e-15;
2132             err = abs(r(i)-exact);
2133             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
2134             maxerr = max(maxerr,err);
2135             n = 12;
2136             l=-1;
2137             r = g.rnlp(n,l);
2138             i = 0;
2139             exact = 8.81371108109231360e-01;
2140             err = abs(r(i)-exact);
2141             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
2142             maxerr = max(maxerr,err);
2143             i = 3;
2144             exact = -5.91673982825609260e-09;
2145             err = abs(r(i)-exact);
2146             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
2147             maxerr = max(maxerr,err);
2148             i = 6;
2149             exact = -9.32840028258958169e-15;
2150             err = abs(r(i)-exact);
2151             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
2152             maxerr = max(maxerr,err);
2153             n = 12;
2154             l=0;
2155             r = g.rnlp(n,l);
2156             i = 0;
2157             exact = 8.81371108109231360e-01;
2158             err = abs(r(i)-exact);
2159             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
2160             maxerr = max(maxerr,err);
2161             i = 3;
2162             exact = 5.91673982825609260e-09;
2163             err = abs(r(i)-exact);
2164             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
2165             maxerr = max(maxerr,err);
2166             i = 6;
2167             exact = -9.32840028258958169e-15;
2168             err = abs(r(i)-exact);
2169             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
2170             maxerr = max(maxerr,err);
2171             n = 12;
2172             l=1;
2173             r = g.rnlp(n,l);
2174             i = 0;
2175             exact = 8.80321162122826961e-01;
2176             err = abs(r(i)-exact);
2177             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
2178             maxerr = max(maxerr,err);
2179             i = 3;
2180             exact = 1.77149821469458344e-08;
2181             err = abs(r(i)-exact);
2182             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
2183             maxerr = max(maxerr,err);
2184             i = 6;
2185             exact = -9.25065232468101948e-15;
2186             err = abs(r(i)-exact);
2187             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
2188             maxerr = max(maxerr,err);
2189             n = 12;
2190             l=2;
2191             r = g.rnlp(n,l);
2192             i = 0;
2193             exact = 8.78225020949705004e-01;
2194             err = abs(r(i)-exact);
2195             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
2196             maxerr = max(maxerr,err);
2197             i = 3;
2198             exact = 2.94078061354701635e-08;
2199             err = abs(r(i)-exact);
2200             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
2201             maxerr = max(maxerr,err);
2202             i = 6;
2203             exact = -9.09598921287351880e-15;
2204             err = abs(r(i)-exact);
2205             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
2206             maxerr = max(maxerr,err);
2207             n = 16;
2208             l=-2;
2209             r = g.rnlp(n,l);
2210             i = 0;
2211             exact = 2.20385358779692841e-01;
2212             err = abs(r(i)-exact);
2213             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
2214             maxerr = max(maxerr,err);
2215             i = 3;
2216             exact = -6.77335257389880792e-14;
2217             err = abs(r(i)-exact);
2218             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
2219             maxerr = max(maxerr,err);
2220             n = 16;
2221             l=-1;
2222             r = g.rnlp(n,l);
2223             i = 0;
2224             exact = 2.20386385030982762e-01;
2225             err = abs(r(i)-exact);
2226             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
2227             maxerr = max(maxerr,err);
2228             i = 3;
2229             exact = -2.25780171409048271e-14;
2230             err = abs(r(i)-exact);
2231             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
2232             maxerr = max(maxerr,err);
2233             n = 16;
2234             l=0;
2235             r = g.rnlp(n,l);
2236             i = 0;
2237             exact = 2.20386385030982762e-01;
2238             err = abs(r(i)-exact);
2239             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
2240             maxerr = max(maxerr,err);
2241             i = 3;
2242             exact = 2.25780171409048271e-14;
2243             err = abs(r(i)-exact);
2244             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
2245             maxerr = max(maxerr,err);
2246             n = 16;
2247             l=1;
2248             r = g.rnlp(n,l);
2249             i = 0;
2250             exact = 2.20385358779692841e-01;
2251             err = abs(r(i)-exact);
2252             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
2253             maxerr = max(maxerr,err);
2254             i = 3;
2255             exact = 6.77335257389880792e-14;
2256             err = abs(r(i)-exact);
2257             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
2258             maxerr = max(maxerr,err);
2259             n = 16;
2260             l=2;
2261             r = g.rnlp(n,l);
2262             i = 0;
2263             exact = 2.20383306291449504e-01;
2264             err = abs(r(i)-exact);
2265             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
2266             maxerr = max(maxerr,err);
2267             i = 3;
2268             exact = 1.12887457303027408e-13;
2269             err = abs(r(i)-exact);
2270             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
2271             maxerr = max(maxerr,err);
2272             n = 20;
2273             l=-2;
2274             r = g.rnlp(n,l);
2275             i = 0;
2276             exact = 5.50966378490998915e-02;
2277             err = abs(r(i)-exact);
2278             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
2279             maxerr = max(maxerr,err);
2280             i = 3;
2281             exact = -2.58385225835037511e-19;
2282             err = abs(r(i)-exact);
2283             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
2284             maxerr = max(maxerr,err);
2285             n = 20;
2286             l=-1;
2287             r = g.rnlp(n,l);
2288             i = 0;
2289             exact = 5.50966388513019073e-02;
2290             err = abs(r(i)-exact);
2291             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
2292             maxerr = max(maxerr,err);
2293             i = 3;
2294             exact = -8.61284112227903377e-20;
2295             err = abs(r(i)-exact);
2296             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
2297             maxerr = max(maxerr,err);
2298             n = 20;
2299             l=0;
2300             r = g.rnlp(n,l);
2301             i = 0;
2302             exact = 5.50966388513019073e-02;
2303             err = abs(r(i)-exact);
2304             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
2305             maxerr = max(maxerr,err);
2306             i = 3;
2307             exact = 8.61284112227903377e-20;
2308             err = abs(r(i)-exact);
2309             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
2310             maxerr = max(maxerr,err);
2311             n = 20;
2312             l=1;
2313             r = g.rnlp(n,l);
2314             i = 0;
2315             exact = 5.50966378490998915e-02;
2316             err = abs(r(i)-exact);
2317             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
2318             maxerr = max(maxerr,err);
2319             i = 3;
2320             exact = 2.58385225835037511e-19;
2321             err = abs(r(i)-exact);
2322             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
2323             maxerr = max(maxerr,err);
2324             n = 20;
2325             l=2;
2326             r = g.rnlp(n,l);
2327             i = 0;
2328             exact = 5.50966358446959223e-02;
2329             err = abs(r(i)-exact);
2330             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
2331             maxerr = max(maxerr,err);
2332             i = 3;
2333             exact = 4.30642016947285981e-19;
2334             err = abs(r(i)-exact);
2335             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
2336             maxerr = max(maxerr,err);
2337         }
2338         {
2339             double a = 1e6;
2340             GaussianConvolution1D<double> g(8,sqrt(a/pi),a,0,false);
2341             n = 0;
2342             l=-1;
2343             r = g.rnlp(n,l);
2344             i = 0;
2345             exact = 5.00000000000000000e-01;
2346             err = abs(r(i)-exact);
2347             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
2348             maxerr = max(maxerr,err);
2349             i = 3;
2350             exact = 1.31393925175791226e+00;
2351             err = abs(r(i)-exact);
2352             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
2353             maxerr = max(maxerr,err);
2354             i = 6;
2355             exact = 1.76043401220533680e+00;
2356             err = abs(r(i)-exact);
2357             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
2358             maxerr = max(maxerr,err);
2359             i = 9;
2360             exact = 2.07091850787566534e+00;
2361             err = abs(r(i)-exact);
2362             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
2363             maxerr = max(maxerr,err);
2364             i = 12;
2365             exact = 2.28733404941548857e+00;
2366             err = abs(r(i)-exact);
2367             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
2368             maxerr = max(maxerr,err);
2369             i = 15;
2370             exact = 2.42623389685600399e+00;
2371             err = abs(r(i)-exact);
2372             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
2373             maxerr = max(maxerr,err);
2374             n = 0;
2375             l=0;
2376             r = g.rnlp(n,l);
2377             i = 9;
2378             exact = -2.07091850787566534e+00;
2379             err = abs(r(i)-exact);
2380             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
2381             maxerr = max(maxerr,err);
2382             i = 12;
2383             exact = 2.28733404941548857e+00;
2384             err = abs(r(i)-exact);
2385             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
2386             maxerr = max(maxerr,err);
2387             i = 15;
2388             exact = -2.42623389685600399e+00;
2389             err = abs(r(i)-exact);
2390             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
2391             maxerr = max(maxerr,err);
2392             n = 4;
2393             l=0;
2394             r = g.rnlp(n,l);
2395             i = 9;
2396             exact = -3.50842272140536116e+00;
2397             err = abs(r(i)-exact);
2398             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
2399             maxerr = max(maxerr,err);
2400             i = 12;
2401             exact = 1.68215019539905630e+00;
2402             err = abs(r(i)-exact);
2403             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
2404             maxerr = max(maxerr,err);
2405             i = 15;
2406             exact = -1.77563550367174916e-01;
2407             err = abs(r(i)-exact);
2408             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
2409             maxerr = max(maxerr,err);
2410             n = 8;
2411             l=-2;
2412             r = g.rnlp(n,l);
2413             i = 0;
2414             exact = 2.64684064677916715e-07;
2415             err = abs(r(i)-exact);
2416             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
2417             maxerr = max(maxerr,err);
2418             i = 3;
2419             exact = 4.77372027143066234e-07;
2420             err = abs(r(i)-exact);
2421             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
2422             maxerr = max(maxerr,err);
2423             i = 6;
2424             exact = 2.48546774012851273e-07;
2425             err = abs(r(i)-exact);
2426             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
2427             maxerr = max(maxerr,err);
2428             i = 9;
2429             exact = 6.34469829004409155e-08;
2430             err = abs(r(i)-exact);
2431             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
2432             maxerr = max(maxerr,err);
2433             i = 12;
2434             exact = 8.20364207845620860e-09;
2435             err = abs(r(i)-exact);
2436             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
2437             maxerr = max(maxerr,err);
2438             i = 15;
2439             exact = 5.02838600880059851e-10;
2440             err = abs(r(i)-exact);
2441             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
2442             maxerr = max(maxerr,err);
2443             n = 8;
2444             l=-1;
2445             r = g.rnlp(n,l);
2446             i = 0;
2447             exact = 7.99999973531593511e+00;
2448             err = abs(r(i)-exact);
2449             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
2450             maxerr = max(maxerr,err);
2451             i = 3;
2452             exact = 1.28136988133445895e+00;
2453             err = abs(r(i)-exact);
2454             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
2455             maxerr = max(maxerr,err);
2456             i = 6;
2457             exact = -2.97337646440325010e-01;
2458             err = abs(r(i)-exact);
2459             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
2460             maxerr = max(maxerr,err);
2461             i = 9;
2462             exact = 2.42595127151247827e-02;
2463             err = abs(r(i)-exact);
2464             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
2465             maxerr = max(maxerr,err);
2466             i = 12;
2467             exact = -1.01342125713415232e-03;
2468             err = abs(r(i)-exact);
2469             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
2470             maxerr = max(maxerr,err);
2471             i = 15;
2472             exact = 1.19548791588270655e-05;
2473             err = abs(r(i)-exact);
2474             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
2475             maxerr = max(maxerr,err);
2476             n = 8;
2477             l=0;
2478             r = g.rnlp(n,l);
2479             i = 0;
2480             exact = 7.99999973531593511e+00;
2481             err = abs(r(i)-exact);
2482             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
2483             maxerr = max(maxerr,err);
2484             i = 3;
2485             exact = -1.28136988133445895e+00;
2486             err = abs(r(i)-exact);
2487             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
2488             maxerr = max(maxerr,err);
2489             i = 6;
2490             exact = -2.97337646440325010e-01;
2491             err = abs(r(i)-exact);
2492             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
2493             maxerr = max(maxerr,err);
2494             i = 9;
2495             exact = -2.42595127151247827e-02;
2496             err = abs(r(i)-exact);
2497             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
2498             maxerr = max(maxerr,err);
2499             i = 12;
2500             exact = -1.01342125713415232e-03;
2501             err = abs(r(i)-exact);
2502             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
2503             maxerr = max(maxerr,err);
2504             i = 15;
2505             exact = -1.19548791588270655e-05;
2506             err = abs(r(i)-exact);
2507             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
2508             maxerr = max(maxerr,err);
2509             n = 8;
2510             l=1;
2511             r = g.rnlp(n,l);
2512             i = 0;
2513             exact = 2.64684064677916715e-07;
2514             err = abs(r(i)-exact);
2515             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
2516             maxerr = max(maxerr,err);
2517             i = 3;
2518             exact = -4.77372027143066234e-07;
2519             err = abs(r(i)-exact);
2520             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
2521             maxerr = max(maxerr,err);
2522             i = 6;
2523             exact = 2.48546774012851273e-07;
2524             err = abs(r(i)-exact);
2525             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
2526             maxerr = max(maxerr,err);
2527             i = 9;
2528             exact = -6.34469829004409155e-08;
2529             err = abs(r(i)-exact);
2530             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
2531             maxerr = max(maxerr,err);
2532             i = 12;
2533             exact = 8.20364207845620860e-09;
2534             err = abs(r(i)-exact);
2535             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
2536             maxerr = max(maxerr,err);
2537             i = 15;
2538             exact = -5.02838600880059851e-10;
2539             err = abs(r(i)-exact);
2540             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
2541             maxerr = max(maxerr,err);
2542             n = 12;
2543             l=-2;
2544             r = g.rnlp(n,l);
2545             i = 0;
2546             exact = 7.68112666770073726e+00;
2547             err = abs(r(i)-exact);
2548             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
2549             maxerr = max(maxerr,err);
2550             i = 3;
2551             exact = -1.40335952063720378e-03;
2552             err = abs(r(i)-exact);
2553             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
2554             maxerr = max(maxerr,err);
2555             i = 6;
2556             exact = -2.16852188536233089e-08;
2557             err = abs(r(i)-exact);
2558             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
2559             maxerr = max(maxerr,err);
2560             i = 9;
2561             exact = 2.27739586876326983e-12;
2562             err = abs(r(i)-exact);
2563             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
2564             maxerr = max(maxerr,err);
2565             i = 12;
2566             exact = -9.64560459462787522e-18;
2567             err = abs(r(i)-exact);
2568             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
2569             maxerr = max(maxerr,err);
2570             n = 12;
2571             l=-1;
2572             r = g.rnlp(n,l);
2573             i = 0;
2574             exact = 8.64340268954690671e+00;
2575             err = abs(r(i)-exact);
2576             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
2577             maxerr = max(maxerr,err);
2578             i = 3;
2579             exact = -5.72613518237629813e-04;
2580             err = abs(r(i)-exact);
2581             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
2582             maxerr = max(maxerr,err);
2583             i = 6;
2584             exact = -8.32996156019435581e-08;
2585             err = abs(r(i)-exact);
2586             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
2587             maxerr = max(maxerr,err);
2588             i = 9;
2589             exact = 1.22452367554029254e-12;
2590             err = abs(r(i)-exact);
2591             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
2592             maxerr = max(maxerr,err);
2593             i = 12;
2594             exact = 3.28001683556767755e-17;
2595             err = abs(r(i)-exact);
2596             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
2597             maxerr = max(maxerr,err);
2598             n = 12;
2599             l=0;
2600             r = g.rnlp(n,l);
2601             i = 0;
2602             exact = 8.64340268954690671e+00;
2603             err = abs(r(i)-exact);
2604             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
2605             maxerr = max(maxerr,err);
2606             i = 3;
2607             exact = 5.72613518237629813e-04;
2608             err = abs(r(i)-exact);
2609             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
2610             maxerr = max(maxerr,err);
2611             i = 6;
2612             exact = -8.32996156019435581e-08;
2613             err = abs(r(i)-exact);
2614             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
2615             maxerr = max(maxerr,err);
2616             i = 9;
2617             exact = -1.22452367554029254e-12;
2618             err = abs(r(i)-exact);
2619             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
2620             maxerr = max(maxerr,err);
2621             i = 12;
2622             exact = 3.28001683556767755e-17;
2623             err = abs(r(i)-exact);
2624             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
2625             maxerr = max(maxerr,err);
2626             n = 12;
2627             l=1;
2628             r = g.rnlp(n,l);
2629             i = 0;
2630             exact = 7.68112666770073726e+00;
2631             err = abs(r(i)-exact);
2632             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
2633             maxerr = max(maxerr,err);
2634             i = 3;
2635             exact = 1.40335952063720378e-03;
2636             err = abs(r(i)-exact);
2637             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
2638             maxerr = max(maxerr,err);
2639             i = 6;
2640             exact = -2.16852188536233089e-08;
2641             err = abs(r(i)-exact);
2642             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
2643             maxerr = max(maxerr,err);
2644             i = 9;
2645             exact = -2.27739586876326983e-12;
2646             err = abs(r(i)-exact);
2647             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
2648             maxerr = max(maxerr,err);
2649             i = 12;
2650             exact = -9.64560459462787522e-18;
2651             err = abs(r(i)-exact);
2652             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
2653             maxerr = max(maxerr,err);
2654             n = 12;
2655             l=2;
2656             r = g.rnlp(n,l);
2657             i = 0;
2658             exact = 6.06603017048240378e+00;
2659             err = abs(r(i)-exact);
2660             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
2661             maxerr = max(maxerr,err);
2662             i = 3;
2663             exact = 1.52348873733158482e-03;
2664             err = abs(r(i)-exact);
2665             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
2666             maxerr = max(maxerr,err);
2667             i = 6;
2668             exact = 4.50962719862293780e-08;
2669             err = abs(r(i)-exact);
2670             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
2671             maxerr = max(maxerr,err);
2672             i = 9;
2673             exact = -9.54505770868048384e-13;
2674             err = abs(r(i)-exact);
2675             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
2676             maxerr = max(maxerr,err);
2677             i = 12;
2678             exact = -3.34357728315444496e-17;
2679             err = abs(r(i)-exact);
2680             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
2681             maxerr = max(maxerr,err);
2682             n = 16;
2683             l=-2;
2684             r = g.rnlp(n,l);
2685             i = 0;
2686             exact = 2.20266863365880416e+00;
2687             err = abs(r(i)-exact);
2688             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
2689             maxerr = max(maxerr,err);
2690             i = 3;
2691             exact = -6.76728333900617373e-09;
2692             err = abs(r(i)-exact);
2693             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
2694             maxerr = max(maxerr,err);
2695             i = 6;
2696             exact = -1.38645113252605220e-15;
2697             err = abs(r(i)-exact);
2698             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
2699             maxerr = max(maxerr,err);
2700             n = 16;
2701             l=-1;
2702             r = g.rnlp(n,l);
2703             i = 0;
2704             exact = 2.20369453020092898e+00;
2705             err = abs(r(i)-exact);
2706             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
2707             maxerr = max(maxerr,err);
2708             i = 3;
2709             exact = -2.25751260692224813e-09;
2710             err = abs(r(i)-exact);
2711             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
2712             maxerr = max(maxerr,err);
2713             i = 6;
2714             exact = -1.39098307532258949e-15;
2715             err = abs(r(i)-exact);
2716             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
2717             maxerr = max(maxerr,err);
2718             n = 16;
2719             l=0;
2720             r = g.rnlp(n,l);
2721             i = 0;
2722             exact = 2.20369453020092898e+00;
2723             err = abs(r(i)-exact);
2724             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
2725             maxerr = max(maxerr,err);
2726             i = 3;
2727             exact = 2.25751260692224813e-09;
2728             err = abs(r(i)-exact);
2729             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
2730             maxerr = max(maxerr,err);
2731             i = 6;
2732             exact = -1.39098307532258949e-15;
2733             err = abs(r(i)-exact);
2734             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
2735             maxerr = max(maxerr,err);
2736             n = 16;
2737             l=1;
2738             r = g.rnlp(n,l);
2739             i = 0;
2740             exact = 2.20266863365880416e+00;
2741             err = abs(r(i)-exact);
2742             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
2743             maxerr = max(maxerr,err);
2744             i = 3;
2745             exact = 6.76728333900617373e-09;
2746             err = abs(r(i)-exact);
2747             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
2748             maxerr = max(maxerr,err);
2749             i = 6;
2750             exact = -1.38645113252605220e-15;
2751             err = abs(r(i)-exact);
2752             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
2753             maxerr = max(maxerr,err);
2754             n = 16;
2755             l=2;
2756             r = g.rnlp(n,l);
2757             i = 0;
2758             exact = 2.20061827312391323e+00;
2759             err = abs(r(i)-exact);
2760             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
2761             maxerr = max(maxerr,err);
2762             i = 3;
2763             exact = 1.12613077452750488e-08;
2764             err = abs(r(i)-exact);
2765             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
2766             maxerr = max(maxerr,err);
2767             i = 6;
2768             exact = -1.37740622815052894e-15;
2769             err = abs(r(i)-exact);
2770             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
2771             maxerr = max(maxerr,err);
2772             n = 20;
2773             l=-2;
2774             r = g.rnlp(n,l);
2775             i = 0;
2776             exact = 5.50965220949072187e-01;
2777             err = abs(r(i)-exact);
2778             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
2779             maxerr = max(maxerr,err);
2780             i = 3;
2781             exact = -2.58384321086449390e-14;
2782             err = abs(r(i)-exact);
2783             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
2784             maxerr = max(maxerr,err);
2785             n = 20;
2786             l=-1;
2787             r = g.rnlp(n,l);
2788             i = 0;
2789             exact = 5.50966223149730427e-01;
2790             err = abs(r(i)-exact);
2791             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
2792             maxerr = max(maxerr,err);
2793             i = 3;
2794             exact = -8.61283681394682842e-15;
2795             err = abs(r(i)-exact);
2796             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
2797             maxerr = max(maxerr,err);
2798             n = 20;
2799             l=0;
2800             r = g.rnlp(n,l);
2801             i = 0;
2802             exact = 5.50966223149730427e-01;
2803             err = abs(r(i)-exact);
2804             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
2805             maxerr = max(maxerr,err);
2806             i = 3;
2807             exact = 8.61283681394682842e-15;
2808             err = abs(r(i)-exact);
2809             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
2810             maxerr = max(maxerr,err);
2811             n = 20;
2812             l=1;
2813             r = g.rnlp(n,l);
2814             i = 0;
2815             exact = 5.50965220949072187e-01;
2816             err = abs(r(i)-exact);
2817             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
2818             maxerr = max(maxerr,err);
2819             i = 3;
2820             exact = 2.58384321086449390e-14;
2821             err = abs(r(i)-exact);
2822             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
2823             maxerr = max(maxerr,err);
2824             n = 20;
2825             l=2;
2826             r = g.rnlp(n,l);
2827             i = 0;
2828             exact = 5.50963216553224777e-01;
2829             err = abs(r(i)-exact);
2830             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
2831             maxerr = max(maxerr,err);
2832             i = 3;
2833             exact = 4.30637924047538213e-14;
2834             err = abs(r(i)-exact);
2835             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
2836             maxerr = max(maxerr,err);
2837         }
2838         {
2839             double a = 1e8;
2840             GaussianConvolution1D<double> g(8,sqrt(a/pi),a,0,false);
2841             n = 0;
2842             l=-1;
2843             r = g.rnlp(n,l);
2844             i = 0;
2845             exact = 5.00000000000000000e-01;
2846             err = abs(r(i)-exact);
2847             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
2848             maxerr = max(maxerr,err);
2849             i = 3;
2850             exact = 1.32198023075050020e+00;
2851             err = abs(r(i)-exact);
2852             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
2853             maxerr = max(maxerr,err);
2854             i = 6;
2855             exact = 1.79850757146013485e+00;
2856             err = abs(r(i)-exact);
2857             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
2858             maxerr = max(maxerr,err);
2859             i = 9;
2860             exact = 2.16840442140282663e+00;
2861             err = abs(r(i)-exact);
2862             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
2863             maxerr = max(maxerr,err);
2864             i = 12;
2865             exact = 2.47807154022197462e+00;
2866             err = abs(r(i)-exact);
2867             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
2868             maxerr = max(maxerr,err);
2869             i = 15;
2870             exact = 2.74638507267385013e+00;
2871             err = abs(r(i)-exact);
2872             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
2873             maxerr = max(maxerr,err);
2874             n = 0;
2875             l=0;
2876             r = g.rnlp(n,l);
2877             i = 9;
2878             exact = -2.16840442140282663e+00;
2879             err = abs(r(i)-exact);
2880             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
2881             maxerr = max(maxerr,err);
2882             i = 12;
2883             exact = 2.47807154022197462e+00;
2884             err = abs(r(i)-exact);
2885             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
2886             maxerr = max(maxerr,err);
2887             i = 15;
2888             exact = -2.74638507267385013e+00;
2889             err = abs(r(i)-exact);
2890             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
2891             maxerr = max(maxerr,err);
2892             n = 4;
2893             l=0;
2894             r = g.rnlp(n,l);
2895             i = 12;
2896             exact = 8.66639007453691868e+00;
2897             err = abs(r(i)-exact);
2898             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
2899             maxerr = max(maxerr,err);
2900             i = 15;
2901             exact = -8.91729870909936828e+00;
2902             err = abs(r(i)-exact);
2903             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
2904             maxerr = max(maxerr,err);
2905             n = 8;
2906             l=0;
2907             r = g.rnlp(n,l);
2908             i = 9;
2909             exact = -6.97748517721321448e+00;
2910             err = abs(r(i)-exact);
2911             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
2912             maxerr = max(maxerr,err);
2913             i = 12;
2914             exact = 1.97852113142792607e-01;
2915             err = abs(r(i)-exact);
2916             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
2917             maxerr = max(maxerr,err);
2918             i = 15;
2919             exact = 2.44271302079553987e+00;
2920             err = abs(r(i)-exact);
2921             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
2922             maxerr = max(maxerr,err);
2923             n = 12;
2924             l=-2;
2925             r = g.rnlp(n,l);
2926             i = 0;
2927             exact = 1.77621741053728029e-02;
2928             err = abs(r(i)-exact);
2929             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
2930             maxerr = max(maxerr,err);
2931             i = 3;
2932             exact = 1.80561296694321666e-02;
2933             err = abs(r(i)-exact);
2934             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
2935             maxerr = max(maxerr,err);
2936             i = 6;
2937             exact = 2.14965049420876670e-03;
2938             err = abs(r(i)-exact);
2939             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
2940             maxerr = max(maxerr,err);
2941             i = 9;
2942             exact = 2.87273668988151739e-05;
2943             err = abs(r(i)-exact);
2944             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
2945             maxerr = max(maxerr,err);
2946             i = 12;
2947             exact = -5.78715292978526717e-07;
2948             err = abs(r(i)-exact);
2949             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
2950             maxerr = max(maxerr,err);
2951             i = 15;
2952             exact = 3.75446225456850381e-09;
2953             err = abs(r(i)-exact);
2954             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
2955             maxerr = max(maxerr,err);
2956             n = 12;
2957             l=-1;
2958             r = g.rnlp(n,l);
2959             i = 0;
2960             exact = 3.19822378257343587e+01;
2961             err = abs(r(i)-exact);
2962             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
2963             maxerr = max(maxerr,err);
2964             i = 3;
2965             exact = -2.59910355189205866e+00;
2966             err = abs(r(i)-exact);
2967             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
2968             maxerr = max(maxerr,err);
2969             i = 6;
2970             exact = 1.88940266256636957e-01;
2971             err = abs(r(i)-exact);
2972             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
2973             maxerr = max(maxerr,err);
2974             i = 9;
2975             exact = -6.48224605439561008e-03;
2976             err = abs(r(i)-exact);
2977             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
2978             maxerr = max(maxerr,err);
2979             i = 12;
2980             exact = 8.95940657127647480e-05;
2981             err = abs(r(i)-exact);
2982             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
2983             maxerr = max(maxerr,err);
2984             i = 15;
2985             exact = -2.01590163575141197e-07;
2986             err = abs(r(i)-exact);
2987             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
2988             maxerr = max(maxerr,err);
2989             n = 12;
2990             l=0;
2991             r = g.rnlp(n,l);
2992             i = 0;
2993             exact = 3.19822378257343587e+01;
2994             err = abs(r(i)-exact);
2995             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
2996             maxerr = max(maxerr,err);
2997             i = 3;
2998             exact = 2.59910355189205866e+00;
2999             err = abs(r(i)-exact);
3000             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
3001             maxerr = max(maxerr,err);
3002             i = 6;
3003             exact = 1.88940266256636957e-01;
3004             err = abs(r(i)-exact);
3005             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
3006             maxerr = max(maxerr,err);
3007             i = 9;
3008             exact = 6.48224605439561008e-03;
3009             err = abs(r(i)-exact);
3010             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
3011             maxerr = max(maxerr,err);
3012             i = 12;
3013             exact = 8.95940657127647480e-05;
3014             err = abs(r(i)-exact);
3015             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
3016             maxerr = max(maxerr,err);
3017             i = 15;
3018             exact = 2.01590163575141197e-07;
3019             err = abs(r(i)-exact);
3020             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
3021             maxerr = max(maxerr,err);
3022             n = 12;
3023             l=1;
3024             r = g.rnlp(n,l);
3025             i = 0;
3026             exact = 1.77621741053728029e-02;
3027             err = abs(r(i)-exact);
3028             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
3029             maxerr = max(maxerr,err);
3030             i = 3;
3031             exact = -1.80561296694321666e-02;
3032             err = abs(r(i)-exact);
3033             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
3034             maxerr = max(maxerr,err);
3035             i = 6;
3036             exact = 2.14965049420876670e-03;
3037             err = abs(r(i)-exact);
3038             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
3039             maxerr = max(maxerr,err);
3040             i = 9;
3041             exact = -2.87273668988151739e-05;
3042             err = abs(r(i)-exact);
3043             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
3044             maxerr = max(maxerr,err);
3045             i = 12;
3046             exact = -5.78715292978526717e-07;
3047             err = abs(r(i)-exact);
3048             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
3049             maxerr = max(maxerr,err);
3050             i = 15;
3051             exact = -3.75446225456850381e-09;
3052             err = abs(r(i)-exact);
3053             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
3054             maxerr = max(maxerr,err);
3055             n = 12;
3056             l=2;
3057             r = g.rnlp(n,l);
3058             i = 0;
3059             exact = 1.60267034903721741e-10;
3060             err = abs(r(i)-exact);
3061             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
3062             maxerr = max(maxerr,err);
3063             i = 3;
3064             exact = -2.56247390565564865e-10;
3065             err = abs(r(i)-exact);
3066             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
3067             maxerr = max(maxerr,err);
3068             i = 6;
3069             exact = 1.00204874077533328e-10;
3070             err = abs(r(i)-exact);
3071             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
3072             maxerr = max(maxerr,err);
3073             i = 9;
3074             exact = -1.68527185127306691e-11;
3075             err = abs(r(i)-exact);
3076             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
3077             maxerr = max(maxerr,err);
3078             i = 12;
3079             exact = 1.32633156186227036e-12;
3080             err = abs(r(i)-exact);
3081             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
3082             maxerr = max(maxerr,err);
3083             i = 15;
3084             exact = -4.97857828210297353e-14;
3085             err = abs(r(i)-exact);
3086             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
3087             maxerr = max(maxerr,err);
3088             n = 16;
3089             l=-2;
3090             r = g.rnlp(n,l);
3091             i = 0;
3092             exact = 2.08775684768582366e+01;
3093             err = abs(r(i)-exact);
3094             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
3095             maxerr = max(maxerr,err);
3096             i = 3;
3097             exact = -6.18391032576240027e-04;
3098             err = abs(r(i)-exact);
3099             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
3100             maxerr = max(maxerr,err);
3101             i = 6;
3102             exact = -9.17718829164970323e-09;
3103             err = abs(r(i)-exact);
3104             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
3105             maxerr = max(maxerr,err);
3106             i = 9;
3107             exact = 7.27641771748153090e-14;
3108             err = abs(r(i)-exact);
3109             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
3110             maxerr = max(maxerr,err);
3111             i = 12;
3112             exact = 1.45035821991845720e-19;
3113             err = abs(r(i)-exact);
3114             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
3115             maxerr = max(maxerr,err);
3116             n = 16;
3117             l=-1;
3118             r = g.rnlp(n,l);
3119             i = 0;
3120             exact = 2.18688012530858096e+01;
3121             err = abs(r(i)-exact);
3122             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
3123             maxerr = max(maxerr,err);
3124             i = 3;
3125             exact = -2.22880079087442982e-04;
3126             err = abs(r(i)-exact);
3127             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
3128             maxerr = max(maxerr,err);
3129             i = 6;
3130             exact = -1.33180134100535050e-08;
3131             err = abs(r(i)-exact);
3132             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
3133             maxerr = max(maxerr,err);
3134             i = 9;
3135             exact = 2.89311654858050329e-14;
3136             err = abs(r(i)-exact);
3137             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
3138             maxerr = max(maxerr,err);
3139             i = 12;
3140             exact = 3.32835978333160121e-19;
3141             err = abs(r(i)-exact);
3142             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
3143             maxerr = max(maxerr,err);
3144             n = 16;
3145             l=0;
3146             r = g.rnlp(n,l);
3147             i = 0;
3148             exact = 2.18688012530858096e+01;
3149             err = abs(r(i)-exact);
3150             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
3151             maxerr = max(maxerr,err);
3152             i = 3;
3153             exact = 2.22880079087442982e-04;
3154             err = abs(r(i)-exact);
3155             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
3156             maxerr = max(maxerr,err);
3157             i = 6;
3158             exact = -1.33180134100535050e-08;
3159             err = abs(r(i)-exact);
3160             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
3161             maxerr = max(maxerr,err);
3162             i = 9;
3163             exact = -2.89311654858050329e-14;
3164             err = abs(r(i)-exact);
3165             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
3166             maxerr = max(maxerr,err);
3167             i = 12;
3168             exact = 3.32835978333160121e-19;
3169             err = abs(r(i)-exact);
3170             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
3171             maxerr = max(maxerr,err);
3172             n = 16;
3173             l=1;
3174             r = g.rnlp(n,l);
3175             i = 0;
3176             exact = 2.08775684768582366e+01;
3177             err = abs(r(i)-exact);
3178             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
3179             maxerr = max(maxerr,err);
3180             i = 3;
3181             exact = 6.18391032576240027e-04;
3182             err = abs(r(i)-exact);
3183             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
3184             maxerr = max(maxerr,err);
3185             i = 6;
3186             exact = -9.17718829164970323e-09;
3187             err = abs(r(i)-exact);
3188             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
3189             maxerr = max(maxerr,err);
3190             i = 9;
3191             exact = -7.27641771748153090e-14;
3192             err = abs(r(i)-exact);
3193             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
3194             maxerr = max(maxerr,err);
3195             i = 12;
3196             exact = 1.45035821991845720e-19;
3197             err = abs(r(i)-exact);
3198             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
3199             maxerr = max(maxerr,err);
3200             n = 16;
3201             l=2;
3202             r = g.rnlp(n,l);
3203             i = 0;
3204             exact = 1.90278525861057943e+01;
3205             err = abs(r(i)-exact);
3206             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
3207             maxerr = max(maxerr,err);
3208             i = 3;
3209             exact = 8.78775137729619093e-04;
3210             err = abs(r(i)-exact);
3211             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
3212             maxerr = max(maxerr,err);
3213             i = 6;
3214             exact = -2.52594114788140973e-09;
3215             err = abs(r(i)-exact);
3216             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
3217             maxerr = max(maxerr,err);
3218             i = 9;
3219             exact = -8.24285673816764725e-14;
3220             err = abs(r(i)-exact);
3221             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
3222             maxerr = max(maxerr,err);
3223             i = 12;
3224             exact = -1.10123909261290486e-19;
3225             err = abs(r(i)-exact);
3226             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
3227             maxerr = max(maxerr,err);
3228             n = 20;
3229             l=-2;
3230             r = g.rnlp(n,l);
3231             i = 0;
3232             exact = 5.50849480740676434e+00;
3233             err = abs(r(i)-exact);
3234             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
3235             maxerr = max(maxerr,err);
3236             i = 3;
3237             exact = -2.58293860288335944e-09;
3238             err = abs(r(i)-exact);
3239             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
3240             maxerr = max(maxerr,err);
3241             i = 6;
3242             exact = -2.07063600559659463e-16;
3243             err = abs(r(i)-exact);
3244             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
3245             maxerr = max(maxerr,err);
3246             n = 20;
3247             l=-1;
3248             r = g.rnlp(n,l);
3249             i = 0;
3250             exact = 5.50949687272003708e+00;
3251             err = abs(r(i)-exact);
3252             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
3253             maxerr = max(maxerr,err);
3254             i = 3;
3255             exact = -8.61240599236203343e-10;
3256             err = abs(r(i)-exact);
3257             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
3258             maxerr = max(maxerr,err);
3259             i = 6;
3260             exact = -2.07327540364256062e-16;
3261             err = abs(r(i)-exact);
3262             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
3263             maxerr = max(maxerr,err);
3264             n = 20;
3265             l=0;
3266             r = g.rnlp(n,l);
3267             i = 0;
3268             exact = 5.50949687272003708e+00;
3269             err = abs(r(i)-exact);
3270             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
3271             maxerr = max(maxerr,err);
3272             i = 3;
3273             exact = 8.61240599236203343e-10;
3274             err = abs(r(i)-exact);
3275             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
3276             maxerr = max(maxerr,err);
3277             i = 6;
3278             exact = -2.07327540364256062e-16;
3279             err = abs(r(i)-exact);
3280             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
3281             maxerr = max(maxerr,err);
3282             n = 20;
3283             l=1;
3284             r = g.rnlp(n,l);
3285             i = 0;
3286             exact = 5.50849480740676434e+00;
3287             err = abs(r(i)-exact);
3288             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
3289             maxerr = max(maxerr,err);
3290             i = 3;
3291             exact = 2.58293860288335944e-09;
3292             err = abs(r(i)-exact);
3293             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
3294             maxerr = max(maxerr,err);
3295             i = 6;
3296             exact = -2.07063600559659463e-16;
3297             err = abs(r(i)-exact);
3298             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
3299             maxerr = max(maxerr,err);
3300             n = 20;
3301             l=2;
3302             r = g.rnlp(n,l);
3303             i = 0;
3304             exact = 5.50649122351290821e+00;
3305             err = abs(r(i)-exact);
3306             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
3307             maxerr = max(maxerr,err);
3308             i = 3;
3309             exact = 4.30228801910451485e-09;
3310             err = abs(r(i)-exact);
3311             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
3312             maxerr = max(maxerr,err);
3313             i = 6;
3314             exact = -2.06536152937712491e-16;
3315             err = abs(r(i)-exact);
3316             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
3317             maxerr = max(maxerr,err);
3318         }
3319         {
3320             double a = 1e10;
3321             GaussianConvolution1D<double> g(8,sqrt(a/pi),a,0,false);
3322             n = 0;
3323             l=-1;
3324             r = g.rnlp(n,l);
3325             i = 0;
3326             exact = 5.00000000000000000e-01;
3327             err = abs(r(i)-exact);
3328             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
3329             maxerr = max(maxerr,err);
3330             i = 3;
3331             exact = 1.32278609519677226e+00;
3332             err = abs(r(i)-exact);
3333             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
3334             maxerr = max(maxerr,err);
3335             i = 6;
3336             exact = 1.80234849054933588e+00;
3337             err = abs(r(i)-exact);
3338             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
3339             maxerr = max(maxerr,err);
3340             i = 9;
3341             exact = 2.17834302709225502e+00;
3342             err = abs(r(i)-exact);
3343             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
3344             maxerr = max(maxerr,err);
3345             i = 12;
3346             exact = 2.49780041123299235e+00;
3347             err = abs(r(i)-exact);
3348             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
3349             maxerr = max(maxerr,err);
3350             i = 15;
3351             exact = 2.78011463893526400e+00;
3352             err = abs(r(i)-exact);
3353             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
3354             maxerr = max(maxerr,err);
3355             n = 4;
3356             l=0;
3357             r = g.rnlp(n,l);
3358             i = 12;
3359             exact = 9.85994473913733493e+00;
3360             err = abs(r(i)-exact);
3361             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
3362             maxerr = max(maxerr,err);
3363             i = 15;
3364             exact = -1.08963047031019240e+01;
3365             err = abs(r(i)-exact);
3366             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
3367             maxerr = max(maxerr,err);
3368             n = 8;
3369             l=0;
3370             r = g.rnlp(n,l);
3371             i = 12;
3372             exact = 3.17378652019804868e+01;
3373             err = abs(r(i)-exact);
3374             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
3375             maxerr = max(maxerr,err);
3376             i = 15;
3377             exact = -3.10371707224047384e+01;
3378             err = abs(r(i)-exact);
3379             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
3380             maxerr = max(maxerr,err);
3381             n = 12;
3382             l=0;
3383             r = g.rnlp(n,l);
3384             i = 9;
3385             exact = -3.55193478516153949e+00;
3386             err = abs(r(i)-exact);
3387             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
3388             maxerr = max(maxerr,err);
3389             i = 12;
3390             exact = -8.76624415465518325e+00;
3391             err = abs(r(i)-exact);
3392             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
3393             maxerr = max(maxerr,err);
3394             i = 15;
3395             exact = 4.45211896310375366e+00;
3396             err = abs(r(i)-exact);
3397             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
3398             maxerr = max(maxerr,err);
3399             n = 16;
3400             l=-2;
3401             r = g.rnlp(n,l);
3402             i = 0;
3403             exact = 3.95753699701407591e+00;
3404             err = abs(r(i)-exact);
3405             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
3406             maxerr = max(maxerr,err);
3407             i = 3;
3408             exact = 1.01817522582965636e+00;
3409             err = abs(r(i)-exact);
3410             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
3411             maxerr = max(maxerr,err);
3412             i = 6;
3413             exact = -4.26716664222736262e-03;
3414             err = abs(r(i)-exact);
3415             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
3416             maxerr = max(maxerr,err);
3417             i = 9;
3418             exact = 9.05830429656977076e-06;
3419             err = abs(r(i)-exact);
3420             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
3421             maxerr = max(maxerr,err);
3422             i = 12;
3423             exact = -4.09146442457520497e-08;
3424             err = abs(r(i)-exact);
3425             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
3426             maxerr = max(maxerr,err);
3427             i = 15;
3428             exact = 2.46678858892003107e-10;
3429             err = abs(r(i)-exact);
3430             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
3431             maxerr = max(maxerr,err);
3432             n = 16;
3433             l=-1;
3434             r = g.rnlp(n,l);
3435             i = 0;
3436             exact = 1.24040427814888830e+02;
3437             err = abs(r(i)-exact);
3438             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
3439             maxerr = max(maxerr,err);
3440             i = 3;
3441             exact = -6.51252735045721654e+00;
3442             err = abs(r(i)-exact);
3443             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
3444             maxerr = max(maxerr,err);
3445             i = 6;
3446             exact = 7.18690903438790468e-02;
3447             err = abs(r(i)-exact);
3448             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
3449             maxerr = max(maxerr,err);
3450             i = 9;
3451             exact = -4.13584998317234614e-05;
3452             err = abs(r(i)-exact);
3453             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
3454             maxerr = max(maxerr,err);
3455             i = 12;
3456             exact = -1.74068139575386427e-06;
3457             err = abs(r(i)-exact);
3458             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
3459             maxerr = max(maxerr,err);
3460             i = 15;
3461             exact = 5.03038032706968060e-09;
3462             err = abs(r(i)-exact);
3463             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
3464             maxerr = max(maxerr,err);
3465             n = 16;
3466             l=0;
3467             r = g.rnlp(n,l);
3468             i = 0;
3469             exact = 1.24040427814888830e+02;
3470             err = abs(r(i)-exact);
3471             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
3472             maxerr = max(maxerr,err);
3473             i = 3;
3474             exact = 6.51252735045721654e+00;
3475             err = abs(r(i)-exact);
3476             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
3477             maxerr = max(maxerr,err);
3478             i = 6;
3479             exact = 7.18690903438790468e-02;
3480             err = abs(r(i)-exact);
3481             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
3482             maxerr = max(maxerr,err);
3483             i = 9;
3484             exact = 4.13584998317234614e-05;
3485             err = abs(r(i)-exact);
3486             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
3487             maxerr = max(maxerr,err);
3488             i = 12;
3489             exact = -1.74068139575386427e-06;
3490             err = abs(r(i)-exact);
3491             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
3492             maxerr = max(maxerr,err);
3493             i = 15;
3494             exact = -5.03038032706968060e-09;
3495             err = abs(r(i)-exact);
3496             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
3497             maxerr = max(maxerr,err);
3498             n = 16;
3499             l=1;
3500             r = g.rnlp(n,l);
3501             i = 0;
3502             exact = 3.95753699701407591e+00;
3503             err = abs(r(i)-exact);
3504             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
3505             maxerr = max(maxerr,err);
3506             i = 3;
3507             exact = -1.01817522582965636e+00;
3508             err = abs(r(i)-exact);
3509             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
3510             maxerr = max(maxerr,err);
3511             i = 6;
3512             exact = -4.26716664222736262e-03;
3513             err = abs(r(i)-exact);
3514             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
3515             maxerr = max(maxerr,err);
3516             i = 9;
3517             exact = -9.05830429656977076e-06;
3518             err = abs(r(i)-exact);
3519             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
3520             maxerr = max(maxerr,err);
3521             i = 12;
3522             exact = -4.09146442457520497e-08;
3523             err = abs(r(i)-exact);
3524             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
3525             maxerr = max(maxerr,err);
3526             i = 15;
3527             exact = -2.46678858892003107e-10;
3528             err = abs(r(i)-exact);
3529             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
3530             maxerr = max(maxerr,err);
3531             n = 16;
3532             l=2;
3533             r = g.rnlp(n,l);
3534             i = 0;
3535             exact = 2.03517586076878889e-03;
3536             err = abs(r(i)-exact);
3537             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
3538             maxerr = max(maxerr,err);
3539             i = 3;
3540             exact = -1.49274934514448811e-03;
3541             err = abs(r(i)-exact);
3542             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
3543             maxerr = max(maxerr,err);
3544             i = 6;
3545             exact = 9.66085723513747846e-05;
3546             err = abs(r(i)-exact);
3547             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
3548             maxerr = max(maxerr,err);
3549             i = 9;
3550             exact = -9.25718189118173804e-07;
3551             err = abs(r(i)-exact);
3552             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
3553             maxerr = max(maxerr,err);
3554             i = 12;
3555             exact = -1.51883153358735018e-09;
3556             err = abs(r(i)-exact);
3557             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
3558             maxerr = max(maxerr,err);
3559             i = 15;
3560             exact = 2.59891477668870922e-12;
3561             err = abs(r(i)-exact);
3562             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
3563             maxerr = max(maxerr,err);
3564             n = 20;
3565             l=-2;
3566             r = g.rnlp(n,l);
3567             i = 0;
3568             exact = 5.39414070815156137e+01;
3569             err = abs(r(i)-exact);
3570             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
3571             maxerr = max(maxerr,err);
3572             i = 3;
3573             exact = -2.49387003254647314e-04;
3574             err = abs(r(i)-exact);
3575             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
3576             maxerr = max(maxerr,err);
3577             i = 6;
3578             exact = -1.78376303140302747e-09;
3579             err = abs(r(i)-exact);
3580             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
3581             maxerr = max(maxerr,err);
3582             i = 9;
3583             exact = 1.87233252628364406e-15;
3584             err = abs(r(i)-exact);
3585             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
3586             maxerr = max(maxerr,err);
3587             n = 20;
3588             l=-1;
3589             r = g.rnlp(n,l);
3590             i = 0;
3591             exact = 5.49300601109782676e+01;
3592             err = abs(r(i)-exact);
3593             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
3594             maxerr = max(maxerr,err);
3595             i = 3;
3596             exact = -8.56943996085143253e-05;
3597             err = abs(r(i)-exact);
3598             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
3599             maxerr = max(maxerr,err);
3600             i = 6;
3601             exact = -2.03858147916271143e-09;
3602             err = abs(r(i)-exact);
3603             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
3604             maxerr = max(maxerr,err);
3605             i = 9;
3606             exact = 6.67700051743989307e-16;
3607             err = abs(r(i)-exact);
3608             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
3609             maxerr = max(maxerr,err);
3610             n = 20;
3611             l=0;
3612             r = g.rnlp(n,l);
3613             i = 0;
3614             exact = 5.49300601109782676e+01;
3615             err = abs(r(i)-exact);
3616             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
3617             maxerr = max(maxerr,err);
3618             i = 3;
3619             exact = 8.56943996085143253e-05;
3620             err = abs(r(i)-exact);
3621             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
3622             maxerr = max(maxerr,err);
3623             i = 6;
3624             exact = -2.03858147916271143e-09;
3625             err = abs(r(i)-exact);
3626             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
3627             maxerr = max(maxerr,err);
3628             i = 9;
3629             exact = -6.67700051743989307e-16;
3630             err = abs(r(i)-exact);
3631             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
3632             maxerr = max(maxerr,err);
3633             n = 20;
3634             l=1;
3635             r = g.rnlp(n,l);
3636             i = 0;
3637             exact = 5.39414070815156137e+01;
3638             err = abs(r(i)-exact);
3639             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
3640             maxerr = max(maxerr,err);
3641             i = 3;
3642             exact = 2.49387003254647314e-04;
3643             err = abs(r(i)-exact);
3644             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
3645             maxerr = max(maxerr,err);
3646             i = 6;
3647             exact = -1.78376303140302747e-09;
3648             err = abs(r(i)-exact);
3649             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
3650             maxerr = max(maxerr,err);
3651             i = 9;
3652             exact = -1.87233252628364406e-15;
3653             err = abs(r(i)-exact);
3654             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
3655             maxerr = max(maxerr,err);
3656             n = 20;
3657             l=2;
3658             r = g.rnlp(n,l);
3659             i = 0;
3660             exact = 5.20171632178656012e+01;
3661             err = abs(r(i)-exact);
3662             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
3663             maxerr = max(maxerr,err);
3664             i = 3;
3665             exact = 3.90952885279176158e-04;
3666             err = abs(r(i)-exact);
3667             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
3668             maxerr = max(maxerr,err);
3669             i = 6;
3670             exact = -1.31483311173371317e-09;
3671             err = abs(r(i)-exact);
3672             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
3673             maxerr = max(maxerr,err);
3674             i = 9;
3675             exact = -2.71474799023069306e-15;
3676             err = abs(r(i)-exact);
3677             //cout << a << " " << n << " " << l << " " << i << " " << exact << " " << r(i) << " " << err << endl;
3678             maxerr = max(maxerr,err);
3679         }
3680         //cout << "MAXERR " << maxerr << endl;
3681         return (maxerr < 2e-13);
3682     }
3683 }
3684