FACT++  1.0
xy06.c
Go to the documentation of this file.
1 #include "erfa.h"
2 
3 void eraXy06(double date1, double date2, double *x, double *y)
4 /*
5 ** - - - - - - - -
6 ** e r a X y 0 6
7 ** - - - - - - - -
8 **
9 ** X,Y coordinates of celestial intermediate pole from series based
10 ** on IAU 2006 precession and IAU 2000A nutation.
11 **
12 ** Given:
13 ** date1,date2 double TT as a 2-part Julian Date (Note 1)
14 **
15 ** Returned:
16 ** x,y double CIP X,Y coordinates (Note 2)
17 **
18 ** Notes:
19 **
20 ** 1) The TT date date1+date2 is a Julian Date, apportioned in any
21 ** convenient way between the two arguments. For example,
22 ** JD(TT)=2450123.7 could be expressed in any of these ways,
23 ** among others:
24 **
25 ** date1 date2
26 **
27 ** 2450123.7 0.0 (JD method)
28 ** 2451545.0 -1421.3 (J2000 method)
29 ** 2400000.5 50123.2 (MJD method)
30 ** 2450123.5 0.2 (date & time method)
31 **
32 ** The JD method is the most natural and convenient to use in
33 ** cases where the loss of several decimal digits of resolution
34 ** is acceptable. The J2000 method is best matched to the way
35 ** the argument is handled internally and will deliver the
36 ** optimum resolution. The MJD method and the date & time methods
37 ** are both good compromises between resolution and convenience.
38 **
39 ** 2) The X,Y coordinates are those of the unit vector towards the
40 ** celestial intermediate pole. They represent the combined effects
41 ** of frame bias, precession and nutation.
42 **
43 ** 3) The fundamental arguments used are as adopted in IERS Conventions
44 ** (2003) and are from Simon et al. (1994) and Souchay et al.
45 ** (1999).
46 **
47 ** 4) This is an alternative to the angles-based method, via the ERFA
48 ** function eraFw2xy and as used in eraXys06a for example. The two
49 ** methods agree at the 1 microarcsecond level (at present), a
50 ** negligible amount compared with the intrinsic accuracy of the
51 ** models. However, it would be unwise to mix the two methods
52 ** (angles-based and series-based) in a single application.
53 **
54 ** Called:
55 ** eraFal03 mean anomaly of the Moon
56 ** eraFalp03 mean anomaly of the Sun
57 ** eraFaf03 mean argument of the latitude of the Moon
58 ** eraFad03 mean elongation of the Moon from the Sun
59 ** eraFaom03 mean longitude of the Moon's ascending node
60 ** eraFame03 mean longitude of Mercury
61 ** eraFave03 mean longitude of Venus
62 ** eraFae03 mean longitude of Earth
63 ** eraFama03 mean longitude of Mars
64 ** eraFaju03 mean longitude of Jupiter
65 ** eraFasa03 mean longitude of Saturn
66 ** eraFaur03 mean longitude of Uranus
67 ** eraFane03 mean longitude of Neptune
68 ** eraFapa03 general accumulated precession in longitude
69 **
70 ** References:
71 **
72 ** Capitaine, N., Wallace, P.T. & Chapront, J., 2003,
73 ** Astron.Astrophys., 412, 567
74 **
75 ** Capitaine, N. & Wallace, P.T., 2006, Astron.Astrophys. 450, 855
76 **
77 ** McCarthy, D. D., Petit, G. (eds.), 2004, IERS Conventions (2003),
78 ** IERS Technical Note No. 32, BKG
79 **
80 ** Simon, J.L., Bretagnon, P., Chapront, J., Chapront-Touze, M.,
81 ** Francou, G. & Laskar, J., Astron.Astrophys., 1994, 282, 663
82 **
83 ** Souchay, J., Loysel, B., Kinoshita, H., Folgueira, M., 1999,
84 ** Astron.Astrophys.Supp.Ser. 135, 111
85 **
86 ** Wallace, P.T. & Capitaine, N., 2006, Astron.Astrophys. 459, 981
87 **
88 ** Copyright (C) 2013-2015, NumFOCUS Foundation.
89 ** Derived, with permission, from the SOFA library. See notes at end of file.
90 */
91 {
92 
93 /* Maximum power of T in the polynomials for X and Y */
94  enum { MAXPT = 5 };
95 
96 /* Polynomial coefficients (arcsec, X then Y). */
97  static const double xyp[2][MAXPT+1] = {
98 
99  { -0.016617,
100  2004.191898,
101  -0.4297829,
102  -0.19861834,
103  0.000007578,
104  0.0000059285
105  },
106  { -0.006951,
107  -0.025896,
108  -22.4072747,
109  0.00190059,
110  0.001112526,
111  0.0000001358
112  }
113  };
114 
115 /* Fundamental-argument multipliers: luni-solar terms */
116  static const int mfals[][5] = {
117 
118  /* 1-10 */
119  { 0, 0, 0, 0, 1 },
120  { 0, 0, 2, -2, 2 },
121  { 0, 0, 2, 0, 2 },
122  { 0, 0, 0, 0, 2 },
123  { 0, 1, 0, 0, 0 },
124  { 0, 1, 2, -2, 2 },
125  { 1, 0, 0, 0, 0 },
126  { 0, 0, 2, 0, 1 },
127  { 1, 0, 2, 0, 2 },
128  { 0, 1, -2, 2, -2 },
129 
130  /* 11-20 */
131  { 0, 0, 2, -2, 1 },
132  { 1, 0, -2, 0, -2 },
133  { 1, 0, 0, -2, 0 },
134  { 1, 0, 0, 0, 1 },
135  { 1, 0, 0, 0, -1 },
136  { 1, 0, -2, -2, -2 },
137  { 1, 0, 2, 0, 1 },
138  { 2, 0, -2, 0, -1 },
139  { 0, 0, 0, 2, 0 },
140  { 0, 0, 2, 2, 2 },
141 
142  /* 21-30 */
143  { 2, 0, 0, -2, 0 },
144  { 0, 2, -2, 2, -2 },
145  { 2, 0, 2, 0, 2 },
146  { 1, 0, 2, -2, 2 },
147  { 1, 0, -2, 0, -1 },
148  { 2, 0, 0, 0, 0 },
149  { 0, 0, 2, 0, 0 },
150  { 0, 1, 0, 0, 1 },
151  { 1, 0, 0, -2, -1 },
152  { 0, 2, 2, -2, 2 },
153 
154  /* 31-40 */
155  { 0, 0, 2, -2, 0 },
156  { 1, 0, 0, -2, 1 },
157  { 0, 1, 0, 0, -1 },
158  { 0, 2, 0, 0, 0 },
159  { 1, 0, -2, -2, -1 },
160  { 1, 0, 2, 2, 2 },
161  { 0, 1, 2, 0, 2 },
162  { 2, 0, -2, 0, 0 },
163  { 0, 0, 2, 2, 1 },
164  { 0, 1, -2, 0, -2 },
165 
166  /* 41-50 */
167  { 0, 0, 0, 2, 1 },
168  { 1, 0, 2, -2, 1 },
169  { 2, 0, 0, -2, -1 },
170  { 2, 0, 2, -2, 2 },
171  { 2, 0, 2, 0, 1 },
172  { 0, 0, 0, 2, -1 },
173  { 0, 1, -2, 2, -1 },
174  { 1, 1, 0, -2, 0 },
175  { 2, 0, 0, -2, 1 },
176  { 1, 0, 0, 2, 0 },
177 
178  /* 51-60 */
179  { 0, 1, 2, -2, 1 },
180  { 1, -1, 0, 0, 0 },
181  { 0, 1, -1, 1, -1 },
182  { 2, 0, -2, 0, -2 },
183  { 0, 1, 0, -2, 0 },
184  { 1, 0, 0, -1, 0 },
185  { 3, 0, 2, 0, 2 },
186  { 0, 0, 0, 1, 0 },
187  { 1, -1, 2, 0, 2 },
188  { 1, 1, -2, -2, -2 },
189 
190  /* 61-70 */
191  { 1, 0, -2, 0, 0 },
192  { 2, 0, 0, 0, -1 },
193  { 0, 1, -2, -2, -2 },
194  { 1, 1, 2, 0, 2 },
195  { 2, 0, 0, 0, 1 },
196  { 1, 1, 0, 0, 0 },
197  { 1, 0, -2, 2, -1 },
198  { 1, 0, 2, 0, 0 },
199  { 1, -1, 0, -1, 0 },
200  { 1, 0, 0, 0, 2 },
201 
202  /* 71-80 */
203  { 1, 0, -1, 0, -1 },
204  { 0, 0, 2, 1, 2 },
205  { 1, 0, -2, -4, -2 },
206  { 1, -1, 0, -1, -1 },
207  { 1, 0, 2, 2, 1 },
208  { 0, 2, -2, 2, -1 },
209  { 1, 0, 0, 0, -2 },
210  { 2, 0, -2, -2, -2 },
211  { 1, 1, 2, -2, 2 },
212  { 2, 0, -2, -4, -2 },
213 
214  /* 81-90 */
215  { 1, 0, -4, 0, -2 },
216  { 2, 0, 2, -2, 1 },
217  { 1, 0, 0, -1, -1 },
218  { 2, 0, 2, 2, 2 },
219  { 3, 0, 0, 0, 0 },
220  { 1, 0, 0, 2, 1 },
221  { 0, 0, 2, -2, -1 },
222  { 3, 0, 2, -2, 2 },
223  { 0, 0, 4, -2, 2 },
224  { 1, 0, 0, -4, 0 },
225 
226  /* 91-100 */
227  { 0, 1, 2, 0, 1 },
228  { 2, 0, 0, -4, 0 },
229  { 1, 1, 0, -2, -1 },
230  { 2, 0, -2, 0, 1 },
231  { 0, 0, 2, 0, -1 },
232  { 0, 1, -2, 0, -1 },
233  { 0, 1, 0, 0, 2 },
234  { 0, 0, 2, -1, 2 },
235  { 0, 0, 2, 4, 2 },
236  { 2, 1, 0, -2, 0 },
237 
238  /* 101-110 */
239  { 1, 1, 0, -2, 1 },
240  { 1, -1, 0, -2, 0 },
241  { 1, -1, 0, -1, -2 },
242  { 1, -1, 0, 0, 1 },
243  { 0, 1, -2, 2, 0 },
244  { 0, 1, 0, 0, -2 },
245  { 1, -1, 2, 2, 2 },
246  { 1, 0, 0, 2, -1 },
247  { 1, -1, -2, -2, -2 },
248  { 3, 0, 2, 0, 1 },
249 
250  /* 111-120 */
251  { 0, 1, 2, 2, 2 },
252  { 1, 0, 2, -2, 0 },
253  { 1, 1, -2, -2, -1 },
254  { 1, 0, 2, -4, 1 },
255  { 0, 1, -2, -2, -1 },
256  { 2, -1, 2, 0, 2 },
257  { 0, 0, 0, 2, 2 },
258  { 1, -1, 2, 0, 1 },
259  { 1, -1, -2, 0, -2 },
260  { 0, 1, 0, 2, 0 },
261 
262  /* 121-130 */
263  { 0, 1, 2, -2, 0 },
264  { 0, 0, 0, 1, 1 },
265  { 1, 0, -2, -2, 0 },
266  { 0, 3, 2, -2, 2 },
267  { 2, 1, 2, 0, 2 },
268  { 1, 1, 0, 0, 1 },
269  { 2, 0, 0, 2, 0 },
270  { 1, 1, 2, 0, 1 },
271  { 1, 0, 0, -2, -2 },
272  { 1, 0, -2, 2, 0 },
273 
274  /* 131-140 */
275  { 1, 0, -1, 0, -2 },
276  { 0, 1, 0, -2, 1 },
277  { 0, 1, 0, 1, 0 },
278  { 0, 0, 0, 1, -1 },
279  { 1, 0, -2, 2, -2 },
280  { 1, -1, 0, 0, -1 },
281  { 0, 0, 0, 4, 0 },
282  { 1, -1, 0, 2, 0 },
283  { 1, 0, 2, 1, 2 },
284  { 1, 0, 2, -1, 2 },
285 
286  /* 141-150 */
287  { 0, 0, 2, 1, 1 },
288  { 1, 0, 0, -2, 2 },
289  { 1, 0, -2, 0, 1 },
290  { 1, 0, -2, -4, -1 },
291  { 0, 0, 2, 2, 0 },
292  { 1, 1, 2, -2, 1 },
293  { 1, 0, -2, 1, -1 },
294  { 0, 0, 1, 0, 1 },
295  { 2, 0, -2, -2, -1 },
296  { 4, 0, 2, 0, 2 },
297 
298  /* 151-160 */
299  { 2, -1, 0, 0, 0 },
300  { 2, 1, 2, -2, 2 },
301  { 0, 1, 2, 1, 2 },
302  { 1, 0, 4, -2, 2 },
303  { 1, 1, 0, 0, -1 },
304  { 2, 0, 2, 0, 0 },
305  { 2, 0, -2, -4, -1 },
306  { 1, 0, -1, 0, 0 },
307  { 1, 0, 0, 1, 0 },
308  { 0, 1, 0, 2, 1 },
309 
310  /* 161-170 */
311  { 1, 0, -4, 0, -1 },
312  { 1, 0, 0, -4, -1 },
313  { 2, 0, 2, 2, 1 },
314  { 2, 1, 0, 0, 0 },
315  { 0, 0, 2, -3, 2 },
316  { 1, 2, 0, -2, 0 },
317  { 0, 3, 0, 0, 0 },
318  { 0, 0, 4, 0, 2 },
319  { 0, 0, 2, -4, 1 },
320  { 2, 0, 0, -2, -2 },
321 
322  /* 171-180 */
323  { 1, 1, -2, -4, -2 },
324  { 0, 1, 0, -2, -1 },
325  { 0, 0, 0, 4, 1 },
326  { 3, 0, 2, -2, 1 },
327  { 1, 0, 2, 4, 2 },
328  { 1, 1, -2, 0, -2 },
329  { 0, 0, 4, -2, 1 },
330  { 2, -2, 0, -2, 0 },
331  { 2, 1, 0, -2, -1 },
332  { 0, 2, 0, -2, 0 },
333 
334  /* 181-190 */
335  { 1, 0, 0, -1, 1 },
336  { 1, 1, 2, 2, 2 },
337  { 3, 0, 0, 0, -1 },
338  { 2, 0, 0, -4, -1 },
339  { 3, 0, 2, 2, 2 },
340  { 0, 0, 2, 4, 1 },
341  { 0, 2, -2, -2, -2 },
342  { 1, -1, 0, -2, -1 },
343  { 0, 0, 2, -1, 1 },
344  { 2, 0, 0, 2, 1 },
345 
346  /* 191-200 */
347  { 1, -1, -2, 2, -1 },
348  { 0, 0, 0, 2, -2 },
349  { 2, 0, 0, -4, 1 },
350  { 1, 0, 0, -4, 1 },
351  { 2, 0, 2, -4, 1 },
352  { 4, 0, 2, -2, 2 },
353  { 2, 1, -2, 0, -1 },
354  { 2, 1, -2, -4, -2 },
355  { 3, 0, 0, -4, 0 },
356  { 1, -1, 2, 2, 1 },
357 
358  /* 201-210 */
359  { 1, -1, -2, 0, -1 },
360  { 0, 2, 0, 0, 1 },
361  { 1, 2, -2, -2, -2 },
362  { 1, 1, 0, -4, 0 },
363  { 2, 0, 0, -2, 2 },
364  { 0, 2, 2, -2, 1 },
365  { 1, 0, 2, 0, -1 },
366  { 2, 1, 0, -2, 1 },
367  { 2, -1, -2, 0, -1 },
368  { 1, -1, -2, -2, -1 },
369 
370  /* 211-220 */
371  { 0, 1, -2, 1, -2 },
372  { 1, 0, -4, 2, -2 },
373  { 0, 1, 2, 2, 1 },
374  { 3, 0, 0, 0, 1 },
375  { 2, -1, 2, 2, 2 },
376  { 0, 1, -2, -4, -2 },
377  { 1, 0, -2, -3, -2 },
378  { 2, 0, 0, 0, 2 },
379  { 1, -1, 0, -2, -2 },
380  { 2, 0, -2, 2, -1 },
381 
382  /* 221-230 */
383  { 0, 2, -2, 0, -2 },
384  { 3, 0, -2, 0, -1 },
385  { 2, -1, 2, 0, 1 },
386  { 1, 0, -2, -1, -2 },
387  { 0, 0, 2, 0, 3 },
388  { 2, 0, -4, 0, -2 },
389  { 2, 1, 0, -4, 0 },
390  { 1, 1, -2, 1, -1 },
391  { 0, 2, 2, 0, 2 },
392  { 1, -1, 2, -2, 2 },
393 
394  /* 231-240 */
395  { 1, -1, 0, -2, 1 },
396  { 2, 1, 2, 0, 1 },
397  { 1, 0, 2, -4, 2 },
398  { 1, 1, -2, 0, -1 },
399  { 1, 1, 0, 2, 0 },
400  { 1, 0, 0, -3, 0 },
401  { 2, 0, 2, -1, 2 },
402  { 0, 2, 0, 0, -1 },
403  { 2, -1, 0, -2, 0 },
404  { 4, 0, 0, 0, 0 },
405 
406  /* 241-250 */
407  { 2, 1, -2, -2, -2 },
408  { 0, 2, -2, 2, 0 },
409  { 1, 0, 2, 1, 1 },
410  { 1, 0, -1, 0, -3 },
411  { 3, -1, 2, 0, 2 },
412  { 2, 0, 2, -2, 0 },
413  { 1, -2, 0, 0, 0 },
414  { 2, 0, 0, 0, -2 },
415  { 1, 0, 0, 4, 0 },
416  { 0, 1, 0, 1, 1 },
417 
418  /* 251-260 */
419  { 1, 0, 2, 2, 0 },
420  { 0, 1, 0, 2, -1 },
421  { 0, 1, 0, 1, -1 },
422  { 0, 0, 2, -2, 3 },
423  { 3, 1, 2, 0, 2 },
424  { 1, 1, 2, 1, 2 },
425  { 1, 1, -2, 2, -1 },
426  { 2, -1, 2, -2, 2 },
427  { 1, -2, 2, 0, 2 },
428  { 1, 0, 2, -4, 0 },
429 
430  /* 261-270 */
431  { 0, 0, 1, 0, 0 },
432  { 1, 0, 2, -3, 1 },
433  { 1, -2, 0, -2, 0 },
434  { 2, 0, 0, 2, -1 },
435  { 1, 1, 2, -4, 1 },
436  { 4, 0, 2, 0, 1 },
437  { 0, 1, 2, 1, 1 },
438  { 1, 2, 2, -2, 2 },
439  { 2, 0, 2, 1, 2 },
440  { 2, 1, 2, -2, 1 },
441 
442  /* 271-280 */
443  { 1, 0, 2, -1, 1 },
444  { 1, 0, 4, -2, 1 },
445  { 1, -1, 2, -2, 1 },
446  { 0, 1, 0, -4, 0 },
447  { 3, 0, -2, -2, -2 },
448  { 0, 0, 4, -4, 2 },
449  { 2, 0, -4, -2, -2 },
450  { 2, -2, 0, -2, -1 },
451  { 1, 0, 2, -2, -1 },
452  { 2, 0, -2, -6, -2 },
453 
454  /* 281-290 */
455  { 1, 0, -2, 1, -2 },
456  { 1, 0, -2, 2, 1 },
457  { 1, -1, 0, 2, -1 },
458  { 1, 0, -2, 1, 0 },
459  { 2, -1, 0, -2, 1 },
460  { 1, -1, 0, 2, 1 },
461  { 2, 0, -2, -2, 0 },
462  { 1, 0, 2, -3, 2 },
463  { 0, 0, 0, 4, -1 },
464  { 2, -1, 0, 0, 1 },
465 
466  /* 291-300 */
467  { 2, 0, 4, -2, 2 },
468  { 0, 0, 2, 3, 2 },
469  { 0, 1, 4, -2, 2 },
470  { 0, 1, -2, 2, 1 },
471  { 1, 1, 0, 2, 1 },
472  { 1, 0, 0, 4, 1 },
473  { 0, 0, 4, 0, 1 },
474  { 2, 0, 0, -3, 0 },
475  { 1, 0, 0, -1, -2 },
476  { 1, -2, -2, -2, -2 },
477 
478  /* 301-310 */
479  { 3, 0, 0, 2, 0 },
480  { 2, 0, 2, -4, 2 },
481  { 1, 1, -2, -4, -1 },
482  { 1, 0, -2, -6, -2 },
483  { 2, -1, 0, 0, -1 },
484  { 2, -1, 0, 2, 0 },
485  { 0, 1, 2, -2, -1 },
486  { 1, 1, 0, 1, 0 },
487  { 1, 2, 0, -2, -1 },
488  { 1, 0, 0, 1, -1 },
489 
490  /* 311-320 */
491  { 0, 0, 1, 0, 2 },
492  { 3, 1, 2, -2, 2 },
493  { 1, 0, -4, -2, -2 },
494  { 1, 0, 2, 4, 1 },
495  { 1, -2, 2, 2, 2 },
496  { 1, -1, -2, -4, -2 },
497  { 0, 0, 2, -4, 2 },
498  { 0, 0, 2, -3, 1 },
499  { 2, 1, -2, 0, 0 },
500  { 3, 0, -2, -2, -1 },
501 
502  /* 321-330 */
503  { 2, 0, 2, 4, 2 },
504  { 0, 0, 0, 0, 3 },
505  { 2, -1, -2, -2, -2 },
506  { 2, 0, 0, -1, 0 },
507  { 3, 0, 2, -4, 2 },
508  { 2, 1, 2, 2, 2 },
509  { 0, 0, 3, 0, 3 },
510  { 1, 1, 2, 2, 1 },
511  { 2, 1, 0, 0, -1 },
512  { 1, 2, 0, -2, 1 },
513 
514  /* 331-340 */
515  { 3, 0, 2, 2, 1 },
516  { 1, -1, -2, 2, -2 },
517  { 1, 1, 0, -1, 0 },
518  { 1, 2, 0, 0, 0 },
519  { 1, 0, 4, 0, 2 },
520  { 1, -1, 2, 4, 2 },
521  { 2, 1, 0, 0, 1 },
522  { 1, 0, 0, 2, 2 },
523  { 1, -1, -2, 2, 0 },
524  { 0, 2, -2, -2, -1 },
525 
526  /* 341-350 */
527  { 2, 0, -2, 0, 2 },
528  { 5, 0, 2, 0, 2 },
529  { 3, 0, -2, -6, -2 },
530  { 1, -1, 2, -1, 2 },
531  { 3, 0, 0, -4, -1 },
532  { 1, 0, 0, 1, 1 },
533  { 1, 0, -4, 2, -1 },
534  { 0, 1, 2, -4, 1 },
535  { 1, 2, 2, 0, 2 },
536  { 0, 1, 0, -2, -2 },
537 
538  /* 351-360 */
539  { 0, 0, 2, -1, 0 },
540  { 1, 0, 1, 0, 1 },
541  { 0, 2, 0, -2, 1 },
542  { 3, 0, 2, 0, 0 },
543  { 1, 1, -2, 1, 0 },
544  { 2, 1, -2, -4, -1 },
545  { 3, -1, 0, 0, 0 },
546  { 2, -1, -2, 0, 0 },
547  { 4, 0, 2, -2, 1 },
548  { 2, 0, -2, 2, 0 },
549 
550  /* 361-370 */
551  { 1, 1, 2, -2, 0 },
552  { 1, 0, -2, 4, -1 },
553  { 1, 0, -2, -2, 1 },
554  { 2, 0, 2, -4, 0 },
555  { 1, 1, 0, -2, -2 },
556  { 1, 1, -2, -2, 0 },
557  { 1, 0, 1, -2, 1 },
558  { 2, -1, -2, -4, -2 },
559  { 3, 0, -2, 0, -2 },
560  { 0, 1, -2, -2, 0 },
561 
562  /* 371-380 */
563  { 3, 0, 0, -2, -1 },
564  { 1, 0, -2, -3, -1 },
565  { 0, 1, 0, -4, -1 },
566  { 1, -2, 2, -2, 1 },
567  { 0, 1, -2, 1, -1 },
568  { 1, -1, 0, 0, 2 },
569  { 2, 0, 0, 1, 0 },
570  { 1, -2, 0, 2, 0 },
571  { 1, 2, -2, -2, -1 },
572  { 0, 0, 4, -4, 1 },
573 
574  /* 381-390 */
575  { 0, 1, 2, 4, 2 },
576  { 0, 1, -4, 2, -2 },
577  { 3, 0, -2, 0, 0 },
578  { 2, -1, 2, 2, 1 },
579  { 0, 1, -2, -4, -1 },
580  { 4, 0, 2, 2, 2 },
581  { 2, 0, -2, -3, -2 },
582  { 2, 0, 0, -6, 0 },
583  { 1, 0, 2, 0, 3 },
584  { 3, 1, 0, 0, 0 },
585 
586  /* 391-400 */
587  { 3, 0, 0, -4, 1 },
588  { 1, -1, 2, 0, 0 },
589  { 1, -1, 0, -4, 0 },
590  { 2, 0, -2, 2, -2 },
591  { 1, 1, 0, -2, 2 },
592  { 4, 0, 0, -2, 0 },
593  { 2, 2, 0, -2, 0 },
594  { 0, 1, 2, 0, 0 },
595  { 1, 1, 0, -4, 1 },
596  { 1, 0, 0, -4, -2 },
597 
598  /* 401-410 */
599  { 0, 0, 0, 1, 2 },
600  { 3, 0, 0, 2, 1 },
601  { 1, 1, 0, -4, -1 },
602  { 0, 0, 2, 2, -1 },
603  { 1, 1, 2, 0, 0 },
604  { 1, -1, 2, -4, 1 },
605  { 1, 1, 0, 0, 2 },
606  { 0, 0, 2, 6, 2 },
607  { 4, 0, -2, -2, -1 },
608  { 2, 1, 0, -4, -1 },
609 
610  /* 411-420 */
611  { 0, 0, 0, 3, 1 },
612  { 1, -1, -2, 0, 0 },
613  { 0, 0, 2, 1, 0 },
614  { 1, 0, 0, 2, -2 },
615  { 3, -1, 2, 2, 2 },
616  { 3, -1, 2, -2, 2 },
617  { 1, 0, 0, -1, 2 },
618  { 1, -2, 2, -2, 2 },
619  { 0, 1, 0, 2, 2 },
620  { 0, 1, -2, -1, -2 },
621 
622  /* 421-430 */
623  { 1, 1, -2, 0, 0 },
624  { 0, 2, 2, -2, 0 },
625  { 3, -1, -2, -1, -2 },
626  { 1, 0, 0, -6, 0 },
627  { 1, 0, -2, -4, 0 },
628  { 2, 1, 0, -4, 1 },
629  { 2, 0, 2, 0, -1 },
630  { 2, 0, -4, 0, -1 },
631  { 0, 0, 3, 0, 2 },
632  { 2, 1, -2, -2, -1 },
633 
634  /* 431-440 */
635  { 1, -2, 0, 0, 1 },
636  { 2, -1, 0, -4, 0 },
637  { 0, 0, 0, 3, 0 },
638  { 5, 0, 2, -2, 2 },
639  { 1, 2, -2, -4, -2 },
640  { 1, 0, 4, -4, 2 },
641  { 0, 0, 4, -1, 2 },
642  { 3, 1, 0, -4, 0 },
643  { 3, 0, 0, -6, 0 },
644  { 2, 0, 0, 2, 2 },
645 
646  /* 441-450 */
647  { 2, -2, 2, 0, 2 },
648  { 1, 0, 0, -3, 1 },
649  { 1, -2, -2, 0, -2 },
650  { 1, -1, -2, -3, -2 },
651  { 0, 0, 2, -2, -2 },
652  { 2, 0, -2, -4, 0 },
653  { 1, 0, -4, 0, 0 },
654  { 0, 1, 0, -1, 0 },
655  { 4, 0, 0, 0, -1 },
656  { 3, 0, 2, -1, 2 },
657 
658  /* 451-460 */
659  { 3, -1, 2, 0, 1 },
660  { 2, 0, 2, -1, 1 },
661  { 1, 2, 2, -2, 1 },
662  { 1, 1, 0, 2, -1 },
663  { 0, 2, 2, 0, 1 },
664  { 3, 1, 2, 0, 1 },
665  { 1, 1, 2, 1, 1 },
666  { 1, 1, 0, -1, 1 },
667  { 1, -2, 0, -2, -1 },
668  { 4, 0, 0, -4, 0 },
669 
670  /* 461-470 */
671  { 2, 1, 0, 2, 0 },
672  { 1, -1, 0, 4, 0 },
673  { 0, 1, 0, -2, 2 },
674  { 0, 0, 2, 0, -2 },
675  { 1, 0, -1, 0, 1 },
676  { 3, 0, 2, -2, 0 },
677  { 2, 0, 2, 2, 0 },
678  { 1, 2, 0, -4, 0 },
679  { 1, -1, 0, -3, 0 },
680  { 0, 1, 0, 4, 0 },
681 
682  /* 471 - 480 */
683  { 0, 1, -2, 0, 0 },
684  { 2, 2, 2, -2, 2 },
685  { 0, 0, 0, 1, -2 },
686  { 0, 2, -2, 0, -1 },
687  { 4, 0, 2, -4, 2 },
688  { 2, 0, -4, 2, -2 },
689  { 2, -1, -2, 0, -2 },
690  { 1, 1, 4, -2, 2 },
691  { 1, 1, 2, -4, 2 },
692  { 1, 0, 2, 3, 2 },
693 
694  /* 481-490 */
695  { 1, 0, 0, 4, -1 },
696  { 0, 0, 0, 4, 2 },
697  { 2, 0, 0, 4, 0 },
698  { 1, 1, -2, 2, 0 },
699  { 2, 1, 2, 1, 2 },
700  { 2, 1, 2, -4, 1 },
701  { 2, 0, 2, 1, 1 },
702  { 2, 0, -4, -2, -1 },
703  { 2, 0, -2, -6, -1 },
704  { 2, -1, 2, -1, 2 },
705 
706  /* 491-500 */
707  { 1, -2, 2, 0, 1 },
708  { 1, -2, 0, -2, 1 },
709  { 1, -1, 0, -4, -1 },
710  { 0, 2, 2, 2, 2 },
711  { 0, 2, -2, -4, -2 },
712  { 0, 1, 2, 3, 2 },
713  { 0, 1, 0, -4, 1 },
714  { 3, 0, 0, -2, 1 },
715  { 2, 1, -2, 0, 1 },
716  { 2, 0, 4, -2, 1 },
717 
718  /* 501-510 */
719  { 2, 0, 0, -3, -1 },
720  { 2, -2, 0, -2, 1 },
721  { 2, -1, 2, -2, 1 },
722  { 1, 0, 0, -6, -1 },
723  { 1, -2, 0, 0, -1 },
724  { 1, -2, -2, -2, -1 },
725  { 0, 1, 4, -2, 1 },
726  { 0, 0, 2, 3, 1 },
727  { 2, -1, 0, -1, 0 },
728  { 1, 3, 0, -2, 0 },
729 
730  /* 511-520 */
731  { 0, 3, 0, -2, 0 },
732  { 2, -2, 2, -2, 2 },
733  { 0, 0, 4, -2, 0 },
734  { 4, -1, 2, 0, 2 },
735  { 2, 2, -2, -4, -2 },
736  { 4, 1, 2, 0, 2 },
737  { 4, -1, -2, -2, -2 },
738  { 2, 1, 0, -2, -2 },
739  { 2, 1, -2, -6, -2 },
740  { 2, 0, 0, -1, 1 },
741 
742  /* 521-530 */
743  { 2, -1, -2, 2, -1 },
744  { 1, 1, -2, 2, -2 },
745  { 1, 1, -2, -3, -2 },
746  { 1, 0, 3, 0, 3 },
747  { 1, 0, -2, 1, 1 },
748  { 1, 0, -2, 0, 2 },
749  { 1, -1, 2, 1, 2 },
750  { 1, -1, 0, 0, -2 },
751  { 1, -1, -4, 2, -2 },
752  { 0, 3, -2, -2, -2 },
753 
754  /* 531-540 */
755  { 0, 1, 0, 4, 1 },
756  { 0, 0, 4, 2, 2 },
757  { 3, 0, -2, -2, 0 },
758  { 2, -2, 0, 0, 0 },
759  { 1, 1, 2, -4, 0 },
760  { 1, 1, 0, -3, 0 },
761  { 1, 0, 2, -3, 0 },
762  { 1, -1, 2, -2, 0 },
763  { 0, 2, 0, 2, 0 },
764  { 0, 0, 2, 4, 0 },
765 
766  /* 541-550 */
767  { 1, 0, 1, 0, 0 },
768  { 3, 1, 2, -2, 1 },
769  { 3, 0, 4, -2, 2 },
770  { 3, 0, 2, 1, 2 },
771  { 3, 0, 0, 2, -1 },
772  { 3, 0, 0, 0, 2 },
773  { 3, 0, -2, 2, -1 },
774  { 2, 0, 4, -4, 2 },
775  { 2, 0, 2, -3, 2 },
776  { 2, 0, 0, 4, 1 },
777 
778  /* 551-560 */
779  { 2, 0, 0, -3, 1 },
780  { 2, 0, -4, 2, -1 },
781  { 2, 0, -2, -2, 1 },
782  { 2, -2, 2, 2, 2 },
783  { 2, -2, 0, -2, -2 },
784  { 2, -1, 0, 2, 1 },
785  { 2, -1, 0, 2, -1 },
786  { 1, 1, 2, 4, 2 },
787  { 1, 1, 0, 1, 1 },
788  { 1, 1, 0, 1, -1 },
789 
790  /* 561-570 */
791  { 1, 1, -2, -6, -2 },
792  { 1, 0, 0, -3, -1 },
793  { 1, 0, -4, -2, -1 },
794  { 1, 0, -2, -6, -1 },
795  { 1, -2, 2, 2, 1 },
796  { 1, -2, -2, 2, -1 },
797  { 1, -1, -2, -4, -1 },
798  { 0, 2, 0, 0, 2 },
799  { 0, 1, 2, -4, 2 },
800  { 0, 1, -2, 4, -1 },
801 
802  /* 571-580 */
803  { 5, 0, 0, 0, 0 },
804  { 3, 0, 0, -3, 0 },
805  { 2, 2, 0, -4, 0 },
806  { 1, -1, 2, 2, 0 },
807  { 0, 1, 0, 3, 0 },
808  { 4, 0, -2, 0, -1 },
809  { 3, 0, -2, -6, -1 },
810  { 3, 0, -2, -1, -1 },
811  { 2, 1, 2, 2, 1 },
812  { 2, 1, 0, 2, 1 },
813 
814  /* 581-590 */
815  { 2, 0, 2, 4, 1 },
816  { 2, 0, 2, -6, 1 },
817  { 2, 0, 2, -2, -1 },
818  { 2, 0, 0, -6, -1 },
819  { 2, -1, -2, -2, -1 },
820  { 1, 2, 2, 0, 1 },
821  { 1, 2, 0, 0, 1 },
822  { 1, 0, 4, 0, 1 },
823  { 1, 0, 2, -6, 1 },
824  { 1, 0, 2, -4, -1 },
825 
826  /* 591-600 */
827  { 1, 0, -1, -2, -1 },
828  { 1, -1, 2, 4, 1 },
829  { 1, -1, 2, -3, 1 },
830  { 1, -1, 0, 4, 1 },
831  { 1, -1, -2, 1, -1 },
832  { 0, 1, 2, -2, 3 },
833  { 3, 0, 0, -2, 0 },
834  { 1, 0, 1, -2, 0 },
835  { 0, 2, 0, -4, 0 },
836  { 0, 0, 2, -4, 0 },
837 
838  /* 601-610 */
839  { 0, 0, 1, -1, 0 },
840  { 0, 0, 0, 6, 0 },
841  { 0, 2, 0, 0, -2 },
842  { 0, 1, -2, 2, -3 },
843  { 4, 0, 0, 2, 0 },
844  { 3, 0, 0, -1, 0 },
845  { 3, -1, 0, 2, 0 },
846  { 2, 1, 0, 1, 0 },
847  { 2, 1, 0, -6, 0 },
848  { 2, -1, 2, 0, 0 },
849 
850  /* 611-620 */
851  { 1, 0, 2, -1, 0 },
852  { 1, -1, 0, 1, 0 },
853  { 1, -1, -2, -2, 0 },
854  { 0, 1, 2, 2, 0 },
855  { 0, 0, 2, -3, 0 },
856  { 2, 2, 0, -2, -1 },
857  { 2, -1, -2, 0, 1 },
858  { 1, 2, 2, -4, 1 },
859  { 0, 1, 4, -4, 2 },
860  { 0, 0, 0, 3, 2 },
861 
862  /* 621-630 */
863  { 5, 0, 2, 0, 1 },
864  { 4, 1, 2, -2, 2 },
865  { 4, 0, -2, -2, 0 },
866  { 3, 1, 2, 2, 2 },
867  { 3, 1, 0, -2, 0 },
868  { 3, 1, -2, -6, -2 },
869  { 3, 0, 0, 0, -2 },
870  { 3, 0, -2, -4, -2 },
871  { 3, -1, 0, -3, 0 },
872  { 3, -1, 0, -2, 0 },
873 
874  /* 631-640 */
875  { 2, 1, 2, 0, 0 },
876  { 2, 1, 2, -4, 2 },
877  { 2, 1, 2, -2, 0 },
878  { 2, 1, 0, -3, 0 },
879  { 2, 1, -2, 0, -2 },
880  { 2, 0, 0, -4, 2 },
881  { 2, 0, 0, -4, -2 },
882  { 2, 0, -2, -5, -2 },
883  { 2, -1, 2, 4, 2 },
884  { 2, -1, 0, -2, 2 },
885 
886  /* 641-650 */
887  { 1, 3, -2, -2, -2 },
888  { 1, 1, 0, 0, -2 },
889  { 1, 1, 0, -6, 0 },
890  { 1, 1, -2, 1, -2 },
891  { 1, 1, -2, -1, -2 },
892  { 1, 0, 2, 1, 0 },
893  { 1, 0, 0, 3, 0 },
894  { 1, 0, 0, -4, 2 },
895  { 1, 0, -2, 4, -2 },
896  { 1, -2, 0, -1, 0 },
897 
898  /* 651-NFLS */
899  { 0, 1, -4, 2, -1 },
900  { 1, 0, -2, 0, -3 },
901  { 0, 0, 4, -4, 4 }
902  };
903 
904 /* Number of frequencies: luni-solar */
905  static const int NFLS = (int) (sizeof mfals / sizeof (int) / 5);
906 
907 /* Fundamental-argument multipliers: planetary terms */
908  static const int mfapl[][14] = {
909 
910  /* 1-10 */
911  { 0, 0, 1, -1, 1, 0, 0, -1, 0, -2, 5, 0, 0, 0 },
912  { 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -5, 0, 0, -1 },
913  { 0, 0, 0, 0, 0, 0, 3, -5, 0, 0, 0, 0, 0, -2 },
914  { 0, 0, 1, -1, 1, 0, -8, 12, 0, 0, 0, 0, 0, 0 },
915  { 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 2 },
916  { 0, 0, 0, 0, 0, 0, 0, 4, -8, 3, 0, 0, 0, 0 },
917  { 0, 0, 0, 0, 0, 0, 1, -1, 0, 0, 0, 0, 0, 0 },
918  { 0, 0, 0, 0, 0, 0, 0, 8,-16, 4, 5, 0, 0, 0 },
919  { 0, 0, 0, 0, 0, 0, 0, 1, 0, -1, 0, 0, 0, 0 },
920  { 0, 0, 0, 0, 1, 0, 0, -1, 2, 0, 0, 0, 0, 0 },
921 
922  /* 11-20 */
923  { 0, 0, 0, 0, 0, 0, 8,-13, 0, 0, 0, 0, 0, -1 },
924  { 0, 0, 1, -1, 1, 0, 0, -1, 0, 2, -5, 0, 0, 0 },
925  { 0, 0, 2, -2, 1, 0, -5, 6, 0, 0, 0, 0, 0, 0 },
926  { 0, 0, 0, 0, 0, 0, 4, -6, 0, 0, 0, 0, 0, -2 },
927  { 0, 0, 0, 0, 0, 0, 0, 3, 0, -1, 0, 0, 0, 2 },
928  { 0, 0, 0, 0, 0, 0, 0, 2, -8, 3, 0, 0, 0, -2 },
929  { 0, 0, 0, 0, 0, 0, 2, -4, 0, 0, 0, 0, 0, -2 },
930  { 0, 0, 0, 0, 0, 0, 0, 6, -8, 3, 0, 0, 0, 2 },
931  { 0, 0, 0, 0, 0, 0, 0, 1, -2, 0, 0, 0, 0, 0 },
932  { 0, 0, 0, 0, 0, 0, 2, -3, 0, 0, 0, 0, 0, 0 },
933 
934  /* 21-30 */
935  { 0, 0, 0, 0, 0, 0, 2, -2, 0, 0, 0, 0, 0, 0 },
936  { 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 2 },
937  { 0, 0, 0, 0, 1, 0, 0, -4, 8, -3, 0, 0, 0, 0 },
938  { 0, 0, 0, 0, 1, 0, 0, 4, -8, 3, 0, 0, 0, 0 },
939  { 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -5, 0, 0, 0 },
940  { 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 2 },
941  { 0, 0, 1, -1, 1, 0, 0, 0, -2, 0, 0, 0, 0, 0 },
942  { 2, 0, 0, -2, -1, 0, 0, -2, 0, 2, 0, 0, 0, 0 },
943  { 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 1 },
944  { 2, 0, 0, -2, 0, 0, 0, -2, 0, 2, 0, 0, 0, 0 },
945 
946  /* 31-40 */
947  { 0, 0, 0, 0, 0, 0, 0, 2, 0, -2, 0, 0, 0, 0 },
948  { 0, 0, 0, 0, 0, 0, 8,-13, 0, 0, 0, 0, 0, 0 },
949  { 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 2 },
950  { 0, 0, 0, 0, 0, 0, 5, -8, 0, 0, 0, 0, 0, -2 },
951  { 0, 0, 0, 0, 0, 0, 0, 2, -2, 0, 0, 0, 0, 0 },
952  { 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -5, 0, 0, 1 },
953  { 2, 0, 0, -2, 0, 0, 0, -2, 0, 3, 0, 0, 0, 0 },
954  { 0, 0, 1, -1, 1, 0, 0, -1, 0, -1, 0, 0, 0, 0 },
955  { 0, 0, 0, 0, 0, 0, 3, -4, 0, 0, 0, 0, 0, 0 },
956  { 0, 0, 1, -1, 1, 0, 0, -1, 0, 0, -1, 0, 0, 0 },
957 
958  /* 41-50 */
959  { 0, 0, 0, 0, 0, 0, 0, 1, 0, -2, 0, 0, 0, 0 },
960  { 0, 0, 0, 0, 0, 0, 5, -7, 0, 0, 0, 0, 0, -2 },
961  { 0, 0, 1, -1, 0, 0, 0, 0, -2, 0, 0, 0, 0, 0 },
962  { 0, 0, 0, 0, 0, 0, 0, 4, 0, -2, 0, 0, 0, 2 },
963  { 0, 0, 0, 0, 0, 0, 8,-13, 0, 0, 0, 0, 0, -2 },
964  { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0 },
965  { 0, 0, 0, 0, 0, 0, 2, -1, 0, 0, 0, 0, 0, 2 },
966  { 1, 0, 0, 0, 0, 0,-18, 16, 0, 0, 0, 0, 0, 0 },
967  { 0, 0, 1, -1, 1, 0, 0, -1, 0, 2, 0, 0, 0, 0 },
968  { 0, 0, 0, 0, 0, 0, 0, 2, 0, 1, 0, 0, 0, 2 },
969 
970  /* 51-60 */
971  { 0, 0, 1, -1, 1, 0, -5, 7, 0, 0, 0, 0, 0, 0 },
972  { 1, 0, 0, 0, 0, 0,-10, 3, 0, 0, 0, 0, 0, 0 },
973  { 0, 0, 2, -2, 0, 0, -5, 6, 0, 0, 0, 0, 0, 0 },
974  { 0, 0, 0, 0, 0, 0, 0, 2, 0, -1, 0, 0, 0, 2 },
975  { 1, 0, 2, 0, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0 },
976  { 0, 0, 0, 0, 0, 0, 0, 4, -2, 0, 0, 0, 0, 2 },
977  { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 1 },
978  { 1, 0, -2, 0, -2, 0, 0, 4, -8, 3, 0, 0, 0, 0 },
979  { 0, 0, 1, -1, 1, 0, 0, -1, 0, 0, 2, 0, 0, 0 },
980  { 0, 0, 2, -2, 1, 0, -3, 3, 0, 0, 0, 0, 0, 0 },
981 
982  /* 61-70 */
983  { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 2 },
984  { 0, 0, 0, 0, 0, 0, 0, 8,-16, 4, 5, 0, 0, -2 },
985  { 0, 0, 1, -1, 1, 0, 0, 3, -8, 3, 0, 0, 0, 0 },
986  { 0, 0, 0, 0, 0, 0, 8,-11, 0, 0, 0, 0, 0, -2 },
987  { 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 2 },
988  { 0, 0, 0, 0, 0, 0, 0, 8,-16, 4, 5, 0, 0, 2 },
989  { 0, 0, 0, 0, 0, 0, 1, -1, 0, 0, 0, 0, 0, -1 },
990  { 0, 0, 0, 0, 0, 0, 4, -6, 0, 0, 0, 0, 0, -1 },
991  { 0, 0, 0, 0, 0, 0, 0, 1, 0, -3, 0, 0, 0, -2 },
992  { 0, 0, 0, 0, 0, 0, 0, 2, -4, 0, 0, 0, 0, 0 },
993 
994  /* 71-80 */
995  { 0, 0, 0, 0, 0, 0, 6, -8, 0, 0, 0, 0, 0, -2 },
996  { 0, 0, 0, 0, 0, 0, 3, -2, 0, 0, 0, 0, 0, 2 },
997  { 0, 0, 0, 0, 0, 0, 8,-15, 0, 0, 0, 0, 0, -2 },
998  { 0, 0, 0, 0, 0, 0, 2, -5, 0, 0, 0, 0, 0, -2 },
999  { 0, 0, 0, 0, 0, 0, 1, -3, 0, 0, 0, 0, 0, -2 },
1000  { 0, 0, 0, 0, 0, 0, 0, 3, 0, -2, 0, 0, 0, 2 },
1001  { 0, 0, 1, -1, 1, 0, 0, -5, 8, -3, 0, 0, 0, 0 },
1002  { 0, 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 2 },
1003  { 0, 0, 0, 0, 0, 0, 0, 3, -2, 0, 0, 0, 0, 2 },
1004  { 0, 0, 0, 0, 0, 0, 3, -5, 0, 0, 0, 0, 0, 0 },
1005 
1006  /* 81-90 */
1007  { 2, 0, 0, -2, 1, 0, 0, -2, 0, 3, 0, 0, 0, 0 },
1008  { 0, 0, 0, 0, 0, 0, 5, -8, 0, 0, 0, 0, 0, -1 },
1009  { 2, 0, 0, -2, 0, 0, -3, 3, 0, 0, 0, 0, 0, 0 },
1010  { 0, 0, 0, 0, 1, 0, 8,-13, 0, 0, 0, 0, 0, 0 },
1011  { 0, 0, 0, 0, 1, 0, 0, 0, 0, -2, 5, 0, 0, 0 },
1012  { 1, 0, 0, -1, 0, 0, -3, 4, 0, 0, 0, 0, 0, 0 },
1013  { 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 2 },
1014  { 1, 0, 0, 0, -1, 0,-18, 16, 0, 0, 0, 0, 0, 0 },
1015  { 0, 0, 0, 0, 1, 0, 0, 0, 0, 2, -5, 0, 0, 0 },
1016  { 0, 0, 0, 0, 1, 0, 0, 0, 0, 1, 0, 0, 0, 0 },
1017 
1018  /* 91-100 */
1019  { 1, 0, 0, -2, 0, 0, 19,-21, 3, 0, 0, 0, 0, 0 },
1020  { 0, 0, 0, 0, 1, 0, -8, 13, 0, 0, 0, 0, 0, 0 },
1021  { 0, 0, 1, -1, 1, 0, 0, -1, 0, 0, 1, 0, 0, 0 },
1022  { 0, 0, 0, 0, 0, 0, 7, -9, 0, 0, 0, 0, 0, -2 },
1023  { 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 2 },
1024  { 1, 0, 0, 0, 1, 0,-18, 16, 0, 0, 0, 0, 0, 0 },
1025  { 0, 0, 0, 0, 0, 0, 2, -4, 0, 0, 0, 0, 0, -1 },
1026  { 0, 0, 0, 0, 0, 0, 0, 6,-16, 4, 5, 0, 0, -2 },
1027  { 0, 0, 0, 0, 0, 0, 4, -7, 0, 0, 0, 0, 0, -2 },
1028  { 0, 0, 0, 0, 0, 0, 3, -7, 0, 0, 0, 0, 0, -2 },
1029 
1030  /* 101-110 */
1031  { 0, 0, 0, 0, 0, 0, 2, -2, 0, 0, 0, 0, 0, -1 },
1032  { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 1 },
1033  { 2, 0, 0, -2, 1, 0, 0, -2, 0, 2, 0, 0, 0, 0 },
1034  { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, -1 },
1035  { 0, 0, 0, 0, 0, 0, 0, 3, -4, 0, 0, 0, 0, 0 },
1036  { 0, 0, 0, 0, 0, 0, 1, -2, 0, 0, 0, 0, 0, 0 },
1037  { 2, 0, 0, -2, -1, 0, 0, -2, 0, 3, 0, 0, 0, 0 },
1038  { 0, 0, 0, 0, 0, 0, 3, -3, 0, 0, 0, 0, 0, 0 },
1039  { 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0 },
1040  { 0, 0, 0, 0, 0, 0, 0, 1, 0, 2, 0, 0, 0, 2 },
1041 
1042  /* 111-120 */
1043  { 0, 0, 0, 0, 1, 0, 0, 1, -2, 0, 0, 0, 0, 0 },
1044  { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 2 },
1045  { 0, 0, 2, -2, 1, 0, 0, -2, 0, 2, 0, 0, 0, 0 },
1046  { 0, 0, 0, 0, 0, 0, 0, 2, 0, -3, 0, 0, 0, 0 },
1047  { 0, 0, 0, 0, 0, 0, 3, -5, 0, 0, 0, 0, 0, -1 },
1048  { 0, 0, 0, 0, 0, 0, 3, -3, 0, 0, 0, 0, 0, 2 },
1049  { 0, 0, 0, 0, 0, 0, 4, -4, 0, 0, 0, 0, 0, 0 },
1050  { 0, 0, 1, -1, 0, 0, 0, -1, 0, -1, 0, 0, 0, 0 },
1051  { 2, 0, 0, -2, 0, 0, -6, 8, 0, 0, 0, 0, 0, 0 },
1052  { 0, 0, 1, -1, 1, 0, 0, -2, 2, 0, 0, 0, 0, 0 },
1053 
1054  /* 121-130 */
1055  { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1 },
1056  { 0, 0, 1, -1, 1, 0, 0, -1, 0, 1, 0, 0, 0, 0 },
1057  { 0, 0, 0, 0, 0, 0, 0, 1, -2, 0, 0, 0, 0, -1 },
1058  { 0, 0, 0, 0, 0, 0, 0, 2, -3, 0, 0, 0, 0, 0 },
1059  { 0, 0, 0, 0, 0, 0, 0, 2, -4, 0, 0, 0, 0, -2 },
1060  { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, -1, 0, 0, 0 },
1061  { 0, 0, 0, 0, 0, 0, 8,-10, 0, 0, 0, 0, 0, -2 },
1062  { 0, 0, 1, -1, 1, 0, -3, 4, 0, 0, 0, 0, 0, 0 },
1063  { 0, 0, 0, 0, 0, 0, 6, -9, 0, 0, 0, 0, 0, -2 },
1064  { 1, 0, 0, -1, 1, 0, 0, -1, 0, 2, 0, 0, 0, 0 },
1065 
1066  /* 131-140 */
1067  { 0, 0, 0, 0, 0, 0, 5, -7, 0, 0, 0, 0, 0, -1 },
1068  { 0, 0, 0, 0, 0, 0, 5, -5, 0, 0, 0, 0, 0, 0 },
1069  { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, -1 },
1070  { 0, 0, 0, 0, 0, 0, 3, -3, 0, 0, 0, 0, 0, -1 },
1071  { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0 },
1072  { 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 2 },
1073  { 0, 0, 0, 0, 0, 0, 0, 4, 0, -3, 0, 0, 0, 2 },
1074  { 0, 0, 0, 0, 0, 0, 1, -1, 0, 0, 0, 0, 0, 1 },
1075  { 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 1 },
1076  { 0, 0, 0, 0, 1, 0, 2, -3, 0, 0, 0, 0, 0, 0 },
1077 
1078  /* 141-150 */
1079  { 1, 0, 0, -1, 0, 0, 0, -1, 0, 1, 0, 0, 0, 0 },
1080  { 0, 0, 0, 0, 0, 0, 1, -3, 0, 0, 0, 0, 0, -1 },
1081  { 0, 0, 0, 0, 0, 0, 0, 5, -4, 0, 0, 0, 0, 2 },
1082  { 0, 0, 0, 0, 0, 0, 0, 4, -4, 0, 0, 0, 0, 2 },
1083  { 0, 0, 0, 0, 0, 0, 9,-11, 0, 0, 0, 0, 0, -2 },
1084  { 0, 0, 0, 0, 0, 0, 2, -3, 0, 0, 0, 0, 0, -1 },
1085  { 0, 0, 0, 0, 0, 0, 0, 8,-15, 0, 0, 0, 0, 0 },
1086  { 0, 0, 1, -1, 1, 0, -4, 5, 0, 0, 0, 0, 0, 0 },
1087  { 0, 0, 0, 0, 0, 0, 4, -6, 0, 0, 0, 0, 0, 0 },
1088  { 0, 0, 0, 0, 0, 0, 0, 4, 0, -1, 0, 0, 0, 2 },
1089 
1090  /* 151-160 */
1091  { 1, 0, 0, -1, 1, 0, -3, 4, 0, 0, 0, 0, 0, 0 },
1092  { 0, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0 },
1093  { 0, 0, 1, -1, 1, 0, 0, -1, 0, -4, 10, 0, 0, 0 },
1094  { 0, 0, 0, 0, 1, 0, 1, -1, 0, 0, 0, 0, 0, 0 },
1095  { 0, 0, 1, -1, 0, 0, 0, -1, 0, 0, -1, 0, 0, 0 },
1096  { 0, 0, 0, 0, 0, 0, 0, 1, 0, -3, 0, 0, 0, 0 },
1097  { 0, 0, 0, 0, 0, 0, 3, -1, 0, 0, 0, 0, 0, 2 },
1098  { 0, 0, 0, 0, 0, 0, 0, 1, 0, -4, 0, 0, 0, -2 },
1099  { 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -5, 0, 0, -2 },
1100  { 0, 0, 2, -2, 1, 0, -4, 4, 0, 0, 0, 0, 0, 0 },
1101 
1102  /* 161-170 */
1103  { 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, -1, 0, 0, 2 },
1104  { 0, 0, 0, 0, 0, 0, 0, 4, -3, 0, 0, 0, 0, 2 },
1105  { 0, 0, 1, -1, 1, 0, 0, -1, 0, 0, 0, 0, 2, 0 },
1106  { 0, 0, 0, 0, 0, 0, 4, -4, 0, 0, 0, 0, 0, -1 },
1107  { 0, 0, 0, 0, 0, 0, 0, 2, -4, 0, 0, 0, 0, -1 },
1108  { 0, 0, 0, 0, 0, 0, 5, -8, 0, 0, 0, 0, 0, 0 },
1109  { 0, 0, 0, 0, 0, 0, 0, 1, -2, 0, 0, 0, 0, 1 },
1110  { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 1, 0, 0, 0 },
1111  { 0, 0, 2, -2, 1, 0, 0, -9, 13, 0, 0, 0, 0, 0 },
1112  { 2, 0, 2, 0, 2, 0, 0, 2, 0, -3, 0, 0, 0, 0 },
1113 
1114  /* 171-180 */
1115  { 0, 0, 0, 0, 0, 0, 3, -6, 0, 0, 0, 0, 0, -2 },
1116  { 0, 0, 1, -1, 2, 0, 0, -1, 0, 0, 2, 0, 0, 0 },
1117  { 1, 0, 0, -1, -1, 0, -3, 4, 0, 0, 0, 0, 0, 0 },
1118  { 0, 0, 0, 0, 0, 0, 0, 3, -6, 0, 0, 0, 0, -2 },
1119  { 0, 0, 0, 0, 0, 0, 6, -6, 0, 0, 0, 0, 0, 0 },
1120  { 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 1 },
1121  { 1, 0, 2, 0, 1, 0, 0, -2, 0, 3, 0, 0, 0, 0 },
1122  { 1, 0, -2, 0, -1, 0, 0, -1, 0, 0, 0, 0, 0, 0 },
1123  { 0, 0, 0, 0, 1, 0, 0, -2, 4, 0, 0, 0, 0, 0 },
1124  { 0, 0, 0, 0, 0, 0, 0, 3, -5, 0, 0, 0, 0, 0 },
1125 
1126  /* 181-190 */
1127  { 0, 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 2 },
1128  { 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 1 },
1129  { 0, 0, 2, 0, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0 },
1130  { 0, 0, 0, 0, 0, 0, 0, 1, -8, 3, 0, 0, 0, -2 },
1131  { 0, 0, 0, 0, 0, 0, 6,-10, 0, 0, 0, 0, 0, -2 },
1132  { 0, 0, 0, 0, 0, 0, 0, 7, -8, 3, 0, 0, 0, 2 },
1133  { 0, 0, 0, 0, 1, 0, -3, 5, 0, 0, 0, 0, 0, 0 },
1134  { 0, 0, 1, -1, 1, 0, -1, 0, 0, 0, 0, 0, 0, 0 },
1135  { 0, 0, 1, -1, 0, 0, -5, 7, 0, 0, 0, 0, 0, 0 },
1136  { 0, 0, 0, 0, 0, 0, 0, 2, 0, -2, 0, 0, 0, 1 },
1137 
1138  /* 191-200 */
1139  { 0, 0, 0, 0, 0, 0, 0, 2, 0, -1, 0, 0, 0, 0 },
1140  { 0, 0, 0, 0, 0, 0, 7,-10, 0, 0, 0, 0, 0, -2 },
1141  { 1, 0, 0, -2, 0, 0, 0, -2, 0, 2, 0, 0, 0, 0 },
1142  { 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0 },
1143  { 0, 0, 0, 0, 0, 0, 0, 1, 0, 2, -5, 0, 0, 0 },
1144  { 0, 0, 0, 0, 0, 0, 6, -8, 0, 0, 0, 0, 0, -1 },
1145  { 0, 0, 1, -1, 1, 0, 0, -9, 15, 0, 0, 0, 0, 0 },
1146  { 0, 0, 0, 0, 1, 0, -2, 3, 0, 0, 0, 0, 0, 0 },
1147  { 0, 0, 0, 0, 1, 0, -1, 1, 0, 0, 0, 0, 0, 0 },
1148  { 0, 0, 0, 0, 0, 0, 0, 3, -6, 0, 0, 0, 0, 0 },
1149 
1150  /* 201-210 */
1151  { 0, 0, 0, 0, 0, 0, 0, 1, -4, 0, 0, 0, 0, -2 },
1152  { 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 2 },
1153  { 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, -1, 0, 0, 2 },
1154  { 2, 0, 0, -2, 1, 0, -6, 8, 0, 0, 0, 0, 0, 0 },
1155  { 0, 0, 0, 0, 0, 0, 5, -5, 0, 0, 0, 0, 0, -1 },
1156  { 0, 0, 1, -1, 1, 0, 3, -6, 0, 0, 0, 0, 0, 0 },
1157  { 0, 0, 1, -1, 1, 0, -2, 2, 0, 0, 0, 0, 0, 0 },
1158  { 0, 0, 1, -1, 1, 0, 8,-14, 0, 0, 0, 0, 0, 0 },
1159  { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 0 },
1160  { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 },
1161 
1162  /* 211-220 */
1163  { 0, 0, 0, 0, 1, 0, 0, 8,-15, 0, 0, 0, 0, 0 },
1164  { 0, 0, 0, 0, 0, 0, 0, 4, -6, 0, 0, 0, 0, 0 },
1165  { 0, 0, 0, 0, 0, 0, 7, -7, 0, 0, 0, 0, 0, 0 },
1166  { 2, 0, 0, -2, 1, 0, -3, 3, 0, 0, 0, 0, 0, 0 },
1167  { 0, 0, 0, 0, 0, 0, 0, 3, -1, 0, 0, 0, 0, 2 },
1168  { 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 1, 0, 0, 2 },
1169  { 2, 0, -1, -1, 0, 0, 0, 3, -7, 0, 0, 0, 0, 0 },
1170  { 0, 0, 0, 0, 0, 0, 0, 4, -7, 0, 0, 0, 0, -2 },
1171  { 0, 0, 0, 0, 0, 0, 0, 3, -3, 0, 0, 0, 0, 0 },
1172  { 0, 0, 1, -1, 1, 0, 0, -3, 4, 0, 0, 0, 0, 0 },
1173 
1174  /* 221-230 */
1175  { 2, 0, 0, -2, 0, 0, 0, -6, 8, 0, 0, 0, 0, 0 },
1176  { 2, 0, 0, -2, 0, 0, 0, -5, 6, 0, 0, 0, 0, 0 },
1177  { 0, 0, 0, 0, 1, 0, 0, 0, 0, -1, 0, 0, 0, 0 },
1178  { 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 1 },
1179  { 0, 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 0, 0, 1 },
1180  { 0, 0, 0, 0, 0, 0, 1, 2, 0, 0, 0, 0, 0, 2 },
1181  { 0, 0, 0, 0, 1, 0, 0, 1, 0, -1, 0, 0, 0, 0 },
1182  { 0, 0, 0, 0, 0, 0, 0, 1, -1, 0, 0, 0, 0, 0 },
1183  { 0, 0, 0, 0, 0, 0, 3, -9, 4, 0, 0, 0, 0, -2 },
1184  { 0, 0, 0, 0, 0, 0, 0, 3, -5, 0, 0, 0, 0, -2 },
1185 
1186  /* 231-240 */
1187  { 0, 0, 0, 0, 0, 0, 0, 2, 0, -4, 0, 0, 0, -2 },
1188  { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 1 },
1189  { 0, 0, 0, 0, 0, 0, 7,-11, 0, 0, 0, 0, 0, -2 },
1190  { 0, 0, 0, 0, 0, 0, 3, -5, 4, 0, 0, 0, 0, 2 },
1191  { 0, 0, 1, -1, 0, 0, 0, -1, 0, -1, 1, 0, 0, 0 },
1192  { 2, 0, 0, 0, 0, 0, 0, -2, 0, 3, 0, 0, 0, 0 },
1193  { 0, 0, 0, 0, 0, 0, 0, 8,-15, 0, 0, 0, 0, -2 },
1194  { 0, 0, 1, -1, 2, 0, 0, -2, 2, 0, 0, 0, 0, 0 },
1195  { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 2 },
1196  { 0, 0, 0, 0, 0, 0, 6, -6, 0, 0, 0, 0, 0, -1 },
1197 
1198  /* 241-250 */
1199  { 0, 0, 1, -1, 1, 0, 0, -1, 0, -1, 1, 0, 0, 0 },
1200  { 0, 0, 0, 0, 0, 0, 2, -2, 0, 0, 0, 0, 0, 1 },
1201  { 0, 0, 0, 0, 0, 0, 0, 4, -7, 0, 0, 0, 0, 0 },
1202  { 0, 0, 0, 0, 0, 0, 0, 3, -8, 3, 0, 0, 0, 0 },
1203  { 0, 0, 1, -1, 1, 0, 2, -4, 0, -3, 0, 0, 0, 0 },
1204  { 0, 0, 0, 0, 1, 0, 3, -5, 0, 2, 0, 0, 0, 0 },
1205  { 0, 0, 0, 0, 0, 0, 0, 3, 0, -3, 0, 0, 0, 2 },
1206  { 0, 0, 2, -2, 2, 0, -8, 11, 0, 0, 0, 0, 0, 0 },
1207  { 0, 0, 0, 0, 0, 0, 0, 5, -8, 3, 0, 0, 0, 0 },
1208  { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, -2, 0, 0, 0 },
1209 
1210  /* 251-260 */
1211  { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 1, 0, 0, 2 },
1212  { 0, 0, 0, 0, 0, 0, 0, 5, -9, 0, 0, 0, 0, -2 },
1213  { 0, 0, 0, 0, 0, 0, 0, 5, -5, 0, 0, 0, 0, 2 },
1214  { 0, 0, 0, 0, 0, 0, 7, -9, 0, 0, 0, 0, 0, -1 },
1215  { 0, 0, 0, 0, 0, 0, 4, -7, 0, 0, 0, 0, 0, -1 },
1216  { 0, 0, 0, 0, 0, 0, 2, -1, 0, 0, 0, 0, 0, 0 },
1217  { 1, 0, -2, -2, -2, 0, 0, -2, 0, 2, 0, 0, 0, 0 },
1218  { 0, 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 2 },
1219  { 0, 0, 0, 0, 0, 0, 0, 2, 0, -2, 5, 0, 0, 2 },
1220  { 0, 0, 0, 0, 0, 0, 3, -3, 0, 0, 0, 0, 0, 1 },
1221 
1222  /* 261-270 */
1223  { 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 2 },
1224  { 0, 0, 0, 0, 0, 0, 0, 2, 0, 2, -5, 0, 0, 2 },
1225  { 2, 0, 0, -2, -1, 0, 0, -2, 0, 0, 5, 0, 0, 0 },
1226  { 2, 0, 0, -2, -1, 0, -6, 8, 0, 0, 0, 0, 0, 0 },
1227  { 1, 0, 0, -2, 0, 0, -3, 3, 0, 0, 0, 0, 0, 0 },
1228  { 0, 0, 0, 0, 0, 0, 8, -8, 0, 0, 0, 0, 0, 0 },
1229  { 0, 0, 0, 0, 0, 0, 0, 3, 0, 2, -5, 0, 0, 2 },
1230  { 0, 0, 0, 0, 1, 0, 3, -7, 4, 0, 0, 0, 0, 0 },
1231  { 0, 0, 2, -2, 1, 0, -2, 2, 0, 0, 0, 0, 0, 0 },
1232  { 0, 0, 0, 0, 1, 0, 0, -1, 0, 1, 0, 0, 0, 0 },
1233 
1234  /* 271-280 */
1235  { 0, 0, 1, -1, 0, 0, 0, -1, 0, -2, 5, 0, 0, 0 },
1236  { 0, 0, 0, 0, 0, 0, 0, 3, 0, -3, 0, 0, 0, 0 },
1237  { 0, 0, 0, 0, 0, 0, 3, -1, 0, 0, 0, 0, 0, 1 },
1238  { 0, 0, 0, 0, 0, 0, 2, -3, 0, 0, 0, 0, 0, -2 },
1239  { 0, 0, 0, 0, 0, 0, 0, 11, 0, 0, 0, 0, 0, 2 },
1240  { 0, 0, 0, 0, 0, 0, 0, 6,-15, 0, 0, 0, 0, -2 },
1241  { 0, 0, 0, 0, 0, 0, 0, 3, 0, 1, 0, 0, 0, 2 },
1242  { 1, 0, 0, -1, 0, 0, 0, -3, 4, 0, 0, 0, 0, 0 },
1243  { 0, 0, 0, 0, 1, 0, -3, 7, -4, 0, 0, 0, 0, 0 },
1244  { 0, 0, 0, 0, 0, 0, 0, 5, 0, -2, 0, 0, 0, 2 },
1245 
1246  /* 281-290 */
1247  { 0, 0, 0, 0, 0, 0, 3, -5, 0, 0, 0, 0, 0, 1 },
1248  { 0, 0, 2, -2, 2, 0, -5, 6, 0, 0, 0, 0, 0, 0 },
1249  { 0, 0, 2, -2, 2, 0, -3, 3, 0, 0, 0, 0, 0, 0 },
1250  { 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 0, 2 },
1251  { 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 0 },
1252  { 0, 0, 0, 0, 0, 0, 4, -4, 0, 0, 0, 0, 0, 2 },
1253  { 0, 0, 0, 0, 0, 0, 0, 4, -8, 0, 0, 0, 0, -2 },
1254  { 0, 0, 0, 0, 0, 0, 0, 4, -5, 0, 0, 0, 0, 0 },
1255  { 0, 0, 0, 0, 0, 0, 5, -7, 0, 0, 0, 0, 0, 0 },
1256  { 0, 0, 0, 0, 0, 0, 0, 6,-11, 0, 0, 0, 0, -2 },
1257 
1258  /* 291-300 */
1259  { 0, 0, 0, 0, 0, 0, 0, 1, -3, 0, 0, 0, 0, -2 },
1260  { 0, 0, 1, -1, 1, 0, 0, -1, 0, 3, 0, 0, 0, 0 },
1261  { 0, 0, 1, -1, 0, 0, 0, -1, 0, 2, 0, 0, 0, 0 },
1262  { 0, 0, 0, 0, 0, 0, 1, -2, 0, 0, 0, 0, 0, 1 },
1263  { 0, 0, 0, 0, 0, 0, 9,-12, 0, 0, 0, 0, 0, -2 },
1264  { 0, 0, 0, 0, 0, 0, 4, -4, 0, 0, 0, 0, 0, 1 },
1265  { 0, 0, 1, -1, 0, 0, -8, 12, 0, 0, 0, 0, 0, 0 },
1266  { 0, 0, 1, -1, 1, 0, -2, 3, 0, 0, 0, 0, 0, 0 },
1267  { 0, 0, 0, 0, 0, 0, 7, -7, 0, 0, 0, 0, 0, -1 },
1268  { 0, 0, 0, 0, 0, 0, 0, 3, -6, 0, 0, 0, 0, -1 },
1269 
1270  /* 301-310 */
1271  { 0, 0, 0, 0, 0, 0, 0, 6, -6, 0, 0, 0, 0, 2 },
1272  { 0, 0, 0, 0, 0, 1, 0, -4, 0, 0, 0, 0, 0, -2 },
1273  { 0, 0, 1, -1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0 },
1274  { 0, 0, 0, 0, 0, 0, 6, -9, 0, 0, 0, 0, 0, -1 },
1275  { 0, 0, 1, -1, -1, 0, 0, 0, -2, 0, 0, 0, 0, 0 },
1276  { 0, 0, 0, 0, 0, 0, 0, 1, -5, 0, 0, 0, 0, -2 },
1277  { 2, 0, 0, -2, 0, 0, 0, -2, 0, 3, -1, 0, 0, 0 },
1278  { 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, -2, 0, 0, 0 },
1279  { 0, 0, 0, 0, 0, 0, 0, 5, -9, 0, 0, 0, 0, 0 },
1280  { 0, 0, 0, 0, 0, 0, 5, -6, 0, 0, 0, 0, 0, 2 },
1281 
1282  /* 311-320 */
1283  { 0, 0, 0, 0, 0, 0, 9, -9, 0, 0, 0, 0, 0, -1 },
1284  { 0, 0, 1, -1, 1, 0, 0, -1, 0, 0, 3, 0, 0, 0 },
1285  { 0, 0, 0, 0, 1, 0, 0, 2, -4, 0, 0, 0, 0, 0 },
1286  { 0, 0, 0, 0, 0, 0, 5, -3, 0, 0, 0, 0, 0, 2 },
1287  { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 1 },
1288  { 0, 0, 1, -1, 2, 0, 0, -1, 0, 2, 0, 0, 0, 0 },
1289  { 0, 0, 0, 0, 0, 0, 5, -9, 0, 0, 0, 0, 0, -2 },
1290  { 0, 0, 0, 0, 0, 0, 0, 5, -3, 0, 0, 0, 0, 2 },
1291  { 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 2 },
1292  { 0, 0, 2, 0, 2, 0, 0, 4, -8, 3, 0, 0, 0, 0 },
1293 
1294  /* 321-330 */
1295  { 0, 0, 2, 0, 2, 0, 0, -4, 8, -3, 0, 0, 0, 0 },
1296  { 0, 0, 0, 0, 0, 0, 0, 5, 0, -3, 0, 0, 0, 2 },
1297  { 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 0 },
1298  { 2, 0, -1, -1, -1, 0, 0, -1, 0, 3, 0, 0, 0, 0 },
1299  { 0, 0, 0, 0, 0, 0, 4, -3, 0, 0, 0, 0, 0, 2 },
1300  { 0, 0, 0, 0, 0, 0, 4, -2, 0, 0, 0, 0, 0, 2 },
1301  { 0, 0, 0, 0, 0, 0, 5,-10, 0, 0, 0, 0, 0, -2 },
1302  { 0, 0, 0, 0, 0, 0, 8,-13, 0, 0, 0, 0, 0, 1 },
1303  { 0, 0, 2, -2, 1, -1, 0, 2, 0, 0, 0, 0, 0, 0 },
1304  { 0, 0, 1, -1, 1, 0, 0, -1, 0, 0, 0, 2, 0, 0 },
1305 
1306  /* 331-340 */
1307  { 0, 0, 0, 0, 1, 0, 3, -5, 0, 0, 0, 0, 0, 0 },
1308  { 1, 0, 0, -2, 0, 0, 0, -2, 0, 3, 0, 0, 0, 0 },
1309  { 0, 0, 2, -2, 0, 0, -3, 3, 0, 0, 0, 0, 0, 0 },
1310  { 0, 0, 0, 0, 0, 0, 9, -9, 0, 0, 0, 0, 0, 0 },
1311  { 0, 0, 2, 0, 2, 0, 1, -1, 0, 0, 0, 0, 0, 0 },
1312  { 0, 0, 2, -2, 1, 0, 0, -8, 11, 0, 0, 0, 0, 0 },
1313  { 0, 0, 2, -2, 1, 0, 0, -2, 0, 0, 2, 0, 0, 0 },
1314  { 0, 0, 1, -1, 1, 0, 0, -1, 0, -1, 2, 0, 0, 0 },
1315  { 0, 0, 0, 0, 0, 0, 5, -5, 0, 0, 0, 0, 0, 2 },
1316  { 0, 0, 0, 0, 0, 0, 2, -6, 0, 0, 0, 0, 0, -2 },
1317 
1318  /* 341-350 */
1319  { 0, 0, 0, 0, 0, 0, 0, 8,-15, 0, 0, 0, 0, -1 },
1320  { 0, 0, 0, 0, 0, 0, 0, 5, -2, 0, 0, 0, 0, 2 },
1321  { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 2 },
1322  { 0, 0, 0, 0, 0, 0, 0, 7,-13, 0, 0, 0, 0, -2 },
1323  { 0, 0, 0, 0, 0, 0, 0, 3, 0, -2, 0, 0, 0, 0 },
1324  { 0, 0, 0, 0, 0, 0, 0, 1, 0, 3, 0, 0, 0, 2 },
1325  { 0, 0, 2, -2, 1, 0, 0, -2, 0, 3, 0, 0, 0, 0 },
1326  { 0, 0, 0, 0, 0, 0, 8, -8, 0, 0, 0, 0, 0, -1 },
1327  { 0, 0, 0, 0, 0, 0, 8,-10, 0, 0, 0, 0, 0, -1 },
1328  { 0, 0, 0, 0, 0, 0, 4, -2, 0, 0, 0, 0, 0, 1 },
1329 
1330  /* 351-360 */
1331  { 0, 0, 0, 0, 0, 0, 3, -6, 0, 0, 0, 0, 0, -1 },
1332  { 0, 0, 0, 0, 0, 0, 3, -4, 0, 0, 0, 0, 0, -1 },
1333  { 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -5, 0, 0, 2 },
1334  { 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0, 2 },
1335  { 0, 0, 0, 0, 0, 0, 0, 2, 0, -4, 0, 0, 0, 0 },
1336  { 2, 0, 0, -2, -1, 0, 0, -5, 6, 0, 0, 0, 0, 0 },
1337  { 0, 0, 0, 0, 0, 0, 0, 2, -5, 0, 0, 0, 0, -2 },
1338  { 2, 0, -1, -1, -1, 0, 0, 3, -7, 0, 0, 0, 0, 0 },
1339  { 0, 0, 0, 0, 0, 0, 0, 5, -8, 0, 0, 0, 0, 0 },
1340  { 0, 0, 2, 0, 2, 0, -1, 1, 0, 0, 0, 0, 0, 0 },
1341 
1342  /* 361-370 */
1343  { 2, 0, 0, -2, 0, 0, 0, -2, 0, 4, -3, 0, 0, 0 },
1344  { 0, 0, 0, 0, 0, 0, 0, 6,-11, 0, 0, 0, 0, 0 },
1345  { 2, 0, 0, -2, 1, 0, 0, -6, 8, 0, 0, 0, 0, 0 },
1346  { 0, 0, 0, 0, 0, 0, 0, 4, -8, 1, 5, 0, 0, -2 },
1347  { 0, 0, 0, 0, 0, 0, 0, 6, -5, 0, 0, 0, 0, 2 },
1348  { 1, 0, -2, -2, -2, 0, -3, 3, 0, 0, 0, 0, 0, 0 },
1349  { 0, 0, 1, -1, 2, 0, 0, 0, -2, 0, 0, 0, 0, 0 },
1350  { 0, 0, 0, 0, 2, 0, 0, 4, -8, 3, 0, 0, 0, 0 },
1351  { 0, 0, 0, 0, 2, 0, 0, -4, 8, -3, 0, 0, 0, 0 },
1352  { 0, 0, 0, 0, 0, 0, 0, 6, 0, 0, 0, 0, 0, 1 },
1353 
1354  /* 371-380 */
1355  { 0, 0, 0, 0, 0, 0, 0, 6, -7, 0, 0, 0, 0, 2 },
1356  { 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, -2, 0, 0, 2 },
1357  { 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, -2, 0, 0, 2 },
1358  { 0, 0, 0, 0, 0, 0, 0, 1, 0, -1, 0, 0, 0, 1 },
1359  { 0, 0, 0, 0, 0, 0, 0, 1, -6, 0, 0, 0, 0, -2 },
1360  { 0, 0, 0, 0, 0, 0, 0, 0, 0, 4, -5, 0, 0, 2 },
1361  { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 2 },
1362  { 0, 0, 0, 0, 0, 0, 3, -5, 0, 2, 0, 0, 0, 0 },
1363  { 0, 0, 0, 0, 0, 0, 0, 7,-13, 0, 0, 0, 0, 0 },
1364  { 0, 0, 0, 0, 0, 0, 0, 2, 0, -2, 0, 0, 0, 2 },
1365 
1366  /* 381-390 */
1367  { 0, 0, 1, -1, 0, 0, 0, -1, 0, 0, 2, 0, 0, 0 },
1368  { 0, 0, 0, 0, 1, 0, 0, -8, 15, 0, 0, 0, 0, 0 },
1369  { 2, 0, 0, -2, -2, 0, -3, 3, 0, 0, 0, 0, 0, 0 },
1370  { 2, 0, -1, -1, -1, 0, 0, -1, 0, 2, 0, 0, 0, 0 },
1371  { 1, 0, 2, -2, 2, 0, 0, -2, 0, 2, 0, 0, 0, 0 },
1372  { 1, 0, -1, 1, -1, 0,-18, 17, 0, 0, 0, 0, 0, 0 },
1373  { 0, 0, 2, 0, 2, 0, 0, 1, 0, -1, 0, 0, 0, 0 },
1374  { 0, 0, 2, 0, 2, 0, 0, -1, 0, 1, 0, 0, 0, 0 },
1375  { 0, 0, 2, -2, -1, 0, -5, 6, 0, 0, 0, 0, 0, 0 },
1376  { 0, 0, 1, -1, 2, 0, 0, -1, 0, 1, 0, 0, 0, 0 },
1377 
1378  /* 391-400 */
1379  { 0, 0, 0, 0, 1, 0, 2, -2, 0, 0, 0, 0, 0, 0 },
1380  { 0, 0, 0, 0, 0, 0, 8,-16, 0, 0, 0, 0, 0, -2 },
1381  { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5, 0, 0, 2 },
1382  { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 2 },
1383  { 0, 0, 0, 0, 2, 0, 0, -1, 2, 0, 0, 0, 0, 0 },
1384  { 2, 0, -1, -1, -2, 0, 0, -1, 0, 2, 0, 0, 0, 0 },
1385  { 0, 0, 0, 0, 0, 0, 6,-10, 0, 0, 0, 0, 0, -1 },
1386  { 0, 0, 1, -1, 1, 0, 0, -1, 0, -2, 4, 0, 0, 0 },
1387  { 0, 0, 0, 0, 0, 0, 0, 2, 2, 0, 0, 0, 0, 2 },
1388  { 2, 0, 0, -2, -1, 0, 0, -2, 0, 4, -5, 0, 0, 0 },
1389 
1390  /* 401-410 */
1391  { 2, 0, 0, -2, -1, 0, -3, 3, 0, 0, 0, 0, 0, 0 },
1392  { 2, 0, -1, -1, -1, 0, 0, -1, 0, 0, 0, 0, 0, 0 },
1393  { 1, 0, 1, -1, 1, 0, 0, -1, 0, 0, 0, 0, 0, 0 },
1394  { 1, 0, 0, -1, -1, 0, 0, -2, 2, 0, 0, 0, 0, 0 },
1395  { 1, 0, -1, -1, -1, 0, 20,-20, 0, 0, 0, 0, 0, 0 },
1396  { 0, 0, 2, -2, 1, 0, 0, -1, 0, 1, 0, 0, 0, 0 },
1397  { 0, 0, 1, -1, 1, 0, 1, -2, 0, 0, 0, 0, 0, 0 },
1398  { 0, 0, 1, -1, 1, 0, -2, 1, 0, 0, 0, 0, 0, 0 },
1399  { 0, 0, 0, 0, 1, 0, 5, -8, 0, 0, 0, 0, 0, 0 },
1400  { 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, -1, 0, 0, 0 },
1401 
1402  /* 411-420 */
1403  { 0, 0, 0, 0, 0, 0, 9,-11, 0, 0, 0, 0, 0, -1 },
1404  { 0, 0, 0, 0, 0, 0, 5, -3, 0, 0, 0, 0, 0, 1 },
1405  { 0, 0, 0, 0, 0, 0, 0, 1, 0, -3, 0, 0, 0, -1 },
1406  { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 1 },
1407  { 0, 0, 0, 0, 0, 0, 6, -7, 0, 0, 0, 0, 0, 0 },
1408  { 0, 0, 0, 0, 0, 0, 0, 3, -2, 0, 0, 0, 0, 0 },
1409  { 0, 0, 0, 0, 0, 0, 1, -2, 0, 0, 0, 0, 0, -2 },
1410  { 0, 0, 1, -1, 1, 0, 0, -1, 0, 0, -2, 0, 0, 0 },
1411  { 0, 0, 1, -1, 2, 0, 0, -1, 0, -2, 5, 0, 0, 0 },
1412  { 0, 0, 0, 0, 0, 0, 0, 5, -7, 0, 0, 0, 0, 0 },
1413 
1414  /* 421-430 */
1415  { 0, 0, 0, 0, 0, 0, 1, -3, 0, 0, 0, 0, 0, 0 },
1416  { 0, 0, 0, 0, 0, 0, 0, 5, -8, 0, 0, 0, 0, -2 },
1417  { 0, 0, 0, 0, 0, 0, 0, 2, -6, 0, 0, 0, 0, -2 },
1418  { 1, 0, 0, -2, 0, 0, 20,-21, 0, 0, 0, 0, 0, 0 },
1419  { 0, 0, 0, 0, 0, 0, 8,-12, 0, 0, 0, 0, 0, 0 },
1420  { 0, 0, 0, 0, 0, 0, 5, -6, 0, 0, 0, 0, 0, 0 },
1421  { 0, 0, 0, 0, 0, 0, 0, 4, -4, 0, 0, 0, 0, 0 },
1422  { 0, 0, 1, -1, 2, 0, 0, -1, 0, -1, 0, 0, 0, 0 },
1423  { 0, 0, 0, 0, 0, 0, 8,-12, 0, 0, 0, 0, 0, -2 },
1424  { 0, 0, 0, 0, 0, 0, 0, 9,-17, 0, 0, 0, 0, 0 },
1425 
1426  /* 431-440 */
1427  { 0, 0, 0, 0, 0, 0, 0, 5, -6, 0, 0, 0, 0, 2 },
1428  { 0, 0, 0, 0, 0, 0, 0, 4, -8, 1, 5, 0, 0, 2 },
1429  { 0, 0, 0, 0, 0, 0, 0, 4, -6, 0, 0, 0, 0, -2 },
1430  { 0, 0, 0, 0, 0, 0, 0, 2, -7, 0, 0, 0, 0, -2 },
1431  { 1, 0, 0, -1, 1, 0, 0, -3, 4, 0, 0, 0, 0, 0 },
1432  { 1, 0, -2, 0, -2, 0,-10, 3, 0, 0, 0, 0, 0, 0 },
1433  { 0, 0, 0, 0, 1, 0, 0, -9, 17, 0, 0, 0, 0, 0 },
1434  { 0, 0, 0, 0, 0, 0, 1, -4, 0, 0, 0, 0, 0, -2 },
1435  { 1, 0, -2, -2, -2, 0, 0, -2, 0, 3, 0, 0, 0, 0 },
1436  { 1, 0, -1, 1, -1, 0, 0, 1, 0, 0, 0, 0, 0, 0 },
1437 
1438  /* 441-450 */
1439  { 0, 0, 2, -2, 2, 0, 0, -2, 0, 2, 0, 0, 0, 0 },
1440  { 0, 0, 1, -1, 2, 0, 0, -1, 0, 0, 1, 0, 0, 0 },
1441  { 0, 0, 1, -1, 2, 0, -5, 7, 0, 0, 0, 0, 0, 0 },
1442  { 0, 0, 0, 0, 1, 0, 0, 2, -2, 0, 0, 0, 0, 0 },
1443  { 0, 0, 0, 0, 0, 0, 4, -5, 0, 0, 0, 0, 0, -1 },
1444  { 0, 0, 0, 0, 0, 0, 3, -4, 0, 0, 0, 0, 0, -2 },
1445  { 0, 0, 0, 0, 0, 0, 2, -4, 0, 0, 0, 0, 0, 0 },
1446  { 0, 0, 0, 0, 0, 0, 0, 5,-10, 0, 0, 0, 0, -2 },
1447  { 0, 0, 0, 0, 0, 0, 0, 4, 0, -4, 0, 0, 0, 2 },
1448  { 0, 0, 0, 0, 0, 0, 0, 2, 0, -5, 0, 0, 0, -2 },
1449 
1450  /* 451-460 */
1451  { 0, 0, 0, 0, 0, 0, 0, 1, 0, -5, 0, 0, 0, -2 },
1452  { 0, 0, 0, 0, 0, 0, 0, 1, 0, -2, 5, 0, 0, 2 },
1453  { 0, 0, 0, 0, 0, 0, 0, 1, 0, -2, 0, 0, 0, -2 },
1454  { 0, 0, 0, 0, 0, 0, 2, -3, 0, 0, 0, 0, 0, 1 },
1455  { 1, 0, 0, -2, 0, 0, 0, 1, 0, -1, 0, 0, 0, 0 },
1456  { 0, 0, 0, 0, 0, 0, 3, -7, 4, 0, 0, 0, 0, 0 },
1457  { 2, 0, 2, 0, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0 },
1458  { 0, 0, 1, -1, -1, 0, 0, -1, 0, -1, 0, 0, 0, 0 },
1459  { 0, 0, 0, 0, 1, 0, 0, 1, 0, -2, 0, 0, 0, 0 },
1460  { 0, 0, 0, 0, 0, 0, 0, 6,-10, 0, 0, 0, 0, -2 },
1461 
1462  /* 461-470 */
1463  { 1, 0, 0, -1, 1, 0, 0, -1, 0, 1, 0, 0, 0, 0 },
1464  { 0, 0, 2, -2, 1, 0, 0, 4, -8, 3, 0, 0, 0, 0 },
1465  { 0, 0, 2, -2, 1, 0, 0, 1, 0, -1, 0, 0, 0, 0 },
1466  { 0, 0, 2, -2, 1, 0, 0, -4, 8, -3, 0, 0, 0, 0 },
1467  { 0, 0, 2, -2, 1, 0, 0, -3, 0, 3, 0, 0, 0, 0 },
1468  { 0, 0, 2, -2, 1, 0, -5, 5, 0, 0, 0, 0, 0, 0 },
1469  { 0, 0, 1, -1, 1, 0, 1, -3, 0, 0, 0, 0, 0, 0 },
1470  { 0, 0, 1, -1, 1, 0, 0, -4, 6, 0, 0, 0, 0, 0 },
1471  { 0, 0, 1, -1, 1, 0, 0, -1, 0, 0, 0, -1, 0, 0 },
1472  { 0, 0, 1, -1, 1, 0, -5, 6, 0, 0, 0, 0, 0, 0 },
1473 
1474  /* 471-480 */
1475  { 0, 0, 0, 0, 1, 0, 3, -4, 0, 0, 0, 0, 0, 0 },
1476  { 0, 0, 0, 0, 1, 0, -2, 2, 0, 0, 0, 0, 0, 0 },
1477  { 0, 0, 0, 0, 0, 0, 7,-10, 0, 0, 0, 0, 0, -1 },
1478  { 0, 0, 0, 0, 0, 0, 5, -5, 0, 0, 0, 0, 0, 1 },
1479  { 0, 0, 0, 0, 0, 0, 4, -5, 0, 0, 0, 0, 0, -2 },
1480  { 0, 0, 0, 0, 0, 0, 3, -8, 0, 0, 0, 0, 0, -2 },
1481  { 0, 0, 0, 0, 0, 0, 2, -5, 0, 0, 0, 0, 0, -1 },
1482  { 0, 0, 0, 0, 0, 0, 1, -2, 0, 0, 0, 0, 0, -1 },
1483  { 0, 0, 0, 0, 0, 0, 0, 7, -9, 0, 0, 0, 0, 2 },
1484  { 0, 0, 0, 0, 0, 0, 0, 7, -8, 0, 0, 0, 0, 2 },
1485 
1486  /* 481-490 */
1487  { 0, 0, 0, 0, 0, 0, 0, 3, 0, 0, 0, 0, 0, 2 },
1488  { 0, 0, 0, 0, 0, 0, 0, 3, -8, 3, 0, 0, 0, -2 },
1489  { 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, -2, 0, 0, 1 },
1490  { 0, 0, 0, 0, 0, 0, 0, 2, -4, 0, 0, 0, 0, 1 },
1491  { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0, -1 },
1492  { 0, 0, 0, 0, 0, 0, 0, 1, 0, -1, 0, 0, 0, -1 },
1493  { 2, 0, 0, -2, -1, 0, 0, -6, 8, 0, 0, 0, 0, 0 },
1494  { 2, 0, -1, -1, 1, 0, 0, 3, -7, 0, 0, 0, 0, 0 },
1495  { 0, 0, 2, -2, 1, 0, 0, -7, 9, 0, 0, 0, 0, 0 },
1496  { 0, 0, 0, 0, 0, 0, 0, 3, -5, 0, 0, 0, 0, -1 },
1497 
1498  /* 491-500 */
1499  { 0, 0, 1, -1, 2, 0, -8, 12, 0, 0, 0, 0, 0, 0 },
1500  { 1, 0, 0, 0, 0, 0, 0, -2, 0, 2, 0, 0, 0, 0 },
1501  { 1, 0, 0, -2, 0, 0, 2, -2, 0, 0, 0, 0, 0, 0 },
1502  { 0, 0, 0, 0, 0, 0, 7, -8, 0, 0, 0, 0, 0, 0 },
1503  { 0, 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0 },
1504  { 2, 0, 0, -2, 1, 0, 0, -5, 6, 0, 0, 0, 0, 0 },
1505  { 2, 0, 0, -2, -1, 0, 0, -2, 0, 3, -1, 0, 0, 0 },
1506  { 1, 0, 1, 1, 1, 0, 0, 1, 0, 0, 0, 0, 0, 0 },
1507  { 1, 0, 0, -2, 1, 0, 0, -2, 0, 2, 0, 0, 0, 0 },
1508  { 1, 0, 0, -2, -1, 0, 0, -2, 0, 2, 0, 0, 0, 0 },
1509 
1510  /* 501-510 */
1511  { 1, 0, 0, -1, -1, 0, 0, -3, 4, 0, 0, 0, 0, 0 },
1512  { 1, 0, -1, 0, -1, 0, -3, 5, 0, 0, 0, 0, 0, 0 },
1513  { 0, 0, 2, -2, 1, 0, 0, -4, 4, 0, 0, 0, 0, 0 },
1514  { 0, 0, 2, -2, 1, 0, 0, -2, 0, 0, 0, 0, 0, 0 },
1515  { 0, 0, 2, -2, 1, 0, -8, 11, 0, 0, 0, 0, 0, 0 },
1516  { 0, 0, 2, -2, 0, 0, 0, -9, 13, 0, 0, 0, 0, 0 },
1517  { 0, 0, 1, 1, 2, 0, 0, 1, 0, 0, 0, 0, 0, 0 },
1518  { 0, 0, 1, -1, 1, 0, 0, 1, -4, 0, 0, 0, 0, 0 },
1519  { 0, 0, 1, -1, 1, 0, 0, -1, 0, 1, -3, 0, 0, 0 },
1520  { 0, 0, 0, 0, 1, 0, 0, 7,-13, 0, 0, 0, 0, 0 },
1521 
1522  /* 511-520 */
1523  { 0, 0, 0, 0, 1, 0, 0, 2, 0, -2, 0, 0, 0, 0 },
1524  { 0, 0, 0, 0, 1, 0, 0, -2, 2, 0, 0, 0, 0, 0 },
1525  { 0, 0, 0, 0, 1, 0, -3, 4, 0, 0, 0, 0, 0, 0 },
1526  { 0, 0, 0, 0, 0, 1, 0, -4, 0, 0, 0, 0, 0, 0 },
1527  { 0, 0, 0, 0, 0, 0, 7,-11, 0, 0, 0, 0, 0, -1 },
1528  { 0, 0, 0, 0, 0, 0, 6, -6, 0, 0, 0, 0, 0, 1 },
1529  { 0, 0, 0, 0, 0, 0, 6, -4, 0, 0, 0, 0, 0, 1 },
1530  { 0, 0, 0, 0, 0, 0, 5, -6, 0, 0, 0, 0, 0, -1 },
1531  { 0, 0, 0, 0, 0, 0, 4, -2, 0, 0, 0, 0, 0, 0 },
1532  { 0, 0, 0, 0, 0, 0, 3, -4, 0, 0, 0, 0, 0, 1 },
1533 
1534  /* 521-530 */
1535  { 0, 0, 0, 0, 0, 0, 1, -4, 0, 0, 0, 0, 0, -1 },
1536  { 0, 0, 0, 0, 0, 0, 0, 9,-17, 0, 0, 0, 0, -2 },
1537  { 0, 0, 0, 0, 0, 0, 0, 7, -7, 0, 0, 0, 0, 2 },
1538  { 0, 0, 0, 0, 0, 0, 0, 4, -8, 3, 0, 0, 0, 1 },
1539  { 0, 0, 0, 0, 0, 0, 0, 4, -8, 3, 0, 0, 0, -1 },
1540  { 0, 0, 0, 0, 0, 0, 0, 4, -8, 0, 0, 0, 0, 0 },
1541  { 0, 0, 0, 0, 0, 0, 0, 4, -7, 0, 0, 0, 0, -1 },
1542  { 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, 0, 0, 0, 1 },
1543  { 0, 0, 0, 0, 0, 0, 0, 1, 0, -4, 0, 0, 0, 0 },
1544  { 2, 0, 0, -2, 0, 0, 0, -4, 8, -3, 0, 0, 0, 0 },
1545 
1546  /* 531-540 */
1547  { 2, 0, 0, -2, 0, 0, -2, 2, 0, 0, 0, 0, 0, 0 },
1548  { 1, 0, 0, 0, 0, 0, 0, 4, -8, 3, 0, 0, 0, 0 },
1549  { 1, 0, 0, 0, 0, 0, 0, -4, 8, -3, 0, 0, 0, 0 },
1550  { 1, 0, 0, 0, 0, 0, -1, 1, 0, 0, 0, 0, 0, 0 },
1551  { 1, 0, 0, -2, 0, 0, 17,-16, 0, -2, 0, 0, 0, 0 },
1552  { 1, 0, 0, -1, 0, 0, 0, -2, 2, 0, 0, 0, 0, 0 },
1553  { 0, 0, 2, -2, 0, 0, 0, -2, 0, 2, 0, 0, 0, 0 },
1554  { 0, 0, 0, 0, 0, 0, 0, 6, -9, 0, 0, 0, 0, 0 },
1555  { 0, 0, 0, 0, 0, 0, 0, 4, 0, 0, 0, 0, 0, 0 },
1556  { 0, 0, 0, 0, 0, 0, 0, 3, 0, -4, 0, 0, 0, 0 },
1557 
1558  /* 541-550 */
1559  { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2, -2 },
1560  { 0, 0, 0, 0, 0, 0, 0, 2, 1, 0, 0, 0, 0, 2 },
1561  { 2, 0, 0, -2, 0, 0, 0, -4, 4, 0, 0, 0, 0, 0 },
1562  { 2, 0, 0, -2, 0, 0, 0, -2, 0, 2, 2, 0, 0, 0 },
1563  { 1, 0, 0, 0, 0, 0, 1, -1, 0, 0, 0, 0, 0, 0 },
1564  { 1, 0, 0, 0, 0, 0, 0, -1, 0, 1, 0, 0, 0, 0 },
1565  { 1, 0, 0, 0, 0, 0, -3, 3, 0, 0, 0, 0, 0, 0 },
1566  { 1, 0, 0, -2, 0, 0, 1, -1, 0, 0, 0, 0, 0, 0 },
1567  { 1, 0, 0, -2, 0, 0, 0, 4, -8, 3, 0, 0, 0, 0 },
1568  { 1, 0, 0, -2, 0, 0, 0, -4, 8, -3, 0, 0, 0, 0 },
1569 
1570  /* 551-560 */
1571  { 1, 0, 0, -2, 0, 0, -2, 2, 0, 0, 0, 0, 0, 0 },
1572  { 0, 0, 2, -2, 0, 0, -4, 4, 0, 0, 0, 0, 0, 0 },
1573  { 0, 0, 1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 },
1574  { 0, 0, 1, -1, 0, 0, 3, -6, 0, 0, 0, 0, 0, 0 },
1575  { 0, 0, 1, -1, 0, 0, 0, -2, 2, 0, 0, 0, 0, 0 },
1576  { 0, 0, 1, -1, 0, 0, 0, -1, 0, 1, 0, 0, 0, 0 },
1577  { 0, 0, 1, -1, 0, 0, 0, -1, 0, 0, 1, 0, 0, 0 },
1578  { 0, 0, 1, -1, 0, 0, -4, 5, 0, 0, 0, 0, 0, 0 },
1579  { 0, 0, 1, -1, 0, 0, -3, 4, 0, 0, 0, 0, 0, 0 },
1580  { 0, 0, 0, 2, 0, 0, 0, -1, 0, 1, 0, 0, 0, 0 },
1581 
1582  /* 561-570 */
1583  { 0, 0, 0, 0, 0, 0, 8, -9, 0, 0, 0, 0, 0, 0 },
1584  { 0, 0, 0, 0, 0, 0, 3, -6, 0, 0, 0, 0, 0, 0 },
1585  { 0, 0, 0, 0, 0, 0, 1, 1, 0, 0, 0, 0, 0, 0 },
1586  { 0, 0, 0, 0, 0, 0, 0, 0, 0, 3, -5, 0, 0, 0 },
1587  { 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -2, 0, 0, 0 },
1588  { 2, 0, -2, -2, -2, 0, 0, -2, 0, 2, 0, 0, 0, 0 },
1589  { 1, 0, 0, 0, 1, 0,-10, 3, 0, 0, 0, 0, 0, 0 },
1590  { 1, 0, 0, 0, -1, 0,-10, 3, 0, 0, 0, 0, 0, 0 },
1591  { 0, 0, 2, 0, 2, 0, 2, -3, 0, 0, 0, 0, 0, 0 },
1592  { 0, 0, 2, 0, 2, 0, 2, -2, 0, 0, 0, 0, 0, 0 },
1593 
1594  /* 571-580 */
1595  { 0, 0, 2, 0, 2, 0, -2, 3, 0, 0, 0, 0, 0, 0 },
1596  { 0, 0, 2, 0, 2, 0, -2, 2, 0, 0, 0, 0, 0, 0 },
1597  { 0, 0, 0, 0, 2, 0, 0, 0, 0, 1, 0, 0, 0, 0 },
1598  { 0, 0, 0, 0, 1, 0, 0, -1, 0, 2, 0, 0, 0, 0 },
1599  { 2, 0, 2, -2, 2, 0, 0, -2, 0, 3, 0, 0, 0, 0 },
1600  { 2, 0, 1, -3, 1, 0, -6, 7, 0, 0, 0, 0, 0, 0 },
1601  { 2, 0, 0, -2, 0, 0, 2, -5, 0, 0, 0, 0, 0, 0 },
1602  { 2, 0, 0, -2, 0, 0, 0, -2, 0, 5, -5, 0, 0, 0 },
1603  { 2, 0, 0, -2, 0, 0, 0, -2, 0, 1, 5, 0, 0, 0 },
1604  { 2, 0, 0, -2, 0, 0, 0, -2, 0, 0, 5, 0, 0, 0 },
1605 
1606  /* 581-590 */
1607  { 2, 0, 0, -2, 0, 0, 0, -2, 0, 0, 2, 0, 0, 0 },
1608  { 2, 0, 0, -2, 0, 0, -4, 4, 0, 0, 0, 0, 0, 0 },
1609  { 2, 0, -2, 0, -2, 0, 0, 5, -9, 0, 0, 0, 0, 0 },
1610  { 2, 0, -1, -1, 0, 0, 0, -1, 0, 3, 0, 0, 0, 0 },
1611  { 1, 0, 2, 0, 2, 0, 1, -1, 0, 0, 0, 0, 0, 0 },
1612  { 1, 0, 2, 0, 2, 0, 0, 4, -8, 3, 0, 0, 0, 0 },
1613  { 1, 0, 2, 0, 2, 0, 0, -4, 8, -3, 0, 0, 0, 0 },
1614  { 1, 0, 2, 0, 2, 0, -1, 1, 0, 0, 0, 0, 0, 0 },
1615  { 1, 0, 2, -2, 2, 0, -3, 3, 0, 0, 0, 0, 0, 0 },
1616  { 1, 0, 0, 0, 0, 0, 0, 1, 0, -1, 0, 0, 0, 0 },
1617 
1618  /* 591-600 */
1619  { 1, 0, 0, 0, 0, 0, 0, -2, 0, 3, 0, 0, 0, 0 },
1620  { 1, 0, 0, -2, 0, 0, 0, 2, 0, -2, 0, 0, 0, 0 },
1621  { 1, 0, -2, -2, -2, 0, 0, 1, 0, -1, 0, 0, 0, 0 },
1622  { 1, 0, -1, 1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 },
1623  { 1, 0, -1, -1, 0, 0, 0, 8,-15, 0, 0, 0, 0, 0 },
1624  { 0, 0, 2, 2, 2, 0, 0, 2, 0, -2, 0, 0, 0, 0 },
1625  { 0, 0, 2, -2, 1, 0, 1, -1, 0, 0, 0, 0, 0, 0 },
1626  { 0, 0, 2, -2, 1, 0, 0, -2, 0, 1, 0, 0, 0, 0 },
1627  { 0, 0, 2, -2, 1, 0, 0,-10, 15, 0, 0, 0, 0, 0 },
1628  { 0, 0, 2, -2, 0, -1, 0, 2, 0, 0, 0, 0, 0, 0 },
1629 
1630  /* 601-610 */
1631  { 0, 0, 1, -1, 2, 0, 0, -1, 0, 0, -1, 0, 0, 0 },
1632  { 0, 0, 1, -1, 2, 0, -3, 4, 0, 0, 0, 0, 0, 0 },
1633  { 0, 0, 1, -1, 1, 0, -4, 6, 0, 0, 0, 0, 0, 0 },
1634  { 0, 0, 1, -1, 1, 0, -1, 2, 0, 0, 0, 0, 0, 0 },
1635  { 0, 0, 1, -1, 0, 0, 0, 1, 0, 0, 0, 0, 0, 0 },
1636  { 0, 0, 1, -1, 0, 0, 0, -1, 0, 0, -2, 0, 0, 0 },
1637  { 0, 0, 1, -1, 0, 0, -2, 2, 0, 0, 0, 0, 0, 0 },
1638  { 0, 0, 1, -1, 0, 0, -1, 0, 0, 0, 0, 0, 0, 0 },
1639  { 0, 0, 1, -1, -1, 0, -5, 7, 0, 0, 0, 0, 0, 0 },
1640  { 0, 0, 0, 2, 0, 0, 0, 2, 0, -2, 0, 0, 0, 0 },
1641 
1642  /* 611-620 */
1643  { 0, 0, 0, 2, 0, 0, -2, 2, 0, 0, 0, 0, 0, 0 },
1644  { 0, 0, 0, 0, 2, 0, -3, 5, 0, 0, 0, 0, 0, 0 },
1645  { 0, 0, 0, 0, 1, 0, -1, 2, 0, 0, 0, 0, 0, 0 },
1646  { 0, 0, 0, 0, 0, 0, 9,-13, 0, 0, 0, 0, 0, -2 },
1647  { 0, 0, 0, 0, 0, 0, 8,-14, 0, 0, 0, 0, 0, -2 },
1648  { 0, 0, 0, 0, 0, 0, 8,-11, 0, 0, 0, 0, 0, -1 },
1649  { 0, 0, 0, 0, 0, 0, 6, -9, 0, 0, 0, 0, 0, 0 },
1650  { 0, 0, 0, 0, 0, 0, 6, -8, 0, 0, 0, 0, 0, 0 },
1651  { 0, 0, 0, 0, 0, 0, 6, -7, 0, 0, 0, 0, 0, -1 },
1652  { 0, 0, 0, 0, 0, 0, 5, -6, 0, 0, 0, 0, 0, -2 },
1653 
1654  /* 621-630 */
1655  { 0, 0, 0, 0, 0, 0, 5, -6, -4, 0, 0, 0, 0, -2 },
1656  { 0, 0, 0, 0, 0, 0, 5, -4, 0, 0, 0, 0, 0, 2 },
1657  { 0, 0, 0, 0, 0, 0, 4, -8, 0, 0, 0, 0, 0, -2 },
1658  { 0, 0, 0, 0, 0, 0, 4, -5, 0, 0, 0, 0, 0, 0 },
1659  { 0, 0, 0, 0, 0, 0, 3, -3, 0, 2, 0, 0, 0, 2 },
1660  { 0, 0, 0, 0, 0, 0, 3, -1, 0, 0, 0, 0, 0, 0 },
1661  { 0, 0, 0, 0, 0, 0, 2, 0, 0, 0, 0, 0, 0, 0 },
1662  { 0, 0, 0, 0, 0, 0, 1, -1, 0, 0, 0, 0, 0, -2 },
1663  { 0, 0, 0, 0, 0, 0, 0, 7,-12, 0, 0, 0, 0, -2 },
1664  { 0, 0, 0, 0, 0, 0, 0, 6, -9, 0, 0, 0, 0, -2 },
1665 
1666  /* 631-640 */
1667  { 0, 0, 0, 0, 0, 0, 0, 6, -8, 1, 5, 0, 0, 2 },
1668  { 0, 0, 0, 0, 0, 0, 0, 6, -4, 0, 0, 0, 0, 2 },
1669  { 0, 0, 0, 0, 0, 0, 0, 6,-10, 0, 0, 0, 0, 0 },
1670  { 0, 0, 0, 0, 0, 0, 0, 5, 0, -4, 0, 0, 0, 2 },
1671  { 0, 0, 0, 0, 0, 0, 0, 5, -9, 0, 0, 0, 0, -1 },
1672  { 0, 0, 0, 0, 0, 0, 0, 5, -8, 3, 0, 0, 0, 2 },
1673  { 0, 0, 0, 0, 0, 0, 0, 5, -7, 0, 0, 0, 0, -2 },
1674  { 0, 0, 0, 0, 0, 0, 0, 5, -6, 0, 0, 0, 0, 0 },
1675  { 0, 0, 0, 0, 0, 0, 0, 5,-16, 4, 5, 0, 0, -2 },
1676  { 0, 0, 0, 0, 0, 0, 0, 5,-13, 0, 0, 0, 0, -2 },
1677 
1678  /* 641-650 */
1679  { 0, 0, 0, 0, 0, 0, 0, 3, 0, -5, 0, 0, 0, -2 },
1680  { 0, 0, 0, 0, 0, 0, 0, 3, -9, 0, 0, 0, 0, -2 },
1681  { 0, 0, 0, 0, 0, 0, 0, 3, -7, 0, 0, 0, 0, -2 },
1682  { 0, 0, 0, 0, 0, 0, 0, 2, 0, 2, 0, 0, 0, 2 },
1683  { 0, 0, 0, 0, 0, 0, 0, 2, 0, 0, -3, 0, 0, 0 },
1684  { 0, 0, 0, 0, 0, 0, 0, 2, -8, 1, 5, 0, 0, -2 },
1685  { 0, 0, 0, 0, 0, 0, 0, 1, 0, 1, -5, 0, 0, 0 },
1686  { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 2, 0, 0, 2 },
1687  { 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, -3, 0, 0, 0 },
1688  { 0, 0, 0, 0, 0, 0, 0, 1, 0, -3, 5, 0, 0, 0 },
1689 
1690  /* 651-NFPL */
1691  { 0, 0, 0, 0, 0, 0, 0, 1, -3, 0, 0, 0, 0, 0 },
1692  { 0, 0, 0, 0, 0, 0, 0, 0, 0, 2, -6, 3, 0, -2 },
1693  { 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, -2, 0, 0, 0 },
1694  { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0 },
1695  { 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 2 },
1696  { 0, 0, 0, 0, 0, 0, 0, 0, 1, 0, 0, 0, 0, 0 }
1697  };
1698 
1699 /* Number of frequencies: planetary */
1700  static const int NFPL = (int) (sizeof mfapl / sizeof (int) / 14);
1701 
1702 /* Pointers into amplitudes array, one pointer per frequency */
1703  static const int nc[] = {
1704 
1705  /* 1-100 */
1706  1, 21, 37, 51, 65, 79, 91, 103, 115, 127,
1707  139, 151, 163, 172, 184, 196, 207, 219, 231, 240,
1708  252, 261, 273, 285, 297, 309, 318, 327, 339, 351,
1709  363, 372, 384, 396, 405, 415, 423, 435, 444, 452,
1710  460, 467, 474, 482, 490, 498, 506, 513, 521, 528,
1711  536, 543, 551, 559, 566, 574, 582, 590, 597, 605,
1712  613, 620, 628, 636, 644, 651, 658, 666, 674, 680,
1713  687, 695, 702, 710, 717, 725, 732, 739, 746, 753,
1714  760, 767, 774, 782, 790, 798, 805, 812, 819, 826,
1715  833, 840, 846, 853, 860, 867, 874, 881, 888, 895,
1716 
1717  /* 101-200 */
1718  901, 908, 914, 921, 928, 934, 941, 948, 955, 962,
1719  969, 976, 982, 989, 996, 1003, 1010, 1017, 1024, 1031,
1720  1037, 1043, 1050, 1057, 1064, 1071, 1078, 1084, 1091, 1098,
1721  1104, 1112, 1118, 1124, 1131, 1138, 1145, 1151, 1157, 1164,
1722  1171, 1178, 1185, 1192, 1199, 1205, 1212, 1218, 1226, 1232,
1723  1239, 1245, 1252, 1259, 1266, 1272, 1278, 1284, 1292, 1298,
1724  1304, 1310, 1316, 1323, 1329, 1335, 1341, 1347, 1353, 1359,
1725  1365, 1371, 1377, 1383, 1389, 1396, 1402, 1408, 1414, 1420,
1726  1426, 1434, 1440, 1446, 1452, 1459, 1465, 1471, 1477, 1482,
1727  1488, 1493, 1499, 1504, 1509, 1514, 1520, 1527, 1532, 1538,
1728 
1729  /* 201-300 */
1730  1543, 1548, 1553, 1558, 1564, 1569, 1574, 1579, 1584, 1589,
1731  1594, 1596, 1598, 1600, 1602, 1605, 1608, 1610, 1612, 1617,
1732  1619, 1623, 1625, 1627, 1629, 1632, 1634, 1640, 1642, 1644,
1733  1646, 1648, 1650, 1652, 1654, 1658, 1660, 1662, 1664, 1668,
1734  1670, 1672, 1673, 1675, 1679, 1681, 1683, 1684, 1686, 1688,
1735  1690, 1693, 1695, 1697, 1701, 1703, 1705, 1707, 1709, 1711,
1736  1712, 1715, 1717, 1721, 1723, 1725, 1727, 1729, 1731, 1733,
1737  1735, 1737, 1739, 1741, 1743, 1745, 1747, 1749, 1751, 1753,
1738  1755, 1757, 1759, 1761, 1762, 1764, 1766, 1768, 1769, 1771,
1739  1773, 1775, 1777, 1779, 1781, 1783, 1785, 1787, 1788, 1790,
1740 
1741  /* 301-400 */
1742  1792, 1794, 1796, 1798, 1800, 1802, 1804, 1806, 1807, 1809,
1743  1811, 1815, 1817, 1819, 1821, 1823, 1825, 1827, 1829, 1831,
1744  1833, 1835, 1837, 1839, 1840, 1842, 1844, 1848, 1850, 1852,
1745  1854, 1856, 1858, 1859, 1860, 1862, 1864, 1866, 1868, 1869,
1746  1871, 1873, 1875, 1877, 1879, 1881, 1883, 1885, 1887, 1889,
1747  1891, 1892, 1896, 1898, 1900, 1901, 1903, 1905, 1907, 1909,
1748  1910, 1911, 1913, 1915, 1919, 1921, 1923, 1927, 1929, 1931,
1749  1933, 1935, 1937, 1939, 1943, 1945, 1947, 1948, 1949, 1951,
1750  1953, 1955, 1957, 1958, 1960, 1962, 1964, 1966, 1968, 1970,
1751  1971, 1973, 1974, 1975, 1977, 1979, 1980, 1981, 1982, 1984,
1752 
1753  /* 401-500 */
1754  1986, 1988, 1990, 1992, 1994, 1995, 1997, 1999, 2001, 2003,
1755  2005, 2007, 2008, 2009, 2011, 2013, 2015, 2017, 2019, 2021,
1756  2023, 2024, 2025, 2027, 2029, 2031, 2033, 2035, 2037, 2041,
1757  2043, 2045, 2046, 2047, 2049, 2051, 2053, 2055, 2056, 2057,
1758  2059, 2061, 2063, 2065, 2067, 2069, 2070, 2071, 2072, 2074,
1759  2076, 2078, 2080, 2082, 2084, 2086, 2088, 2090, 2092, 2094,
1760  2095, 2096, 2097, 2099, 2101, 2105, 2106, 2107, 2108, 2109,
1761  2110, 2111, 2113, 2115, 2119, 2121, 2123, 2125, 2127, 2129,
1762  2131, 2133, 2135, 2136, 2137, 2139, 2141, 2143, 2145, 2147,
1763  2149, 2151, 2153, 2155, 2157, 2159, 2161, 2163, 2165, 2167,
1764 
1765  /* 501-600 */
1766  2169, 2171, 2173, 2175, 2177, 2179, 2181, 2183, 2185, 2186,
1767  2187, 2188, 2192, 2193, 2195, 2197, 2199, 2201, 2203, 2205,
1768  2207, 2209, 2211, 2213, 2217, 2219, 2221, 2223, 2225, 2227,
1769  2229, 2231, 2233, 2234, 2235, 2236, 2237, 2238, 2239, 2240,
1770  2241, 2244, 2246, 2248, 2250, 2252, 2254, 2256, 2258, 2260,
1771  2262, 2264, 2266, 2268, 2270, 2272, 2274, 2276, 2278, 2280,
1772  2282, 2284, 2286, 2288, 2290, 2292, 2294, 2296, 2298, 2300,
1773  2302, 2303, 2304, 2305, 2306, 2307, 2309, 2311, 2313, 2315,
1774  2317, 2319, 2321, 2323, 2325, 2327, 2329, 2331, 2333, 2335,
1775  2337, 2341, 2343, 2345, 2347, 2349, 2351, 2352, 2355, 2356,
1776 
1777  /* 601-700 */
1778  2357, 2358, 2359, 2361, 2363, 2364, 2365, 2366, 2367, 2368,
1779  2369, 2370, 2371, 2372, 2373, 2374, 2376, 2378, 2380, 2382,
1780  2384, 2385, 2386, 2387, 2388, 2389, 2390, 2391, 2392, 2393,
1781  2394, 2395, 2396, 2397, 2398, 2399, 2400, 2401, 2402, 2403,
1782  2404, 2405, 2406, 2407, 2408, 2409, 2410, 2411, 2412, 2413,
1783  2414, 2415, 2417, 2418, 2430, 2438, 2445, 2453, 2460, 2468,
1784  2474, 2480, 2488, 2496, 2504, 2512, 2520, 2527, 2535, 2543,
1785  2550, 2558, 2566, 2574, 2580, 2588, 2596, 2604, 2612, 2619,
1786  2627, 2634, 2642, 2648, 2656, 2664, 2671, 2679, 2685, 2693,
1787  2701, 2709, 2717, 2725, 2733, 2739, 2747, 2753, 2761, 2769,
1788 
1789  /* 701-800 */
1790  2777, 2785, 2793, 2801, 2809, 2817, 2825, 2833, 2841, 2848,
1791  2856, 2864, 2872, 2878, 2884, 2892, 2898, 2906, 2914, 2922,
1792  2930, 2938, 2944, 2952, 2958, 2966, 2974, 2982, 2988, 2996,
1793  3001, 3009, 3017, 3025, 3032, 3039, 3045, 3052, 3059, 3067,
1794  3069, 3076, 3083, 3090, 3098, 3105, 3109, 3111, 3113, 3120,
1795  3124, 3128, 3132, 3136, 3140, 3144, 3146, 3150, 3158, 3161,
1796  3165, 3166, 3168, 3172, 3176, 3180, 3182, 3185, 3189, 3193,
1797  3194, 3197, 3200, 3204, 3208, 3212, 3216, 3219, 3221, 3222,
1798  3226, 3230, 3234, 3238, 3242, 3243, 3247, 3251, 3254, 3258,
1799  3262, 3266, 3270, 3274, 3275, 3279, 3283, 3287, 3289, 3293,
1800 
1801  /* 801-900 */
1802  3296, 3300, 3303, 3307, 3311, 3315, 3319, 3321, 3324, 3327,
1803  3330, 3334, 3338, 3340, 3342, 3346, 3350, 3354, 3358, 3361,
1804  3365, 3369, 3373, 3377, 3381, 3385, 3389, 3393, 3394, 3398,
1805  3402, 3406, 3410, 3413, 3417, 3421, 3425, 3429, 3433, 3435,
1806  3439, 3443, 3446, 3450, 3453, 3457, 3458, 3461, 3464, 3468,
1807  3472, 3476, 3478, 3481, 3485, 3489, 3493, 3497, 3501, 3505,
1808  3507, 3511, 3514, 3517, 3521, 3524, 3525, 3527, 3529, 3533,
1809  3536, 3540, 3541, 3545, 3548, 3551, 3555, 3559, 3563, 3567,
1810  3569, 3570, 3574, 3576, 3578, 3582, 3586, 3590, 3593, 3596,
1811  3600, 3604, 3608, 3612, 3616, 3620, 3623, 3626, 3630, 3632,
1812 
1813  /* 901-1000 */
1814  3636, 3640, 3643, 3646, 3648, 3652, 3656, 3660, 3664, 3667,
1815  3669, 3671, 3675, 3679, 3683, 3687, 3689, 3693, 3694, 3695,
1816  3699, 3703, 3705, 3707, 3710, 3713, 3717, 3721, 3725, 3729,
1817  3733, 3736, 3740, 3744, 3748, 3752, 3754, 3757, 3759, 3763,
1818  3767, 3770, 3773, 3777, 3779, 3783, 3786, 3790, 3794, 3798,
1819  3801, 3805, 3809, 3813, 3817, 3821, 3825, 3827, 3831, 3835,
1820  3836, 3837, 3840, 3844, 3848, 3852, 3856, 3859, 3863, 3867,
1821  3869, 3871, 3875, 3879, 3883, 3887, 3890, 3894, 3898, 3901,
1822  3905, 3909, 3913, 3917, 3921, 3922, 3923, 3924, 3926, 3930,
1823  3932, 3936, 3938, 3940, 3944, 3948, 3952, 3956, 3959, 3963,
1824 
1825  /* 1001-1100 */
1826  3965, 3969, 3973, 3977, 3979, 3981, 3982, 3986, 3989, 3993,
1827  3997, 4001, 4004, 4006, 4009, 4012, 4016, 4020, 4024, 4026,
1828  4028, 4032, 4036, 4040, 4044, 4046, 4050, 4054, 4058, 4060,
1829  4062, 4063, 4064, 4068, 4071, 4075, 4077, 4081, 4083, 4087,
1830  4089, 4091, 4095, 4099, 4101, 4103, 4105, 4107, 4111, 4115,
1831  4119, 4123, 4127, 4129, 4131, 4135, 4139, 4141, 4143, 4145,
1832  4149, 4153, 4157, 4161, 4165, 4169, 4173, 4177, 4180, 4183,
1833  4187, 4191, 4195, 4198, 4201, 4205, 4209, 4212, 4213, 4216,
1834  4217, 4221, 4223, 4226, 4230, 4234, 4236, 4240, 4244, 4248,
1835  4252, 4256, 4258, 4262, 4264, 4266, 4268, 4270, 4272, 4276,
1836 
1837  /* 1101-1200 */
1838  4279, 4283, 4285, 4287, 4289, 4293, 4295, 4299, 4300, 4301,
1839  4305, 4309, 4313, 4317, 4319, 4323, 4325, 4329, 4331, 4333,
1840  4335, 4337, 4341, 4345, 4349, 4351, 4353, 4357, 4361, 4365,
1841  4367, 4369, 4373, 4377, 4381, 4383, 4387, 4389, 4391, 4395,
1842  4399, 4403, 4407, 4411, 4413, 4414, 4415, 4418, 4419, 4421,
1843  4423, 4427, 4429, 4431, 4433, 4435, 4437, 4439, 4443, 4446,
1844  4450, 4452, 4456, 4458, 4460, 4462, 4466, 4469, 4473, 4477,
1845  4481, 4483, 4487, 4489, 4491, 4493, 4497, 4499, 4501, 4504,
1846  4506, 4510, 4513, 4514, 4515, 4518, 4521, 4522, 4525, 4526,
1847  4527, 4530, 4533, 4534, 4537, 4541, 4542, 4543, 4544, 4545,
1848 
1849  /* 1201-1300 */
1850  4546, 4547, 4550, 4553, 4554, 4555, 4558, 4561, 4564, 4567,
1851  4568, 4571, 4574, 4575, 4578, 4581, 4582, 4585, 4586, 4588,
1852  4590, 4592, 4596, 4598, 4602, 4604, 4608, 4612, 4613, 4616,
1853  4619, 4622, 4623, 4624, 4625, 4626, 4629, 4632, 4633, 4636,
1854  4639, 4640, 4641, 4642, 4643, 4644, 4645, 4648, 4649, 4650,
1855  4651, 4652, 4653, 4656, 4657, 4660, 4661, 4664, 4667, 4670,
1856  4671, 4674, 4675, 4676, 4677, 4678, 4681, 4682, 4683, 4684,
1857  4687, 4688, 4689, 4692, 4693, 4696, 4697, 4700, 4701, 4702,
1858  4703, 4704, 4707, 4708, 4711, 4712, 4715, 4716, 4717, 4718,
1859  4719, 4720, 4721, 4722, 4723, 4726, 4729, 4730, 4733, 4736,
1860 
1861  /* 1301-(NFLS+NFPL) */
1862  4737, 4740, 4741, 4742, 4745, 4746, 4749, 4752, 4753
1863  };
1864 
1865 /* Amplitude coefficients (microarcsec); indexed using the nc array. */
1866  static const double a[] = {
1867 
1868  /* 1-105 */
1869  -6844318.44, 9205236.26,1328.67,1538.18, 205833.11,
1870  153041.79, -3309.73, 853.32,2037.98, -2301.27,
1871  81.46, 120.56, -20.39, -15.22, 1.73, -1.61, -0.10, 0.11,
1872  -0.02, -0.02, -523908.04, 573033.42,-544.75,-458.66,
1873  12814.01, 11714.49, 198.97,-290.91, 155.74,-143.27,
1874  -2.75, -1.03, -1.27, -1.16, 0.00, -0.01, -90552.22,
1875  97846.69, 111.23, 137.41,2187.91,2024.68, 41.44, -51.26,
1876  26.92, -24.46, -0.46, -0.28, -0.22, -0.20, 82168.76,
1877  -89618.24, -27.64, -29.05, -2004.36, -1837.32,
1878  -36.07, 48.00, -24.43, 22.41, 0.47, 0.24, 0.20, 0.18,
1879  58707.02,7387.02, 470.05,-192.40, 164.33, -1312.21,
1880  -179.73, -28.93, -17.36, -1.83, -0.50, 3.57, 0.00, 0.13,
1881  -20557.78, 22438.42, -20.84, -17.40, 501.82, 459.68,
1882  59.20, -67.30, 6.08, -5.61, -1.36, -1.19, 28288.28,
1883  -674.99, -34.69, 35.80, -15.07,-632.54, -11.19, 0.78, -8.41,
1884  0.17, 0.01, 0.07, -15406.85, 20069.50, 15.12,
1885 
1886  /* 106-219 */
1887  31.80, 448.76, 344.50, -5.77, 1.41, 4.59, -5.02, 0.17,
1888  0.24, -11991.74, 12902.66, 32.46, 36.70, 288.49,
1889  268.14, 5.70, -7.06, 3.57, -3.23, -0.06, -0.04,
1890  -8584.95, -9592.72, 4.42, -13.20,-214.50, 192.06,
1891  23.87, 29.83, 2.54, 2.40, 0.60, -0.48,5095.50,
1892  -6918.22, 7.19, 3.92,-154.91,-113.94, 2.86, -1.04,
1893  -1.52, 1.73, -0.07, -0.10, -4910.93, -5331.13,
1894  0.76, 0.40,-119.21, 109.81, 2.16, 3.20, 1.46, 1.33,
1895  0.04, -0.02, -6245.02,-123.48, -6.68, -8.20, -2.76,
1896  139.64, 2.71, 0.15, 1.86,2511.85, -3323.89, 1.07,
1897  -0.90, -74.33, -56.17, 1.16, -0.01, -0.75, 0.83, -0.02,
1898  -0.04,2307.58,3143.98, -7.52, 7.50, 70.31, -51.60, 1.46,
1899  0.16, -0.69, -0.79, 0.02, -0.05,2372.58,2554.51, 5.93,
1900  -6.60, 57.12, -53.05, -0.96, -1.24, -0.71, -0.64, -0.01,
1901  -2053.16,2636.13, 5.13, 7.80, 58.94, 45.91, -0.42,
1902  -0.12, 0.61, -0.66, 0.02, 0.03, -1825.49,
1903 
1904  /* 220-339 */
1905  -2423.59, 1.23, -2.00, -54.19, 40.82, -1.07, -1.02,
1906  0.54, 0.61, -0.04, 0.04,2521.07,-122.28, -5.97, 2.90,
1907  -2.73, -56.37, -0.82, 0.13, -0.75, -1534.09,1645.01,
1908  6.29, 6.80, 36.78, 34.30, 0.92, -1.25, 0.46, -0.41,
1909  -0.02, -0.01,1898.27, 47.70, -0.72, 2.50, 1.07, -42.45,
1910  -0.94, 0.02, -0.56, -1292.02, -1387.00, 0.00,
1911  0.00, -31.01, 28.89, 0.68, 0.00, 0.38, 0.35, -0.01,
1912  -0.01, -1234.96,1323.81, 5.21, 5.90, 29.60, 27.61,
1913  0.74, -1.22, 0.37, -0.33, -0.02, -0.01,1137.48,
1914  -1233.89, -0.04, -0.30, -27.59, -25.43, -0.61, 1.00,
1915  -0.34, 0.31, 0.01, 0.01,-813.13, -1075.60, 0.40,
1916  0.30, -24.05, 18.18, -0.40, -0.01, 0.24, 0.27, -0.01,
1917  0.01,1163.22, -60.90, -2.94, 1.30, -1.36, -26.01, -0.58,
1918  0.07, -0.35,1029.70, -55.55, -2.63, 1.10, -1.25, -23.02,
1919  -0.52, 0.06, -0.31,-556.26, 852.85, 3.16, -4.48, 19.06,
1920  12.44, -0.81, -0.27, 0.17, -0.21, 0.00, 0.02,-603.52,
1921 
1922  /* 340-467 */
1923  -800.34, 0.44, 0.10, -17.90, 13.49, -0.08, -0.01, 0.18,
1924  0.20, -0.01, 0.01,-628.24, 684.99, -0.64, -0.50, 15.32,
1925  14.05, 3.18, -4.19, 0.19, -0.17, -0.09, -0.07,-866.48,
1926  -16.26, 0.52, -1.30, -0.36, 19.37, 0.43, -0.01, 0.26,
1927  -512.37, 695.54, -1.47, -1.40, 15.55, 11.46, -0.16, 0.03,
1928  0.15, -0.17, 0.01, 0.01, 506.65, 643.75, 2.54, -2.62,
1929  14.40, -11.33, -0.77, -0.06, -0.15, -0.16, 0.00, 0.01,
1930  664.57, 16.81, -0.40, 1.00, 0.38, -14.86, -3.71, -0.09,
1931  -0.20, 405.91, 522.11, 0.99, -1.50, 11.67, -9.08, -0.25,
1932  -0.02, -0.12, -0.13,-305.78, 326.60, 1.75, 1.90, 7.30,
1933  6.84, 0.20, -0.04, 300.99,-325.03, -0.44, -0.50, -7.27,
1934  -6.73, -1.01, 0.01, 0.00, 0.08, 0.00, 0.02, 438.51,
1935  10.47, -0.56, -0.20, 0.24, -9.81, -0.24, 0.01, -0.13,
1936  -264.02, 335.24, 0.99, 1.40, 7.49, 5.90, -0.27, -0.02,
1937  284.09, 307.03, 0.32, -0.40, 6.87, -6.35, -0.99, -0.01,
1938  -250.54, 327.11, 0.08, 0.40, 7.31, 5.60, -0.30, 230.72,
1939 
1940  /* 468-595 */
1941  -304.46, 0.08, -0.10, -6.81, -5.16, 0.27, 229.78, 304.17,
1942  -0.60, 0.50, 6.80, -5.14, 0.33, 0.01, 256.30,-276.81,
1943  -0.28, -0.40, -6.19, -5.73, -0.14, 0.01,-212.82, 269.45,
1944  0.84, 1.20, 6.02, 4.76, 0.14, -0.02, 196.64, 272.05,
1945  -0.84, 0.90, 6.08, -4.40, 0.35, 0.02, 188.95, 272.22,
1946  -0.12, 0.30, 6.09, -4.22, 0.34,-292.37, -5.10, -0.32,
1947  -0.40, -0.11, 6.54, 0.14, 0.01, 161.79,-220.67, 0.24,
1948  0.10, -4.93, -3.62, -0.08, 261.54, -19.94, -0.95, 0.20,
1949  -0.45, -5.85, -0.13, 0.02, 142.16,-190.79, 0.20, 0.10,
1950  -4.27, -3.18, -0.07, 187.95, -4.11, -0.24, 0.30, -0.09,
1951  -4.20, -0.09, 0.01, 0.00, 0.00, -79.08, 167.90, 0.04,
1952  0.00, 3.75, 1.77, 121.98, 131.04, -0.08, 0.10, 2.93,
1953  -2.73, -0.06,-172.95, -8.11, -0.40, -0.20, -0.18, 3.87,
1954  0.09, 0.01,-160.15, -55.30, -14.04, 13.90, -1.23, 3.58,
1955  0.40, 0.31,-115.40, 123.20, 0.60, 0.70, 2.75, 2.58,
1956  0.08, -0.01,-168.26, -2.00, 0.20, -0.20, -0.04, 3.76,
1957 
1958  /* 596-723 */
1959  0.08,-114.49, 123.20, 0.32, 0.40, 2.75, 2.56, 0.07,
1960  -0.01, 112.14, 120.70, 0.28, -0.30, 2.70, -2.51, -0.07,
1961  -0.01, 161.34, 4.03, 0.20, 0.20, 0.09, -3.61, -0.08,
1962  91.31, 126.64, -0.40, 0.40, 2.83, -2.04, -0.04, 0.01,
1963  105.29, 112.90, 0.44, -0.50, 2.52, -2.35, -0.07, -0.01,
1964  98.69,-106.20, -0.28, -0.30, -2.37, -2.21, -0.06, 0.01,
1965  86.74,-112.94, -0.08, -0.20, -2.53, -1.94, -0.05,-134.81,
1966  3.51, 0.20, -0.20, 0.08, 3.01, 0.07, 79.03, 107.31,
1967  -0.24, 0.20, 2.40, -1.77, -0.04, 0.01, 132.81, -10.77,
1968  -0.52, 0.10, -0.24, -2.97, -0.07, 0.01,-130.31, -0.90,
1969  0.04, 0.00, 0.00, 2.91, -78.56, 85.32, 0.00, 0.00,
1970  1.91, 1.76, 0.04, 0.00, 0.00, -41.53, 89.10, 0.02,
1971  0.00, 1.99, 0.93, 66.03, -71.00, -0.20, -0.20, -1.59,
1972  -1.48, -0.04, 60.50, 64.70, 0.36, -0.40, 1.45, -1.35,
1973  -0.04, -0.01, -52.27, -70.01, 0.00, 0.00, -1.57, 1.17,
1974  0.03, -52.95, 66.29, 0.32, 0.40, 1.48, 1.18, 0.04,
1975 
1976  /* 724-851 */
1977  -0.01, 51.02, 67.25, 0.00, 0.00, 1.50, -1.14, -0.03,
1978  -55.66, -60.92, 0.16, -0.20, -1.36, 1.24, 0.03, -54.81,
1979  -59.20, -0.08, 0.20, -1.32, 1.23, 0.03, 51.32, -55.60,
1980  0.00, 0.00, -1.24, -1.15, -0.03, 48.29, 51.80, 0.20,
1981  -0.20, 1.16, -1.08, -0.03, -45.59, -49.00, -0.12, 0.10,
1982  -1.10, 1.02, 0.03, 40.54, -52.69, -0.04, -0.10, -1.18,
1983  -0.91, -0.02, -40.58, -49.51, -1.00, 1.00, -1.11, 0.91,
1984  0.04, 0.02, -43.76, 46.50, 0.36, 0.40, 1.04, 0.98,
1985  0.03, -0.01, 62.65, -5.00, -0.24, 0.00, -0.11, -1.40,
1986  -0.03, 0.01, -38.57, 49.59, 0.08, 0.10, 1.11, 0.86,
1987  0.02, -33.22, -44.04, 0.08, -0.10, -0.98, 0.74, 0.02,
1988  37.15, -39.90, -0.12, -0.10, -0.89, -0.83, -0.02, 36.68,
1989  -39.50, -0.04, -0.10, -0.88, -0.82, -0.02, -53.22, -3.91,
1990  -0.20, 0.00, -0.09, 1.19, 0.03, 32.43, -42.19, -0.04,
1991  -0.10, -0.94, -0.73, -0.02, -51.00, -2.30, -0.12, -0.10,
1992  0.00, 1.14, -29.53, -39.11, 0.04, 0.00, -0.87, 0.66,
1993 
1994  /* 852-979 */
1995  0.02, 28.50, -38.92, -0.08, -0.10, -0.87, -0.64, -0.02,
1996  26.54, 36.95, -0.12, 0.10, 0.83, -0.59, -0.01, 26.54,
1997  34.59, 0.04, -0.10, 0.77, -0.59, -0.02, 28.35, -32.55,
1998  -0.16, 0.20, -0.73, -0.63, -0.01, -28.00, 30.40, 0.00,
1999  0.00, 0.68, 0.63, 0.01, -27.61, 29.40, 0.20, 0.20,
2000  0.66, 0.62, 0.02, 40.33, 0.40, -0.04, 0.10, 0.00,
2001  -0.90, -23.28, 31.61, -0.08, -0.10, 0.71, 0.52, 0.01,
2002  37.75, 0.80, 0.04, 0.10, 0.00, -0.84, 23.66, 25.80,
2003  0.00, 0.00, 0.58, -0.53, -0.01, 21.01, -27.91, 0.00,
2004  0.00, -0.62, -0.47, -0.01, -34.81, 2.89, 0.04, 0.00,
2005  0.00, 0.78, -23.49, -25.31, 0.00, 0.00, -0.57, 0.53,
2006  0.01, -23.47, 25.20, 0.16, 0.20, 0.56, 0.52, 0.02,
2007  19.58, 27.50, -0.12, 0.10, 0.62, -0.44, -0.01, -22.67,
2008  -24.40, -0.08, 0.10, -0.55, 0.51, 0.01, -19.97, 25.00,
2009  0.12, 0.20, 0.56, 0.45, 0.01, 21.28, -22.80, -0.08,
2010  -0.10, -0.51, -0.48, -0.01, -30.47, 0.91, 0.04, 0.00,
2011 
2012  /* 980-1107 */
2013  0.00, 0.68, 18.58, 24.00, 0.04, -0.10, 0.54, -0.42,
2014  -0.01, -18.02, 24.40, -0.04, -0.10, 0.55, 0.40, 0.01,
2015  17.74, 22.50, 0.08, -0.10, 0.50, -0.40, -0.01, -19.41,
2016  20.70, 0.08, 0.10, 0.46, 0.43, 0.01, -18.64, 20.11,
2017  0.00, 0.00, 0.45, 0.42, 0.01, -16.75, 21.60, 0.04,
2018  0.10, 0.48, 0.37, 0.01, -18.42, -20.00, 0.00, 0.00,
2019  -0.45, 0.41, 0.01, -26.77, 1.41, 0.08, 0.00, 0.00,
2020  0.60, -26.17, -0.19, 0.00, 0.00, 0.00, 0.59, -15.52,
2021  20.51, 0.00, 0.00, 0.46, 0.35, 0.01, -25.42, -1.91,
2022  -0.08, 0.00, -0.04, 0.57, 0.45, -17.42, 18.10, 0.00,
2023  0.00, 0.40, 0.39, 0.01, 16.39, -17.60, -0.08, -0.10,
2024  -0.39, -0.37, -0.01, -14.37, 18.91, 0.00, 0.00, 0.42,
2025  0.32, 0.01, 23.39, -2.40, -0.12, 0.00, 0.00, -0.52,
2026  14.32, -18.50, -0.04, -0.10, -0.41, -0.32, -0.01, 15.69,
2027  17.08, 0.00, 0.00, 0.38, -0.35, -0.01, -22.99, 0.50,
2028  0.04, 0.00, 0.00, 0.51, 0.00, 0.00, 14.47, -17.60,
2029 
2030  /* 1108-1235 */
2031  -0.01, 0.00, -0.39, -0.32, -13.33, 18.40, -0.04, -0.10,
2032  0.41, 0.30, 22.47, -0.60, -0.04, 0.00, 0.00, -0.50,
2033  -12.78, -17.41, 0.04, 0.00, -0.39, 0.29, 0.01, -14.10,
2034  -15.31, 0.04, 0.00, -0.34, 0.32, 0.01, 11.98, 16.21,
2035  -0.04, 0.00, 0.36, -0.27, -0.01, 19.65, -1.90, -0.08,
2036  0.00, 0.00, -0.44, 19.61, -1.50, -0.08, 0.00, 0.00,
2037  -0.44, 13.41, -14.30, -0.04, -0.10, -0.32, -0.30, -0.01,
2038  -13.29, 14.40, 0.00, 0.00, 0.32, 0.30, 0.01, 11.14,
2039  -14.40, -0.04, 0.00, -0.32, -0.25, -0.01, 12.24, -13.38,
2040  0.04, 0.00, -0.30, -0.27, -0.01, 10.07, -13.81, 0.04,
2041  0.00, -0.31, -0.23, -0.01, 10.46, 13.10, 0.08, -0.10,
2042  0.29, -0.23, -0.01, 16.55, -1.71, -0.08, 0.00, 0.00,
2043  -0.37, 9.75, -12.80, 0.00, 0.00, -0.29, -0.22, -0.01,
2044  9.11, 12.80, 0.00, 0.00, 0.29, -0.20, 0.00, 0.00,
2045  -6.44, -13.80, 0.00, 0.00, -0.31, 0.14, -9.19, -12.00,
2046  0.00, 0.00, -0.27, 0.21, -10.30, 10.90, 0.08, 0.10,
2047 
2048  /* 1236-1363 */
2049  0.24, 0.23, 0.01, 14.92, -0.80, -0.04, 0.00, 0.00,
2050  -0.33, 10.02, -10.80, 0.00, 0.00, -0.24, -0.22, -0.01,
2051  -9.75, 10.40, 0.04, 0.00, 0.23, 0.22, 0.01, 9.67,
2052  -10.40, -0.04, 0.00, -0.23, -0.22, -0.01, -8.28, -11.20,
2053  0.04, 0.00, -0.25, 0.19, 13.32, -1.41, -0.08, 0.00,
2054  0.00, -0.30, 8.27, 10.50, 0.04, 0.00, 0.23, -0.19,
2055  0.00, 0.00, 13.13, 0.00, 0.00, 0.00, 0.00, -0.29,
2056  -12.93, 0.70, 0.04, 0.00, 0.00, 0.29, 7.91, -10.20,
2057  0.00, 0.00, -0.23, -0.18, -7.84, -10.00, -0.04, 0.00,
2058  -0.22, 0.18, 7.44, 9.60, 0.00, 0.00, 0.21, -0.17,
2059  -7.64, 9.40, 0.08, 0.10, 0.21, 0.17, 0.01, -11.38,
2060  0.60, 0.04, 0.00, 0.00, 0.25, -7.48, 8.30, 0.00,
2061  0.00, 0.19, 0.17, -10.98, -0.20, 0.00, 0.00, 0.00,
2062  0.25, 10.98, 0.20, 0.00, 0.00, 0.00, -0.25, 7.40,
2063  -7.90, -0.04, 0.00, -0.18, -0.17, -6.09, 8.40, -0.04,
2064  0.00, 0.19, 0.14, -6.94, -7.49, 0.00, 0.00, -0.17,
2065 
2066  /* 1364-1491 */
2067  0.16, 6.92, 7.50, 0.04, 0.00, 0.17, -0.15, 6.20,
2068  8.09, 0.00, 0.00, 0.18, -0.14, -6.12, 7.80, 0.04,
2069  0.00, 0.17, 0.14, 5.85, -7.50, 0.00, 0.00, -0.17,
2070  -0.13, -6.48, 6.90, 0.08, 0.10, 0.15, 0.14, 0.01,
2071  6.32, 6.90, 0.00, 0.00, 0.15, -0.14, 5.61, -7.20,
2072  0.00, 0.00, -0.16, -0.13, 9.07, 0.00, 0.00, 0.00,
2073  0.00, -0.20, 5.25, 6.90, 0.00, 0.00, 0.15, -0.12,
2074  -8.47, -0.40, 0.00, 0.00, 0.00, 0.19, 6.32, -5.39,
2075  -1.11, 1.10, -0.12, -0.14, 0.02, 0.02, 5.73, -6.10,
2076  -0.04, 0.00, -0.14, -0.13, 4.70, 6.60, -0.04, 0.00,
2077  0.15, -0.11, -4.90, -6.40, 0.00, 0.00, -0.14, 0.11,
2078  -5.33, 5.60, 0.04, 0.10, 0.13, 0.12, 0.01, -4.81,
2079  6.00, 0.04, 0.00, 0.13, 0.11, 5.13, 5.50, 0.04,
2080  0.00, 0.12, -0.11, 4.50, 5.90, 0.00, 0.00, 0.13,
2081  -0.10, -4.22, 6.10, 0.00, 0.00, 0.14, -4.53, 5.70,
2082  0.00, 0.00, 0.13, 0.10, 4.18, 5.70, 0.00, 0.00,
2083 
2084  /* 1492-1619 */
2085  0.13, -4.75, -5.19, 0.00, 0.00, -0.12, 0.11, -4.06,
2086  5.60, 0.00, 0.00, 0.13, -3.98, 5.60, -0.04, 0.00,
2087  0.13, 4.02, -5.40, 0.00, 0.00, -0.12, 4.49, -4.90,
2088  -0.04, 0.00, -0.11, -0.10, -3.62, -5.40, -0.16, 0.20,
2089  -0.12, 0.00, 0.01, 4.38, 4.80, 0.00, 0.00, 0.11,
2090  -6.40, -0.10, 0.00, 0.00, 0.00, 0.14, -3.98, 5.00,
2091  0.04, 0.00, 0.11, -3.82, -5.00, 0.00, 0.00, -0.11,
2092  -3.71, 5.07, 0.00, 0.00, 0.11, 4.14, 4.40, 0.00,
2093  0.00, 0.10, -6.01, -0.50, -0.04, 0.00, 0.00, 0.13,
2094  -4.04, 4.39, 0.00, 0.00, 0.10, 3.45, -4.72, 0.00,
2095  0.00, -0.11, 3.31, 4.71, 0.00, 0.00, 0.11, 3.26,
2096  -4.50, 0.00, 0.00, -0.10, -3.26, -4.50, 0.00, 0.00,
2097  -0.10, -3.34, -4.40, 0.00, 0.00, -0.10, -3.74, -4.00,
2098  3.70, 4.00, 3.34, -4.30, 3.30, -4.30, -3.66, 3.90,
2099  0.04, 3.66, 3.90, 0.04, -3.62, -3.90, -3.61, 3.90,
2100  -0.20, 5.30, 0.00, 0.00, 0.12, 3.06, 4.30, 3.30,
2101 
2102  /* 1620-1747 */
2103  4.00, 0.40, 0.20, 3.10, 4.10, -3.06, 3.90, -3.30,
2104  -3.60, -3.30, 3.36, 0.01, 3.14, 3.40, -4.57, -0.20,
2105  0.00, 0.00, 0.00, 0.10, -2.70, -3.60, 2.94, -3.20,
2106  -2.90, 3.20, 2.47, -3.40, 2.55, -3.30, 2.80, -3.08,
2107  2.51, 3.30, -4.10, 0.30, -0.12, -0.10, 4.10, 0.20,
2108  -2.74, 3.00, 2.46, 3.23, -3.66, 1.20, -0.20, 0.20,
2109  3.74, -0.40, -2.51, -2.80, -3.74, 2.27, -2.90, 0.00,
2110  0.00, -2.50, 2.70, -2.51, 2.60, -3.50, 0.20, 3.38,
2111  -2.22, -2.50, 3.26, -0.40, 1.95, -2.60, 3.22, -0.40,
2112  -0.04, -1.79, -2.60, 1.91, 2.50, 0.74, 3.05, -0.04,
2113  0.08, 2.11, -2.30, -2.11, 2.20, -1.87, -2.40, 2.03,
2114  -2.20, -2.03, 2.20, 2.98, 0.00, 0.00, 2.98, -1.71,
2115  2.40, 2.94, -0.10, -0.12, 0.10, 1.67, 2.40, -1.79,
2116  2.30, -1.79, 2.20, -1.67, 2.20, 1.79, -2.00, 1.87,
2117  -1.90, 1.63, -2.10, -1.59, 2.10, 1.55, -2.10, -1.55,
2118  2.10, -2.59, -0.20, -1.75, -1.90, -1.75, 1.90, -1.83,
2119 
2120  /* 1748-1875 */
2121  -1.80, 1.51, 2.00, -1.51, -2.00, 1.71, 1.80, 1.31,
2122  2.10, -1.43, 2.00, 1.43, 2.00, -2.43, -1.51, 1.90,
2123  -1.47, 1.90, 2.39, 0.20, -2.39, 1.39, 1.90, 1.39,
2124  -1.80, 1.47, -1.60, 1.47, -1.60, 1.43, -1.50, -1.31,
2125  1.60, 1.27, -1.60, -1.27, 1.60, 1.27, -1.60, 2.03,
2126  1.35, 1.50, -1.39, -1.40, 1.95, -0.20, -1.27, 1.49,
2127  1.19, 1.50, 1.27, 1.40, 1.15, 1.50, 1.87, -0.10,
2128  -1.12, -1.50, 1.87, -1.11, -1.50, -1.11, -1.50, 0.00,
2129  0.00, 1.19, 1.40, 1.27, -1.30, -1.27, -1.30, -1.15,
2130  1.40, -1.23, 1.30, -1.23, -1.30, 1.22, -1.29, 1.07,
2131  -1.40, 1.75, -0.20, -1.03, -1.40, -1.07, 1.20, -1.03,
2132  1.15, 1.07, 1.10, 1.51, -1.03, 1.10, 1.03, -1.10,
2133  0.00, 0.00, -1.03, -1.10, 0.91, -1.20, -0.88, -1.20,
2134  -0.88, 1.20, -0.95, 1.10, -0.95, -1.10, 1.43, -1.39,
2135  0.95, -1.00, -0.95, 1.00, -0.80, 1.10, 0.91, -1.00,
2136  -1.35, 0.88, 1.00, -0.83, 1.00, -0.91, 0.90, 0.91,
2137 
2138  /* 1876-2003 */
2139  0.90, 0.88, -0.90, -0.76, -1.00, -0.76, 1.00, 0.76,
2140  1.00, -0.72, 1.00, 0.84, -0.90, 0.84, 0.90, 1.23,
2141  0.00, 0.00, -0.52, -1.10, -0.68, 1.00, 1.19, -0.20,
2142  1.19, 0.76, 0.90, 1.15, -0.10, 1.15, -0.10, 0.72,
2143  -0.90, -1.15, -1.15, 0.68, 0.90, -0.68, 0.90, -1.11,
2144  0.00, 0.00, 0.20, 0.79, 0.80, -1.11, -0.10, 0.00,
2145  0.00, -0.48, -1.00, -0.76, -0.80, -0.72, -0.80, -1.07,
2146  -0.10, 0.64, 0.80, -0.64, -0.80, 0.64, 0.80, 0.40,
2147  0.60, 0.52, -0.50, -0.60, -0.80, -0.71, 0.70, -0.99,
2148  0.99, 0.56, 0.80, -0.56, 0.80, 0.68, -0.70, 0.68,
2149  0.70, -0.95, -0.64, 0.70, 0.64, 0.70, -0.60, 0.70,
2150  -0.60, -0.70, -0.91, -0.10, -0.51, 0.76, -0.91, -0.56,
2151  0.70, 0.88, 0.88, -0.63, -0.60, 0.55, -0.60, -0.80,
2152  0.80, -0.80, -0.52, 0.60, 0.52, 0.60, 0.52, -0.60,
2153  -0.48, 0.60, 0.48, 0.60, 0.48, 0.60, -0.76, 0.44,
2154  -0.60, 0.52, -0.50, -0.52, 0.50, 0.40, 0.60, -0.40,
2155 
2156  /* 2004-2131 */
2157  -0.60, 0.40, -0.60, 0.72, -0.72, -0.51, -0.50, -0.48,
2158  0.50, 0.48, -0.50, -0.48, 0.50, -0.48, 0.50, 0.48,
2159  -0.50, -0.48, -0.50, -0.68, -0.68, 0.44, 0.50, -0.64,
2160  -0.10, -0.64, -0.10, -0.40, 0.50, 0.40, 0.50, 0.40,
2161  0.50, 0.00, 0.00, -0.40, -0.50, -0.36, -0.50, 0.36,
2162  -0.50, 0.60, -0.60, 0.40, -0.40, 0.40, 0.40, -0.40,
2163  0.40, -0.40, 0.40, -0.56, -0.56, 0.36, -0.40, -0.36,
2164  0.40, 0.36, -0.40, -0.36, -0.40, 0.36, 0.40, 0.36,
2165  0.40, -0.52, 0.52, 0.52, 0.32, 0.40, -0.32, 0.40,
2166  -0.32, 0.40, -0.32, 0.40, 0.32, -0.40, -0.32, -0.40,
2167  0.32, -0.40, 0.28, -0.40, -0.28, 0.40, 0.28, -0.40,
2168  0.28, 0.40, 0.48, -0.48, 0.48, 0.36, -0.30, -0.36,
2169  -0.30, 0.00, 0.00, 0.20, 0.40, -0.44, 0.44, -0.44,
2170  -0.44, -0.44, -0.44, 0.32, -0.30, 0.32, 0.30, 0.24,
2171  0.30, -0.12, -0.10, -0.28, 0.30, 0.28, 0.30, 0.28,
2172  0.30, 0.28, -0.30, 0.28, -0.30, 0.28, -0.30, 0.28,
2173 
2174  /* 2132-2259 */
2175  0.30, -0.28, 0.30, 0.40, 0.40, -0.24, 0.30, 0.24,
2176  -0.30, 0.24, -0.30, -0.24, -0.30, 0.24, 0.30, 0.24,
2177  -0.30, -0.24, 0.30, 0.24, -0.30, -0.24, -0.30, 0.24,
2178  -0.30, 0.24, 0.30, -0.24, 0.30, -0.24, 0.30, 0.20,
2179  -0.30, 0.20, -0.30, 0.20, -0.30, 0.20, 0.30, 0.20,
2180  -0.30, 0.20, -0.30, 0.20, 0.30, 0.20, 0.30, -0.20,
2181  -0.30, 0.20, -0.30, 0.20, -0.30, -0.36, -0.36, -0.36,
2182  -0.04, 0.30, 0.12, -0.10, -0.32, -0.24, 0.20, 0.24,
2183  0.20, 0.20, -0.20, -0.20, -0.20, -0.20, -0.20, 0.20,
2184  0.20, 0.20, -0.20, 0.20, 0.20, 0.20, 0.20, -0.20,
2185  -0.20, 0.00, 0.00, -0.20, -0.20, -0.20, 0.20, -0.20,
2186  0.20, 0.20, -0.20, -0.20, -0.20, 0.20, 0.20, 0.20,
2187  0.20, 0.20, -0.20, 0.20, -0.20, 0.28, 0.28, 0.28,
2188  0.28, 0.28, 0.28, -0.28, 0.28, 0.12, 0.00, 0.24,
2189  0.16, -0.20, 0.16, -0.20, 0.16, -0.20, 0.16, 0.20,
2190  -0.16, 0.20, 0.16, 0.20, -0.16, 0.20, -0.16, 0.20,
2191 
2192  /* 2260-2387 */
2193  -0.16, 0.20, 0.16, -0.20, 0.16, 0.20, 0.16, -0.20,
2194  -0.16, 0.20, -0.16, -0.20, -0.16, 0.20, 0.16, 0.20,
2195  0.16, -0.20, 0.16, -0.20, 0.16, 0.20, 0.16, 0.20,
2196  0.16, 0.20, -0.16, -0.20, 0.16, 0.20, -0.16, 0.20,
2197  0.16, 0.20, -0.16, -0.20, 0.16, -0.20, 0.16, -0.20,
2198  -0.16, -0.20, 0.24, -0.24, -0.24, 0.24, 0.24, 0.12,
2199  0.20, 0.12, 0.20, -0.12, -0.20, 0.12, -0.20, 0.12,
2200  -0.20, -0.12, 0.20, -0.12, 0.20, -0.12, -0.20, 0.12,
2201  0.20, 0.12, 0.20, 0.12, -0.20, -0.12, 0.20, 0.12,
2202  -0.20, -0.12, 0.20, 0.12, 0.20, 0.00, 0.00, -0.12,
2203  0.20, -0.12, 0.20, 0.12, -0.20, -0.12, 0.20, 0.12,
2204  0.20, 0.00, -0.21, -0.20, 0.00, 0.00, 0.20, -0.20,
2205  -0.20, -0.20, 0.20, -0.16, -0.10, 0.00, 0.17, 0.16,
2206  0.16, 0.16, 0.16, -0.16, 0.16, 0.16, -0.16, 0.16,
2207  -0.16, 0.16, 0.12, 0.10, 0.12, -0.10, -0.12, 0.10,
2208  -0.12, 0.10, 0.12, -0.10, -0.12, 0.12, -0.12, 0.12,
2209 
2210  /* 2388-2515 */
2211  -0.12, 0.12, -0.12, -0.12, -0.12, -0.12, -0.12, -0.12,
2212  -0.12, 0.12, 0.12, 0.12, 0.12, -0.12, -0.12, 0.12,
2213  0.12, 0.12, -0.12, 0.12, -0.12, -0.12, -0.12, 0.12,
2214  -0.12, -0.12, 0.12, 0.00, 0.11, 0.11,-122.67, 164.70,
2215  203.78, 273.50, 3.58, 2.74, 6.18, -4.56, 0.00, -0.04,
2216  0.00, -0.07, 57.44, -77.10, 95.82, 128.60, -1.77, -1.28,
2217  2.85, -2.14, 82.14, 89.50, 0.00, 0.00, 2.00, -1.84,
2218  -0.04, 47.73, -64.10, 23.79, 31.90, -1.45, -1.07, 0.69,
2219  -0.53, -46.38, 50.50, 0.00, 0.00, 1.13, 1.04, 0.02,
2220  -18.38, 0.00, 63.80, 0.00, 0.00, 0.41, 0.00, -1.43,
2221  59.07, 0.00, 0.00, 0.00, 0.00, -1.32, 57.28, 0.00,
2222  0.00, 0.00, 0.00, -1.28, -48.65, 0.00, -1.15, 0.00,
2223  0.00, 1.09, 0.00, 0.03, -18.30, 24.60, -17.30, -23.20,
2224  0.56, 0.41, -0.51, 0.39, -16.91, 26.90, 8.43, 13.30,
2225  0.60, 0.38, 0.31, -0.19, 1.23, -1.70, -19.13, -25.70,
2226  -0.03, -0.03, -0.58, 0.43, -0.72, 0.90, -17.34, -23.30,
2227 
2228  /* 2516-2643 */
2229  0.03, 0.02, -0.52, 0.39, -19.49, -21.30, 0.00, 0.00,
2230  -0.48, 0.44, 0.01, 20.57, -20.10, 0.64, 0.70, -0.45,
2231  -0.46, 0.00, -0.01, 4.89, 5.90, -16.55, 19.90, 0.14,
2232  -0.11, 0.44, 0.37, 18.22, 19.80, 0.00, 0.00, 0.44,
2233  -0.41, -0.01, 4.89, -5.30, -16.51, -18.00, -0.11, -0.11,
2234  -0.41, 0.37, -17.86, 0.00, 17.10, 0.00, 0.00, 0.40,
2235  0.00, -0.38, 0.32, 0.00, 24.42, 0.00, 0.00, -0.01,
2236  0.00, -0.55, -23.79, 0.00, 0.00, 0.00, 0.00, 0.53,
2237  14.72, -16.00, -0.32, 0.00, -0.36, -0.33, -0.01, 0.01,
2238  3.34, -4.50, 11.86, 15.90, -0.11, -0.07, 0.35, -0.27,
2239  -3.26, 4.40, 11.62, 15.60, 0.09, 0.07, 0.35, -0.26,
2240  -19.53, 0.00, 5.09, 0.00, 0.00, 0.44, 0.00, -0.11,
2241  -13.48, 14.70, 0.00, 0.00, 0.33, 0.30, 0.01, 10.86,
2242  -14.60, 3.18, 4.30, -0.33, -0.24, 0.09, -0.07, -11.30,
2243  -15.10, 0.00, 0.00, -0.34, 0.25, 0.01, 2.03, -2.70,
2244  10.82, 14.50, -0.07, -0.05, 0.32, -0.24, 17.46, 0.00,
2245 
2246  /* 2644-2771 */
2247  0.00, 0.00, 0.00, -0.39, 16.43, 0.00, 0.52, 0.00,
2248  0.00, -0.37, 0.00, -0.01, 9.35, 0.00, 13.29, 0.00,
2249  0.00, -0.21, 0.00, -0.30, -10.42, 11.40, 0.00, 0.00,
2250  0.25, 0.23, 0.01, 0.44, 0.50, -10.38, 11.30, 0.02,
2251  -0.01, 0.25, 0.23, -14.64, 0.00, 0.00, 0.00, 0.00,
2252  0.33, 0.56, 0.80, -8.67, 11.70, 0.02, -0.01, 0.26,
2253  0.19, 13.88, 0.00, -2.47, 0.00, 0.00, -0.31, 0.00,
2254  0.06, -1.99, 2.70, 7.72, 10.30, 0.06, 0.04, 0.23,
2255  -0.17, -0.20, 0.00, 13.05, 0.00, 0.00, 0.00, 0.00,
2256  -0.29, 6.92, -9.30, 3.34, 4.50, -0.21, -0.15, 0.10,
2257  -0.07, -6.60, 0.00, 10.70, 0.00, 0.00, 0.15, 0.00,
2258  -0.24, -8.04, -8.70, 0.00, 0.00, -0.19, 0.18, -10.58,
2259  0.00, -3.10, 0.00, 0.00, 0.24, 0.00, 0.07, -7.32,
2260  8.00, -0.12, -0.10, 0.18, 0.16, 1.63, 1.70, 6.96,
2261  -7.60, 0.03, -0.04, -0.17, -0.16, -3.62, 0.00, 9.86,
2262  0.00, 0.00, 0.08, 0.00, -0.22, 0.20, -0.20, -6.88,
2263 
2264  /* 2772-2899 */
2265  -7.50, 0.00, 0.00, -0.17, 0.15, -8.99, 0.00, 4.02,
2266  0.00, 0.00, 0.20, 0.00, -0.09, -1.07, 1.40, -5.69,
2267  -7.70, 0.03, 0.02, -0.17, 0.13, 6.48, -7.20, -0.48,
2268  -0.50, -0.16, -0.14, -0.01, 0.01, 5.57, -7.50, 1.07,
2269  1.40, -0.17, -0.12, 0.03, -0.02, 8.71, 0.00, 3.54,
2270  0.00, 0.00, -0.19, 0.00, -0.08, 0.40, 0.00, 9.27,
2271  0.00, 0.00, -0.01, 0.00, -0.21, -6.13, 6.70, -1.19,
2272  -1.30, 0.15, 0.14, -0.03, 0.03, 5.21, -5.70, -2.51,
2273  -2.60, -0.13, -0.12, -0.06, 0.06, 5.69, -6.20, -0.12,
2274  -0.10, -0.14, -0.13, -0.01, 2.03, -2.70, 4.53, 6.10,
2275  -0.06, -0.05, 0.14, -0.10, 5.01, 5.50, -2.51, 2.70,
2276  0.12, -0.11, 0.06, 0.06, -1.91, 2.60, -4.38, -5.90,
2277  0.06, 0.04, -0.13, 0.10, 4.65, -6.30, 0.00, 0.00,
2278  -0.14, -0.10, -5.29, 5.70, 0.00, 0.00, 0.13, 0.12,
2279  -2.23, -4.00, -4.65, 4.20, -0.09, 0.05, 0.10, 0.10,
2280  -4.53, 6.10, 0.00, 0.00, 0.14, 0.10, 2.47, 2.70,
2281 
2282  /* 2900-3027 */
2283  -4.46, 4.90, 0.06, -0.06, 0.11, 0.10, -5.05, 5.50,
2284  0.84, 0.90, 0.12, 0.11, 0.02, -0.02, 4.97, -5.40,
2285  -1.71, 0.00, -0.12, -0.11, 0.00, 0.04, -0.99, -1.30,
2286  4.22, -5.70, -0.03, 0.02, -0.13, -0.09, 0.99, 1.40,
2287  4.22, -5.60, 0.03, -0.02, -0.13, -0.09, -4.69, -5.20,
2288  0.00, 0.00, -0.12, 0.10, -3.42, 0.00, 6.09, 0.00,
2289  0.00, 0.08, 0.00, -0.14, -4.65, -5.10, 0.00, 0.00,
2290  -0.11, 0.10, 0.00, 0.00, -4.53, -5.00, 0.00, 0.00,
2291  -0.11, 0.10, -2.43, -2.70, -3.82, 4.20, -0.06, 0.05,
2292  0.10, 0.09, 0.00, 0.00, -4.53, 4.90, 0.00, 0.00,
2293  0.11, 0.10, -4.49, -4.90, 0.00, 0.00, -0.11, 0.10,
2294  2.67, -2.90, -3.62, -3.90, -0.06, -0.06, -0.09, 0.08,
2295  3.94, -5.30, 0.00, 0.00, -0.12, -3.38, 3.70, -2.78,
2296  -3.10, 0.08, 0.08, -0.07, 0.06, 3.18, -3.50, -2.82,
2297  -3.10, -0.08, -0.07, -0.07, 0.06, -5.77, 0.00, 1.87,
2298  0.00, 0.00, 0.13, 0.00, -0.04, 3.54, -4.80, -0.64,
2299 
2300  /* 3028-3155 */
2301  -0.90, -0.11, 0.00, -0.02, -3.50, -4.70, 0.68, -0.90,
2302  -0.11, 0.00, -0.02, 5.49, 0.00, 0.00, 0.00, 0.00,
2303  -0.12, 1.83, -2.50, 2.63, 3.50, -0.06, 0.00, 0.08,
2304  3.02, -4.10, 0.68, 0.90, -0.09, 0.00, 0.02, 0.00,
2305  0.00, 5.21, 0.00, 0.00, 0.00, 0.00, -0.12, -3.54,
2306  3.80, 2.70, 3.60, -1.35, 1.80, 0.08, 0.00, 0.04,
2307  -2.90, 3.90, 0.68, 0.90, 0.09, 0.00, 0.02, 0.80,
2308  -1.10, -2.78, -3.70, -0.02, 0.00, -0.08, 4.10, 0.00,
2309  -2.39, 0.00, 0.00, -0.09, 0.00, 0.05, -1.59, 2.10,
2310  2.27, 3.00, 0.05, 0.00, 0.07, -2.63, 3.50, -0.48,
2311  -0.60, -2.94, -3.20, -2.94, 3.20, 2.27, -3.00, -1.11,
2312  -1.50, -0.07, 0.00, -0.03, -0.56, -0.80, -2.35, 3.10,
2313  0.00, -0.60, -3.42, 1.90, -0.12, -0.10, 2.63, -2.90,
2314  2.51, 2.80, -0.64, 0.70, -0.48, -0.60, 2.19, -2.90,
2315  0.24, -0.30, 2.15, 2.90, 2.15, -2.90, 0.52, 0.70,
2316  2.07, -2.80, -3.10, 0.00, 1.79, 0.00, 0.00, 0.07,
2317 
2318  /* 3156-3283 */
2319  0.00, -0.04, 0.88, 0.00, -3.46, 2.11, 2.80, -0.36,
2320  0.50, 3.54, -0.20, -3.50, -1.39, 1.50, -1.91, -2.10,
2321  -1.47, 2.00, 1.39, 1.90, 2.07, -2.30, 0.91, 1.00,
2322  1.99, -2.70, 3.30, 0.00, 0.60, -0.44, -0.70, -1.95,
2323  2.60, 2.15, -2.40, -0.60, -0.70, 3.30, 0.84, 0.00,
2324  -3.10, -3.10, 0.00, -0.72, -0.32, 0.40, -1.87, -2.50,
2325  1.87, -2.50, 0.32, 0.40, -0.24, 0.30, -1.87, -2.50,
2326  -0.24, -0.30, 1.87, -2.50, -2.70, 0.00, 1.55, 2.03,
2327  2.20, -2.98, -1.99, -2.20, 0.12, -0.10, -0.40, 0.50,
2328  1.59, 2.10, 0.00, 0.00, -1.79, 2.00, -1.03, 1.40,
2329  -1.15, -1.60, 0.32, 0.50, 1.39, -1.90, 2.35, -1.27,
2330  1.70, 0.60, 0.80, -0.32, -0.40, 1.35, -1.80, 0.44,
2331  0.00, 2.23, -0.84, 0.90, -1.27, -1.40, -1.47, 1.60,
2332  -0.28, -0.30, -0.28, 0.40, -1.27, -1.70, 0.28, -0.40,
2333  -1.43, -1.50, 0.00, 0.00, -1.27, -1.70, 2.11, -0.32,
2334  -0.40, -1.23, 1.60, 1.19, -1.30, -0.72, -0.80, 0.72,
2335 
2336  /* 3284-3411 */
2337  -0.80, -1.15, -1.30, -1.35, -1.50, -1.19, -1.60, -0.12,
2338  0.20, 1.79, 0.00, -0.88, -0.28, 0.40, 1.11, 1.50,
2339  -1.83, 0.00, 0.56, -0.12, 0.10, -1.27, -1.40, 0.00,
2340  0.00, 1.15, 1.50, -0.12, 0.20, 1.11, 1.50, 0.36,
2341  -0.50, -1.07, -1.40, -1.11, 1.50, 1.67, 0.00, 0.80,
2342  -1.11, 0.00, 1.43, 1.23, -1.30, -0.24, -1.19, -1.30,
2343  -0.24, 0.20, -0.44, -0.90, -0.95, 1.10, 1.07, -1.40,
2344  1.15, -1.30, 1.03, -1.10, -0.56, -0.60, -0.68, 0.90,
2345  -0.76, -1.00, -0.24, -0.30, 0.95, -1.30, 0.56, 0.70,
2346  0.84, -1.10, -0.56, 0.00, -1.55, 0.91, -1.30, 0.28,
2347  0.30, 0.16, -0.20, 0.95, 1.30, 0.40, -0.50, -0.88,
2348  -1.20, 0.95, -1.10, -0.48, -0.50, 0.00, 0.00, -1.07,
2349  1.20, 0.44, -0.50, 0.95, 1.10, 0.00, 0.00, 0.92,
2350  -1.30, 0.95, 1.00, -0.52, 0.60, 1.59, 0.24, -0.40,
2351  0.91, 1.20, 0.84, -1.10, -0.44, -0.60, 0.84, 1.10,
2352  -0.44, 0.60, -0.44, 0.60, -0.84, -1.10, -0.80, 0.00,
2353 
2354  /* 3412-3539 */
2355  1.35, 0.76, 0.20, -0.91, -1.00, 0.20, -0.30, -0.91,
2356  -1.20, -0.95, 1.00, -0.48, -0.50, 0.88, 1.00, 0.48,
2357  -0.50, -0.95, -1.10, 0.20, -0.20, -0.99, 1.10, -0.84,
2358  1.10, -0.24, -0.30, 0.20, -0.30, 0.84, 1.10, -1.39,
2359  0.00, -0.28, -0.16, 0.20, 0.84, 1.10, 0.00, 0.00,
2360  1.39, 0.00, 0.00, -0.95, 1.00, 1.35, -0.99, 0.00,
2361  0.88, -0.52, 0.00, -1.19, 0.20, 0.20, 0.76, -1.00,
2362  0.00, 0.00, 0.76, 1.00, 0.00, 0.00, 0.76, 1.00,
2363  -0.76, 1.00, 0.00, 0.00, 1.23, 0.76, 0.80, -0.32,
2364  0.40, -0.72, 0.80, -0.40, -0.40, 0.00, 0.00, -0.80,
2365  -0.90, -0.68, 0.90, -0.16, -0.20, -0.16, -0.20, 0.68,
2366  -0.90, -0.36, 0.50, -0.56, -0.80, 0.72, -0.90, 0.44,
2367  -0.60, -0.48, -0.70, -0.16, 0.00, -1.11, 0.32, 0.00,
2368  -1.07, 0.60, -0.80, -0.28, -0.40, -0.64, 0.00, 0.91,
2369  1.11, 0.64, -0.90, 0.76, -0.80, 0.00, 0.00, -0.76,
2370  -0.80, 1.03, 0.00, -0.36, -0.64, -0.70, 0.36, -0.40,
2371 
2372  /* 3540-3667 */
2373  1.07, 0.36, -0.50, -0.52, -0.70, 0.60, 0.00, 0.88,
2374  0.95, 0.00, 0.48, 0.16, -0.20, 0.60, 0.80, 0.16,
2375  -0.20, -0.60, -0.80, 0.00, -1.00, 0.12, 0.20, 0.16,
2376  -0.20, 0.68, 0.70, 0.59, -0.80, -0.99, -0.56, -0.60,
2377  0.36, -0.40, -0.68, -0.70, -0.68, -0.70, -0.36, -0.50,
2378  -0.44, 0.60, 0.64, 0.70, -0.12, 0.10, -0.52, 0.60,
2379  0.36, 0.40, 0.00, 0.00, 0.95, -0.84, 0.00, 0.44,
2380  0.56, 0.60, 0.32, -0.30, 0.00, 0.00, 0.60, 0.70,
2381  0.00, 0.00, 0.60, 0.70, -0.12, -0.20, 0.52, -0.70,
2382  0.00, 0.00, 0.56, 0.70, -0.12, 0.10, -0.52, -0.70,
2383  0.00, 0.00, 0.88, -0.76, 0.00, -0.44, 0.00, 0.00,
2384  -0.52, -0.70, 0.52, -0.70, 0.36, -0.40, -0.44, -0.50,
2385  0.00, 0.00, 0.60, 0.60, 0.84, 0.00, 0.12, -0.24,
2386  0.00, 0.80, -0.56, 0.60, -0.32, -0.30, 0.48, -0.50,
2387  0.28, -0.30, -0.48, -0.50, 0.12, 0.20, 0.48, -0.60,
2388  0.48, 0.60, -0.12, 0.20, 0.24, 0.00, 0.76, -0.52,
2389 
2390  /* 3668-3795 */
2391  -0.60, -0.52, 0.60, 0.48, -0.50, -0.24, -0.30, 0.12,
2392  -0.10, 0.48, 0.60, 0.52, -0.20, 0.36, 0.40, -0.44,
2393  0.50, -0.24, -0.30, -0.48, -0.60, -0.44, -0.60, -0.12,
2394  0.10, 0.76, 0.76, 0.20, -0.20, 0.48, 0.50, 0.40,
2395  -0.50, -0.24, -0.30, 0.44, -0.60, 0.44, -0.60, 0.36,
2396  0.00, -0.64, 0.72, 0.00, -0.12, 0.00, -0.10, -0.40,
2397  -0.60, -0.20, -0.20, -0.44, 0.50, -0.44, 0.50, 0.20,
2398  0.20, -0.44, -0.50, 0.20, -0.20, -0.20, 0.20, -0.44,
2399  -0.50, 0.64, 0.00, 0.32, -0.36, 0.50, -0.20, -0.30,
2400  0.12, -0.10, 0.48, 0.50, -0.12, 0.30, -0.36, -0.50,
2401  0.00, 0.00, 0.48, 0.50, -0.48, 0.50, 0.68, 0.00,
2402  -0.12, 0.56, -0.40, 0.44, -0.50, -0.12, -0.10, 0.24,
2403  0.30, -0.40, 0.40, 0.64, 0.00, -0.24, 0.64, 0.00,
2404  -0.20, 0.00, 0.00, 0.44, -0.50, 0.44, 0.50, -0.12,
2405  0.20, -0.36, -0.50, 0.12, 0.00, 0.64, -0.40, 0.50,
2406  0.00, 0.10, 0.00, 0.00, -0.40, 0.50, 0.00, 0.00,
2407 
2408  /* 3796-3923 */
2409  -0.40, -0.50, 0.56, 0.00, 0.28, 0.00, 0.10, 0.36,
2410  0.50, 0.00, -0.10, 0.36, -0.50, 0.36, 0.50, 0.00,
2411  -0.10, 0.24, -0.20, -0.36, -0.40, 0.16, 0.20, 0.40,
2412  -0.40, 0.00, 0.00, -0.36, -0.50, -0.36, -0.50, -0.32,
2413  -0.50, -0.12, 0.10, 0.20, 0.20, -0.36, 0.40, -0.60,
2414  0.60, 0.28, 0.00, 0.52, 0.12, -0.10, 0.40, 0.40,
2415  0.00, -0.50, 0.20, -0.20, -0.32, 0.40, 0.16, 0.20,
2416  -0.16, 0.20, 0.32, 0.40, 0.56, 0.00, -0.12, 0.32,
2417  -0.40, -0.16, -0.20, 0.00, 0.00, 0.40, 0.40, -0.40,
2418  -0.40, -0.40, 0.40, -0.36, 0.40, 0.12, 0.10, 0.00,
2419  0.10, 0.36, 0.40, 0.00, -0.10, 0.36, 0.40, -0.36,
2420  0.40, 0.00, 0.10, 0.32, 0.00, 0.44, 0.12, 0.20,
2421  0.28, -0.40, 0.00, 0.00, 0.36, 0.40, 0.32, -0.40,
2422  -0.16, 0.12, 0.10, 0.32, -0.40, 0.20, 0.30, -0.24,
2423  0.30, 0.00, 0.10, 0.32, 0.40, 0.00, -0.10, -0.32,
2424  -0.40, -0.32, 0.40, 0.00, 0.10, -0.52, -0.52, 0.52,
2425 
2426  /* 3924-4051 */
2427  0.32, -0.40, 0.00, 0.00, 0.32, 0.40, 0.32, -0.40,
2428  0.00, 0.00, -0.32, -0.40, -0.32, 0.40, 0.32, 0.40,
2429  0.00, 0.00, 0.32, 0.40, 0.00, 0.00, -0.32, -0.40,
2430  0.00, 0.00, 0.32, 0.40, 0.16, 0.20, 0.32, -0.30,
2431  -0.16, 0.00, -0.48, -0.20, 0.20, -0.28, -0.30, 0.28,
2432  -0.40, 0.00, 0.00, 0.28, -0.40, 0.00, 0.00, 0.28,
2433  -0.40, 0.00, 0.00, -0.28, -0.40, 0.28, 0.40, -0.28,
2434  -0.40, -0.48, -0.20, 0.20, 0.24, 0.30, 0.44, 0.00,
2435  0.16, 0.24, 0.30, 0.16, -0.20, 0.24, 0.30, -0.12,
2436  0.20, 0.20, 0.30, -0.16, 0.20, 0.00, 0.00, 0.44,
2437  -0.32, 0.30, 0.24, 0.00, -0.36, 0.36, 0.00, 0.24,
2438  0.12, -0.20, 0.20, 0.30, -0.12, 0.00, -0.28, 0.30,
2439  -0.24, 0.30, 0.12, 0.10, -0.28, -0.30, -0.28, 0.30,
2440  0.00, 0.00, -0.28, -0.30, 0.00, 0.00, -0.28, -0.30,
2441  0.00, 0.00, 0.28, 0.30, 0.00, 0.00, -0.28, -0.30,
2442  -0.28, 0.30, 0.00, 0.00, -0.28, -0.30, 0.00, 0.00,
2443 
2444  /* 4052-4179 */
2445  0.28, 0.30, 0.00, 0.00, -0.28, 0.30, 0.28, -0.30,
2446  -0.28, 0.30, 0.40, 0.40, -0.24, 0.30, 0.00, -0.10,
2447  0.16, 0.00, 0.36, -0.20, 0.30, -0.12, -0.10, -0.24,
2448  -0.30, 0.00, 0.00, -0.24, 0.30, -0.24, 0.30, 0.00,
2449  0.00, -0.24, 0.30, -0.24, 0.30, 0.24, -0.30, 0.00,
2450  0.00, 0.24, -0.30, 0.00, 0.00, 0.24, 0.30, 0.24,
2451  -0.30, 0.24, 0.30, -0.24, 0.30, -0.24, 0.30, -0.20,
2452  0.20, -0.16, -0.20, 0.00, 0.00, -0.32, 0.20, 0.00,
2453  0.10, 0.20, -0.30, 0.20, -0.20, 0.12, 0.20, -0.16,
2454  0.20, 0.16, 0.20, 0.20, 0.30, 0.20, 0.30, 0.00,
2455  0.00, -0.20, 0.30, 0.00, 0.00, 0.20, 0.30, -0.20,
2456  -0.30, -0.20, -0.30, 0.20, -0.30, 0.00, 0.00, 0.20,
2457  0.30, 0.00, 0.00, 0.20, 0.30, 0.00, 0.00, 0.20,
2458  0.30, 0.00, 0.00, 0.20, 0.30, 0.00, 0.00, 0.20,
2459  -0.30, 0.00, 0.00, -0.20, -0.30, 0.00, 0.00, -0.20,
2460  0.30, 0.00, 0.00, -0.20, 0.30, 0.00, 0.00, 0.36,
2461 
2462  /* 4180-4307 */
2463  0.00, 0.00, 0.36, 0.12, 0.10, -0.24, 0.20, 0.12,
2464  -0.20, -0.16, -0.20, -0.13, 0.10, 0.22, 0.21, 0.20,
2465  0.00, -0.28, 0.32, 0.00, -0.12, -0.20, -0.20, 0.12,
2466  -0.10, 0.12, 0.10, -0.20, 0.20, 0.00, 0.00, -0.32,
2467  0.32, 0.00, 0.00, 0.32, 0.32, 0.00, 0.00, -0.24,
2468  -0.20, 0.24, 0.20, 0.20, 0.00, -0.24, 0.00, 0.00,
2469  -0.24, -0.20, 0.00, 0.00, 0.24, 0.20, -0.24, -0.20,
2470  0.00, 0.00, -0.24, 0.20, 0.16, -0.20, 0.12, 0.10,
2471  0.20, 0.20, 0.00, -0.10, -0.12, 0.10, -0.16, -0.20,
2472  -0.12, -0.10, -0.16, 0.20, 0.20, 0.20, 0.00, 0.00,
2473  -0.20, 0.20, -0.20, 0.20, -0.20, 0.20, -0.20, 0.20,
2474  0.20, -0.20, -0.20, -0.20, 0.00, 0.00, -0.20, 0.20,
2475  0.20, 0.00, -0.20, 0.00, 0.00, -0.20, 0.20, -0.20,
2476  0.20, -0.20, -0.20, -0.20, -0.20, 0.00, 0.00, 0.20,
2477  0.20, 0.20, 0.20, 0.12, -0.20, -0.12, -0.10, 0.28,
2478  -0.28, 0.16, -0.20, 0.00, -0.10, 0.00, 0.10, -0.16,
2479 
2480  /* 4308-4435 */
2481  0.20, 0.00, -0.10, -0.16, -0.20, 0.00, -0.10, 0.16,
2482  -0.20, 0.16, -0.20, 0.00, 0.00, 0.16, 0.20, -0.16,
2483  0.20, 0.00, 0.00, 0.16, 0.20, 0.16, -0.20, 0.16,
2484  -0.20, -0.16, 0.20, 0.16, -0.20, 0.00, 0.00, 0.16,
2485  0.20, 0.00, 0.00, 0.16, 0.20, 0.00, 0.00, -0.16,
2486  -0.20, 0.16, -0.20, -0.16, -0.20, 0.00, 0.00, -0.16,
2487  -0.20, 0.00, 0.00, -0.16, 0.20, 0.00, 0.00, 0.16,
2488  -0.20, 0.16, 0.20, 0.16, 0.20, 0.00, 0.00, -0.16,
2489  -0.20, 0.00, 0.00, -0.16, -0.20, 0.00, 0.00, 0.16,
2490  0.20, 0.16, 0.20, 0.00, 0.00, 0.16, 0.20, 0.16,
2491  -0.20, 0.16, 0.20, 0.00, 0.00, -0.16, 0.20, 0.00,
2492  0.10, 0.12, -0.20, 0.12, -0.20, 0.00, -0.10, 0.00,
2493  -0.10, 0.12, 0.20, 0.00, -0.10, -0.12, 0.20, -0.15,
2494  0.20, -0.24, 0.24, 0.00, 0.00, 0.24, 0.24, 0.12,
2495  -0.20, -0.12, -0.20, 0.00, 0.00, 0.12, 0.20, 0.12,
2496  -0.20, 0.12, 0.20, 0.12, 0.20, 0.12, 0.20, 0.12,
2497 
2498  /* 4436-4563 */
2499  -0.20, -0.12, 0.20, 0.00, 0.00, 0.12, 0.20, 0.12,
2500  0.00, -0.20, 0.00, 0.00, -0.12, -0.20, 0.12, -0.20,
2501  0.00, 0.00, 0.12, 0.20, -0.12, 0.20, -0.12, 0.20,
2502  0.12, -0.20, 0.00, 0.00, 0.12, 0.20, 0.20, 0.00,
2503  0.12, 0.00, 0.00, -0.12, 0.20, 0.00, 0.00, -0.12,
2504  -0.20, 0.00, 0.00, -0.12, -0.20, -0.12, -0.20, 0.00,
2505  0.00, 0.12, -0.20, 0.12, -0.20, 0.12, 0.20, -0.12,
2506  -0.20, 0.00, 0.00, 0.12, -0.20, 0.12, -0.20, 0.12,
2507  0.20, 0.12, 0.00, 0.20, -0.12, -0.20, 0.00, 0.00,
2508  0.12, 0.20, -0.16, 0.00, 0.16, -0.20, 0.20, 0.00,
2509  0.00, -0.20, 0.00, 0.00, -0.20, 0.20, 0.00, 0.00,
2510  0.20, 0.20, -0.20, 0.00, 0.00, -0.20, 0.12, 0.00,
2511  -0.16, 0.20, 0.00, 0.00, 0.20, 0.12, -0.10, 0.00,
2512  0.10, 0.16, -0.16, -0.16, -0.16, -0.16, -0.16, 0.00,
2513  0.00, -0.16, 0.00, 0.00, -0.16, -0.16, -0.16, 0.00,
2514  0.00, -0.16, 0.00, 0.00, 0.16, 0.00, 0.00, 0.16,
2515 
2516  /* 4564-4691 */
2517  0.00, 0.00, 0.16, 0.16, 0.00, 0.00, -0.16, 0.00,
2518  0.00, -0.16, -0.16, 0.00, 0.00, 0.16, 0.00, 0.00,
2519  -0.16, -0.16, 0.00, 0.00, -0.16, -0.16, 0.12, 0.10,
2520  0.12, -0.10, 0.12, 0.10, 0.00, 0.00, 0.12, 0.10,
2521  -0.12, 0.10, 0.00, 0.00, 0.12, 0.10, 0.12, -0.10,
2522  0.00, 0.00, -0.12, -0.10, 0.00, 0.00, 0.12, 0.10,
2523  0.12, 0.00, 0.00, 0.12, 0.00, 0.00, -0.12, 0.00,
2524  0.00, 0.12, 0.12, 0.12, 0.12, 0.12, 0.00, 0.00,
2525  0.12, 0.00, 0.00, 0.12, 0.12, 0.00, 0.00, 0.12,
2526  0.00, 0.00, 0.12, -0.12, -0.12, 0.12, 0.12, -0.12,
2527  -0.12, 0.00, 0.00, 0.12, -0.12, 0.12, 0.12, -0.12,
2528  -0.12, 0.00, 0.00, -0.12, -0.12, 0.00, 0.00, -0.12,
2529  0.12, 0.00, 0.00, 0.12, 0.00, 0.00, 0.12, 0.00,
2530  0.00, 0.12, -0.12, 0.00, 0.00, -0.12, 0.12, -0.12,
2531  -0.12, 0.12, 0.00, 0.00, 0.12, 0.12, 0.12, -0.12,
2532  0.00, 0.00, -0.12, -0.12, -0.12, 0.00, 0.00, -0.12,
2533 
2534  /* 4692-NA */
2535  -0.12, 0.00, 0.00, 0.12, 0.12, 0.00, 0.00, -0.12,
2536  -0.12, -0.12, -0.12, 0.12, 0.00, 0.00, 0.12, -0.12,
2537  0.00, 0.00, -0.12, -0.12, 0.00, 0.00, 0.12, -0.12,
2538  -0.12, -0.12, -0.12, 0.12, 0.12, -0.12, -0.12, 0.00,
2539  0.00, -0.12, 0.00, 0.00, -0.12, 0.12, 0.00, 0.00,
2540  0.12, 0.00, 0.00, -0.12, -0.12, 0.00, 0.00, -0.12,
2541  -0.12, 0.12, 0.00, 0.00, 0.12, 0.12, 0.00, 0.00,
2542  0.12, 0.00, 0.00, 0.12, 0.12, 0.08, 0.00, 0.04
2543  };
2544 
2545 /* Number of amplitude coefficients */
2546  static const int NA = (int) (sizeof a / sizeof (double));
2547 
2548 /* Amplitude usage: X or Y, sin or cos, power of T. */
2549  static const int jaxy[] = {0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1,0,1};
2550  static const int jasc[] = {0,1,1,0,1,0,0,1,0,1,1,0,1,0,0,1,0,1,1,0};
2551  static const int japt[] = {0,0,0,0,1,1,1,1,2,2,2,2,3,3,3,3,4,4,4,4};
2552 
2553 /* Miscellaneous */
2554  double t, w, pt[MAXPT+1], fa[14], xypr[2], xypl[2], xyls[2], arg,
2555  sc[2];
2556  int jpt, i, j, jxy, ialast, ifreq, m, ia, jsc;
2557 
2558 /*--------------------------------------------------------------------*/
2559 
2560 /* Interval between fundamental date J2000.0 and given date (JC). */
2561  t = ((date1 - ERFA_DJ00) + date2) / ERFA_DJC;
2562 
2563 /* Powers of T. */
2564  w = 1.0;
2565  for (jpt = 0; jpt <= MAXPT; jpt++) {
2566  pt[jpt] = w;
2567  w *= t;
2568  }
2569 
2570 /* Initialize totals in X and Y: polynomial, luni-solar, planetary. */
2571  for (jxy = 0; jxy < 2; jxy++) {
2572  xypr[jxy] = 0.0;
2573  xyls[jxy] = 0.0;
2574  xypl[jxy] = 0.0;
2575  }
2576 
2577 /* --------------------------------- */
2578 /* Fundamental arguments (IERS 2003) */
2579 /* --------------------------------- */
2580 
2581 /* Mean anomaly of the Moon. */
2582  fa[0] = eraFal03(t);
2583 
2584 /* Mean anomaly of the Sun. */
2585  fa[1] = eraFalp03(t);
2586 
2587 /* Mean argument of the latitude of the Moon. */
2588  fa[2] = eraFaf03(t);
2589 
2590 /* Mean elongation of the Moon from the Sun. */
2591  fa[3] = eraFad03(t);
2592 
2593 /* Mean longitude of the ascending node of the Moon. */
2594  fa[4] = eraFaom03(t);
2595 
2596 /* Planetary longitudes, Mercury through Neptune. */
2597  fa[5] = eraFame03(t);
2598  fa[6] = eraFave03(t);
2599  fa[7] = eraFae03(t);
2600  fa[8] = eraFama03(t);
2601  fa[9] = eraFaju03(t);
2602  fa[10] = eraFasa03(t);
2603  fa[11] = eraFaur03(t);
2604  fa[12] = eraFane03(t);
2605 
2606 /* General accumulated precession in longitude. */
2607  fa[13] = eraFapa03(t);
2608 
2609 /* -------------------------------------- */
2610 /* Polynomial part of precession-nutation */
2611 /* -------------------------------------- */
2612 
2613  for (jxy = 0; jxy < 2; jxy++) {
2614  for (j = MAXPT; j >= 0; j--) {
2615  xypr[jxy] += xyp[jxy][j] * pt[j];
2616  }
2617  }
2618 
2619 /* ---------------------------------- */
2620 /* Nutation periodic terms, planetary */
2621 /* ---------------------------------- */
2622 
2623 /* Work backwards through the coefficients per frequency list. */
2624  ialast = NA;
2625  for (ifreq = NFPL-1; ifreq >= 0; ifreq--) {
2626 
2627  /* Obtain the argument functions. */
2628  arg = 0.0;
2629  for (i = 0; i < 14; i++) {
2630  m = mfapl[ifreq][i];
2631  if (m != 0) arg += (double)m * fa[i];
2632  }
2633  sc[0] = sin(arg);
2634  sc[1] = cos(arg);
2635 
2636  /* Work backwards through the amplitudes at this frequency. */
2637  ia = nc[ifreq+NFLS];
2638  for (i = ialast; i >= ia; i--) {
2639 
2640  /* Coefficient number (0 = 1st). */
2641  j = i-ia;
2642 
2643  /* X or Y. */
2644  jxy = jaxy[j];
2645 
2646  /* Sin or cos. */
2647  jsc = jasc[j];
2648 
2649  /* Power of T. */
2650  jpt = japt[j];
2651 
2652  /* Accumulate the component. */
2653  xypl[jxy] += a[i-1] * sc[jsc] * pt[jpt];
2654  }
2655  ialast = ia-1;
2656  }
2657 
2658 /* ----------------------------------- */
2659 /* Nutation periodic terms, luni-solar */
2660 /* ----------------------------------- */
2661 
2662 /* Continue working backwards through the number of coefficients list. */
2663  for (ifreq = NFLS-1; ifreq >= 0; ifreq--) {
2664 
2665  /* Obtain the argument functions. */
2666  arg = 0.0;
2667  for (i = 0; i < 5; i++) {
2668  m = mfals[ifreq][i];
2669  if (m != 0) arg += (double)m * fa[i];
2670  }
2671  sc[0] = sin(arg);
2672  sc[1] = cos(arg);
2673 
2674  /* Work backwards through the amplitudes at this frequency. */
2675  ia = nc[ifreq];
2676  for (i = ialast; i >= ia; i--) {
2677 
2678  /* Coefficient number (0 = 1st). */
2679  j = i-ia;
2680 
2681  /* X or Y. */
2682  jxy = jaxy[j];
2683 
2684  /* Sin or cos. */
2685  jsc = jasc[j];
2686 
2687  /* Power of T. */
2688  jpt = japt[j];
2689 
2690  /* Accumulate the component. */
2691  xyls[jxy] += a[i-1] * sc[jsc] * pt[jpt];
2692  }
2693  ialast = ia-1;
2694  }
2695 
2696 /* ------------------------------------ */
2697 /* Results: CIP unit vector components */
2698 /* ------------------------------------ */
2699 
2700  *x = ERFA_DAS2R * (xypr[0] + (xyls[0] + xypl[0]) / 1e6);
2701  *y = ERFA_DAS2R * (xypr[1] + (xyls[1] + xypl[1]) / 1e6);
2702 
2703  return;
2704 
2705 }
2706 /*----------------------------------------------------------------------
2707 **
2708 **
2709 ** Copyright (C) 2013-2015, NumFOCUS Foundation.
2710 ** All rights reserved.
2711 **
2712 ** This library is derived, with permission, from the International
2713 ** Astronomical Union's "Standards of Fundamental Astronomy" library,
2714 ** available from http://www.iausofa.org.
2715 **
2716 ** The ERFA version is intended to retain identical functionality to
2717 ** the SOFA library, but made distinct through different function and
2718 ** file names, as set out in the SOFA license conditions. The SOFA
2719 ** original has a role as a reference standard for the IAU and IERS,
2720 ** and consequently redistribution is permitted only in its unaltered
2721 ** state. The ERFA version is not subject to this restriction and
2722 ** therefore can be included in distributions which do not support the
2723 ** concept of "read only" software.
2724 **
2725 ** Although the intent is to replicate the SOFA API (other than
2726 ** replacement of prefix names) and results (with the exception of
2727 ** bugs; any that are discovered will be fixed), SOFA is not
2728 ** responsible for any errors found in this version of the library.
2729 **
2730 ** If you wish to acknowledge the SOFA heritage, please acknowledge
2731 ** that you are using a library derived from SOFA, rather than SOFA
2732 ** itself.
2733 **
2734 **
2735 ** TERMS AND CONDITIONS
2736 **
2737 ** Redistribution and use in source and binary forms, with or without
2738 ** modification, are permitted provided that the following conditions
2739 ** are met:
2740 **
2741 ** 1 Redistributions of source code must retain the above copyright
2742 ** notice, this list of conditions and the following disclaimer.
2743 **
2744 ** 2 Redistributions in binary form must reproduce the above copyright
2745 ** notice, this list of conditions and the following disclaimer in
2746 ** the documentation and/or other materials provided with the
2747 ** distribution.
2748 **
2749 ** 3 Neither the name of the Standards Of Fundamental Astronomy Board,
2750 ** the International Astronomical Union nor the names of its
2751 ** contributors may be used to endorse or promote products derived
2752 ** from this software without specific prior written permission.
2753 **
2754 ** THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS
2755 ** "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT
2756 ** LIMITED TO, THE IMPLIED WARRANTIES OF MERCHANTABILITY AND FITNESS
2757 ** FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL THE
2758 ** COPYRIGHT HOLDER OR CONTRIBUTORS BE LIABLE FOR ANY DIRECT, INDIRECT,
2759 ** INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING,
2760 ** BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
2761 ** LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
2762 ** CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT
2763 ** LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN
2764 ** ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE
2765 ** POSSIBILITY OF SUCH DAMAGE.
2766 **
2767 */
#define ERFA_DJ00
Definition: erfam.h:87
double eraFae03(double t)
Definition: fae03.c:3
double eraFane03(double t)
Definition: fane03.c:3
double eraFapa03(double t)
Definition: fapa03.c:3
double eraFal03(double t)
Definition: fal03.c:3
int i
Definition: db_dim_client.c:21
#define ERFA_DAS2R
Definition: erfam.h:60
double eraFaom03(double t)
Definition: faom03.c:3
double eraFad03(double t)
Definition: fad03.c:3
double eraFame03(double t)
Definition: fame03.c:3
double eraFaf03(double t)
Definition: faf03.c:3
void eraXy06(double date1, double date2, double *x, double *y)
Definition: xy06.c:3
double eraFalp03(double t)
Definition: falp03.c:3
#define ERFA_DJC
Definition: erfam.h:81
double eraFaju03(double t)
Definition: faju03.c:3
TT t
Definition: test_client.c:26
double eraFasa03(double t)
Definition: fasa03.c:3
double eraFave03(double t)
Definition: fave03.c:3
double eraFama03(double t)
Definition: fama03.c:3
double eraFaur03(double t)
Definition: faur03.c:3