source: trunk/FACT++/erfa/src/xy06.c@ 19496

Last change on this file since 19496 was 18921, checked in by tbretz, 7 years ago
Updated to ERFA 1.4.0
File size: 129.1 KB
Line 
1#include "erfa.h"
2
3void 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-2017, 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-2017, 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*/
Note: See TracBrowser for help on using the repository browser.