1 /*
2
3 File: "nucleic.c"
4
5 Author: Marc Feeley (feeley@iro.umontreal.ca)
6
7 Last modified: June 6, 1997
8
9 This program is a modified version of the program described in the paper:
10
11 M. Feeley, M. Turcotte, G. Lapalme, "Using Multilisp for Solving
12 Constraint Satisfaction Problems: an Application to Nucleic Acid 3D
13 Structure Determination" published in the journal "Lisp and Symbolic
14 Computation".
15
16 The differences between this program and the original are described in
17 the paper:
18
19 "???" published in the "Journal of Functional Programming".
20
21 */
22
23 /*
24 Define the symbol "lazy" if you want lazy computation.
25 */
26
27 #define not_lazy
28
29 #include <stdio.h>
30 #include <math.h>
31
32 /*---------------------------------------------------------------------------*/
33
34 /* MATH UTILITIES */
35
36 typedef double FLOAT; /* define precision of floating point numbers */
37
38 #ifndef M_PI
39 #define M_PI 3.14159265358979323846
40 #endif
41 #ifndef M_PI_2
42 #define M_PI_2 1.57079632679489661923
43 #endif
44
45 struct struct_pt
46 {
47 FLOAT x, y, z;
48 #ifdef lazy
49 int relative; /* true if point remains to be converted to absolute coord. */
50 #endif
51 };
52
53 typedef struct struct_pt *pt;
54
55 #define make_pt(a,b,c,p){(p)->x=(a);(p)->y=(b);(p)->z=(c);}
56
57 struct struct_tfo
58 {
59 FLOAT m[4][3];
60 };
61
62 typedef struct struct_tfo *tfo;
63
64 #define make_tfo(a,b,c,d,e,f,g,h,i,x,y,z,t)\
65 {\
66 (t)->m[0][0]=(a);(t)->m[0][1]=(b);(t)->m[0][2]=(c);\
67 (t)->m[1][0]=(d);(t)->m[1][1]=(e);(t)->m[1][2]=(f);\
68 (t)->m[2][0]=(g);(t)->m[2][1]=(h);(t)->m[2][2]=(i);\
69 (t)->m[3][0]=(x);(t)->m[3][1]=(y);(t)->m[3][2]=(z);\
70 }
71
72 struct struct_A
73 {
74 struct struct_pt n6, n7, n9, c8, h2, h61, h62, h8;
75 };
76
77 struct struct_C
78 {
79 struct struct_pt n4, o2, h41, h42, h5, h6;
80 };
81
82 struct struct_G
83 {
84 struct struct_pt n2, n7, n9, c8, o6, h1, h21, h22, h8;
85 };
86
87 struct struct_U
88 {
89 struct struct_pt o2, o4, h3, h5, h6;
90 };
91
92 struct struct_nuc
93 {
94 char type; /* 'A', 'C', 'G', or 'U' */
95 struct struct_tfo
96 dgf_base_tfo, p_o3_275_tfo, p_o3_180_tfo, p_o3_60_tfo;
97 struct struct_pt
98 p, o1p, o2p, o5_, c5_, h5_, h5__, c4_, h4_, o4_, c1_, h1_,
99 c2_, h2__, o2_, h2_, c3_, h3_, o3_, n1, n3, c2, c4, c5, c6;
100 union
101 {
102 struct struct_A A;
103 struct struct_C C;
104 struct struct_G G;
105 struct struct_U U;
106 } _;
107 };
108
109 typedef struct struct_nuc *nuc;
110
111 /* NUCLEIC ACID CONFORMATIONS DATA BASE */
112 struct struct_nuc rA01, rA02, rA03, rA04, rA05, rA06, rA07, rA08, rA09, rA10;
113 struct struct_nuc rC01, rC02, rC03, rC04, rC05, rC06, rC07, rC08, rC09, rC10;
114 struct struct_nuc rG01, rG02, rG03, rG04, rG05, rG06, rG07, rG08, rG09, rG10;
115 struct struct_nuc rU01, rU02, rU03, rU04, rU05, rU06, rU07, rU08, rU09, rU10;
116 struct struct_nuc *rAs[11], rA;
117 struct struct_nuc *rCs[11], rC;
118 struct struct_nuc *rGs[11], rG, rG_;
119 struct struct_nuc *rUs[11], rU, rU_;
120
init_A()121 void init_A()
122 {
123 rA.type = 'A';
124 make_tfo( -0.0018, -0.8207, 0.5714,
125 0.2679, -0.5509, -0.7904,
126 0.9634, 0.1517, 0.2209,
127 0.0073, 8.4030, 0.6232, &rA.dgf_base_tfo );
128 make_tfo( -0.8143, -0.5091, -0.2788,
129 -0.0433, -0.4257, 0.9038,
130 -0.5788, 0.7480, 0.3246,
131 1.5227, 6.9114, -7.0765, &rA.p_o3_275_tfo );
132 make_tfo( 0.3822, -0.7477, 0.5430,
133 0.4552, 0.6637, 0.5935,
134 -0.8042, 0.0203, 0.5941,
135 -6.9472, -4.1186, -5.9108, &rA.p_o3_180_tfo );
136 make_tfo( 0.5640, 0.8007, -0.2022,
137 -0.8247, 0.5587, -0.0878,
138 0.0426, 0.2162, 0.9754,
139 6.2694, -7.0540, 3.3316, &rA.p_o3_60_tfo );
140 make_pt( 2.8930, 8.5380, -3.3280, &rA.p );
141 make_pt( 1.6980, 7.6960, -3.5570, &rA.o1p );
142 make_pt( 3.2260, 9.5010, -4.4020, &rA.o2p );
143 make_pt( 4.1590, 7.6040, -3.0340, &rA.o5_ );
144 make_pt( 5.4550, 8.2120, -2.8810, &rA.c5_ );
145 make_pt( 5.4546, 8.8508, -1.9978, &rA.h5_ );
146 make_pt( 5.7588, 8.6625, -3.8259, &rA.h5__ );
147 make_pt( 6.4970, 7.1480, -2.5980, &rA.c4_ );
148 make_pt( 7.4896, 7.5919, -2.5214, &rA.h4_ );
149 make_pt( 6.1630, 6.4860, -1.3440, &rA.o4_ );
150 make_pt( 6.5400, 5.1200, -1.4190, &rA.c1_ );
151 make_pt( 7.2763, 4.9681, -0.6297, &rA.h1_ );
152 make_pt( 7.1940, 4.8830, -2.7770, &rA.c2_ );
153 make_pt( 6.8667, 3.9183, -3.1647, &rA.h2__ );
154 make_pt( 8.5860, 5.0910, -2.6140, &rA.o2_ );
155 make_pt( 8.9510, 4.7626, -1.7890, &rA.h2_ );
156 make_pt( 6.5720, 6.0040, -3.6090, &rA.c3_ );
157 make_pt( 5.5636, 5.7066, -3.8966, &rA.h3_ );
158 make_pt( 7.3801, 6.3562, -4.7350, &rA.o3_ );
159 make_pt( 4.7150, 0.4910, -0.1360, &rA.n1 );
160 make_pt( 6.3490, 2.1730, -0.6020, &rA.n3 );
161 make_pt( 5.9530, 0.9650, -0.2670, &rA.c2 );
162 make_pt( 5.2900, 2.9790, -0.8260, &rA.c4 );
163 make_pt( 3.9720, 2.6390, -0.7330, &rA.c5 );
164 make_pt( 3.6770, 1.3160, -0.3660, &rA.c6 );
165 make_pt( 2.4280, 0.8450, -0.2360, &rA._.A.n6 );
166 make_pt( 3.1660, 3.7290, -1.0360, &rA._.A.n7 );
167 make_pt( 5.3170, 4.2990, -1.1930, &rA._.A.n9 );
168 make_pt( 4.0100, 4.6780, -1.2990, &rA._.A.c8 );
169 make_pt( 6.6890, 0.1903, -0.0518, &rA._.A.h2 );
170 make_pt( 1.6470, 1.4460, -0.4040, &rA._.A.h61 );
171 make_pt( 2.2780, -0.1080, -0.0280, &rA._.A.h62 );
172 make_pt( 3.4421, 5.5744, -1.5482, &rA._.A.h8 );
173
174 rA01.type = 'A';
175 make_tfo( -0.0043, -0.8175, 0.5759,
176 0.2617, -0.5567, -0.7884,
177 0.9651, 0.1473, 0.2164,
178 0.0359, 8.3929, 0.5532, &rA01.dgf_base_tfo );
179 make_tfo( -0.8143, -0.5091, -0.2788,
180 -0.0433, -0.4257, 0.9038,
181 -0.5788, 0.7480, 0.3246,
182 1.5227, 6.9114, -7.0765, &rA01.p_o3_275_tfo );
183 make_tfo( 0.3822, -0.7477, 0.5430,
184 0.4552, 0.6637, 0.5935,
185 -0.8042, 0.0203, 0.5941,
186 -6.9472, -4.1186, -5.9108, &rA01.p_o3_180_tfo );
187 make_tfo( 0.5640, 0.8007, -0.2022,
188 -0.8247, 0.5587, -0.0878,
189 0.0426, 0.2162, 0.9754,
190 6.2694, -7.0540, 3.3316, &rA01.p_o3_60_tfo );
191 make_pt( 2.8930, 8.5380, -3.3280, &rA01.p );
192 make_pt( 1.6980, 7.6960, -3.5570, &rA01.o1p );
193 make_pt( 3.2260, 9.5010, -4.4020, &rA01.o2p );
194 make_pt( 4.1590, 7.6040, -3.0340, &rA01.o5_ );
195 make_pt( 5.4352, 8.2183, -2.7757, &rA01.c5_ );
196 make_pt( 5.3830, 8.7883, -1.8481, &rA01.h5_ );
197 make_pt( 5.7729, 8.7436, -3.6691, &rA01.h5__ );
198 make_pt( 6.4830, 7.1518, -2.5252, &rA01.c4_ );
199 make_pt( 7.4749, 7.5972, -2.4482, &rA01.h4_ );
200 make_pt( 6.1626, 6.4620, -1.2827, &rA01.o4_ );
201 make_pt( 6.5431, 5.0992, -1.3905, &rA01.c1_ );
202 make_pt( 7.2871, 4.9328, -0.6114, &rA01.h1_ );
203 make_pt( 7.1852, 4.8935, -2.7592, &rA01.c2_ );
204 make_pt( 6.8573, 3.9363, -3.1645, &rA01.h2__ );
205 make_pt( 8.5780, 5.1025, -2.6046, &rA01.o2_ );
206 make_pt( 8.9516, 4.7577, -1.7902, &rA01.h2_ );
207 make_pt( 6.5522, 6.0300, -3.5612, &rA01.c3_ );
208 make_pt( 5.5420, 5.7356, -3.8459, &rA01.h3_ );
209 make_pt( 7.3487, 6.4089, -4.6867, &rA01.o3_ );
210 make_pt( 4.7442, 0.4514, -0.1390, &rA01.n1 );
211 make_pt( 6.3687, 2.1459, -0.5926, &rA01.n3 );
212 make_pt( 5.9795, 0.9335, -0.2657, &rA01.c2 );
213 make_pt( 5.3052, 2.9471, -0.8125, &rA01.c4 );
214 make_pt( 3.9891, 2.5987, -0.7230, &rA01.c5 );
215 make_pt( 3.7016, 1.2717, -0.3647, &rA01.c6 );
216 make_pt( 2.4553, 0.7925, -0.2390, &rA01._.A.n6 );
217 make_pt( 3.1770, 3.6859, -1.0198, &rA01._.A.n7 );
218 make_pt( 5.3247, 4.2695, -1.1710, &rA01._.A.n9 );
219 make_pt( 4.0156, 4.6415, -1.2759, &rA01._.A.c8 );
220 make_pt( 6.7198, 0.1618, -0.0547, &rA01._.A.h2 );
221 make_pt( 1.6709, 1.3900, -0.4039, &rA01._.A.h61 );
222 make_pt( 2.3107, -0.1627, -0.0373, &rA01._.A.h62 );
223 make_pt( 3.4426, 5.5361, -1.5199, &rA01._.A.h8 );
224
225 rA02.type = 'A';
226 make_tfo( 0.5566, 0.0449, 0.8296,
227 0.5125, 0.7673, -0.3854,
228 -0.6538, 0.6397, 0.4041,
229 -9.1161, -3.7679, -2.9968, &rA02.dgf_base_tfo );
230 make_tfo( -0.8143, -0.5091, -0.2788,
231 -0.0433, -0.4257, 0.9038,
232 -0.5788, 0.7480, 0.3246,
233 1.5227, 6.9114, -7.0765, &rA02.p_o3_275_tfo );
234 make_tfo( 0.3822, -0.7477, 0.5430,
235 0.4552, 0.6637, 0.5935,
236 -0.8042, 0.0203, 0.5941,
237 -6.9472, -4.1186, -5.9108, &rA02.p_o3_180_tfo );
238 make_tfo( 0.5640, 0.8007, -0.2022,
239 -0.8247, 0.5587, -0.0878,
240 0.0426, 0.2162, 0.9754,
241 6.2694, -7.0540, 3.3316, &rA02.p_o3_60_tfo );
242 make_pt( 2.8930, 8.5380, -3.3280, &rA02.p );
243 make_pt( 1.6980, 7.6960, -3.5570, &rA02.o1p );
244 make_pt( 3.2260, 9.5010, -4.4020, &rA02.o2p );
245 make_pt( 4.1590, 7.6040, -3.0340, &rA02.o5_ );
246 make_pt( 4.5778, 6.6594, -4.0364, &rA02.c5_ );
247 make_pt( 4.9220, 7.1963, -4.9204, &rA02.h5_ );
248 make_pt( 3.7996, 5.9091, -4.1764, &rA02.h5__ );
249 make_pt( 5.7873, 5.8869, -3.5482, &rA02.c4_ );
250 make_pt( 6.0405, 5.0875, -4.2446, &rA02.h4_ );
251 make_pt( 6.9135, 6.8036, -3.4310, &rA02.o4_ );
252 make_pt( 7.7293, 6.4084, -2.3392, &rA02.c1_ );
253 make_pt( 8.7078, 6.1815, -2.7624, &rA02.h1_ );
254 make_pt( 7.1305, 5.1418, -1.7347, &rA02.c2_ );
255 make_pt( 7.2040, 5.1982, -0.6486, &rA02.h2__ );
256 make_pt( 7.7417, 4.0392, -2.3813, &rA02.o2_ );
257 make_pt( 8.6785, 4.1443, -2.5630, &rA02.h2_ );
258 make_pt( 5.6666, 5.2728, -2.1536, &rA02.c3_ );
259 make_pt( 5.1747, 5.9805, -1.4863, &rA02.h3_ );
260 make_pt( 4.9997, 4.0086, -2.1973, &rA02.o3_ );
261 make_pt( 10.3245, 8.5459, 1.5467, &rA02.n1 );
262 make_pt( 9.8051, 6.9432, -0.1497, &rA02.n3 );
263 make_pt( 10.5175, 7.4328, 0.8408, &rA02.c2 );
264 make_pt( 8.7523, 7.7422, -0.4228, &rA02.c4 );
265 make_pt( 8.4257, 8.9060, 0.2099, &rA02.c5 );
266 make_pt( 9.2665, 9.3242, 1.2540, &rA02.c6 );
267 make_pt( 9.0664, 10.4462, 1.9610, &rA02._.A.n6 );
268 make_pt( 7.2750, 9.4537, -0.3428, &rA02._.A.n7 );
269 make_pt( 7.7962, 7.5519, -1.3859, &rA02._.A.n9 );
270 make_pt( 6.9479, 8.6157, -1.2771, &rA02._.A.c8 );
271 make_pt( 11.4063, 6.9047, 1.1859, &rA02._.A.h2 );
272 make_pt( 8.2845, 11.0341, 1.7552, &rA02._.A.h61 );
273 make_pt( 9.6584, 10.6647, 2.7198, &rA02._.A.h62 );
274 make_pt( 6.0430, 8.9853, -1.7594, &rA02._.A.h8 );
275
276 rA03.type = 'A';
277 make_tfo( -0.5021, 0.0731, 0.8617,
278 -0.8112, 0.3054, -0.4986,
279 -0.2996, -0.9494, -0.0940,
280 6.4273, -5.1944, -3.7807, &rA03.dgf_base_tfo );
281 make_tfo( -0.8143, -0.5091, -0.2788,
282 -0.0433, -0.4257, 0.9038,
283 -0.5788, 0.7480, 0.3246,
284 1.5227, 6.9114, -7.0765, &rA03.p_o3_275_tfo );
285 make_tfo( 0.3822, -0.7477, 0.5430,
286 0.4552, 0.6637, 0.5935,
287 -0.8042, 0.0203, 0.5941,
288 -6.9472, -4.1186, -5.9108, &rA03.p_o3_180_tfo );
289 make_tfo( 0.5640, 0.8007, -0.2022,
290 -0.8247, 0.5587, -0.0878,
291 0.0426, 0.2162, 0.9754,
292 6.2694, -7.0540, 3.3316, &rA03.p_o3_60_tfo );
293 make_pt( 2.8930, 8.5380, -3.3280, &rA03.p );
294 make_pt( 1.6980, 7.6960, -3.5570, &rA03.o1p );
295 make_pt( 3.2260, 9.5010, -4.4020, &rA03.o2p );
296 make_pt( 4.1590, 7.6040, -3.0340, &rA03.o5_ );
297 make_pt( 4.1214, 6.7116, -1.9049, &rA03.c5_ );
298 make_pt( 3.3465, 5.9610, -2.0607, &rA03.h5_ );
299 make_pt( 4.0789, 7.2928, -0.9837, &rA03.h5__ );
300 make_pt( 5.4170, 5.9293, -1.8186, &rA03.c4_ );
301 make_pt( 5.4506, 5.3400, -0.9023, &rA03.h4_ );
302 make_pt( 5.5067, 5.0417, -2.9703, &rA03.o4_ );
303 make_pt( 6.8650, 4.9152, -3.3612, &rA03.c1_ );
304 make_pt( 7.1090, 3.8577, -3.2603, &rA03.h1_ );
305 make_pt( 7.7152, 5.7282, -2.3894, &rA03.c2_ );
306 make_pt( 8.5029, 6.2356, -2.9463, &rA03.h2__ );
307 make_pt( 8.1036, 4.8568, -1.3419, &rA03.o2_ );
308 make_pt( 8.3270, 3.9651, -1.6184, &rA03.h2_ );
309 make_pt( 6.7003, 6.7565, -1.8911, &rA03.c3_ );
310 make_pt( 6.5898, 7.5329, -2.6482, &rA03.h3_ );
311 make_pt( 7.0505, 7.2878, -0.6105, &rA03.o3_ );
312 make_pt( 9.6740, 4.7656, -7.6614, &rA03.n1 );
313 make_pt( 9.0739, 4.3013, -5.3941, &rA03.n3 );
314 make_pt( 9.8416, 4.2192, -6.4581, &rA03.c2 );
315 make_pt( 7.9885, 5.0632, -5.6446, &rA03.c4 );
316 make_pt( 7.6822, 5.6856, -6.8194, &rA03.c5 );
317 make_pt( 8.5831, 5.5215, -7.8840, &rA03.c6 );
318 make_pt( 8.4084, 6.0747, -9.0933, &rA03._.A.n6 );
319 make_pt( 6.4857, 6.3816, -6.7035, &rA03._.A.n7 );
320 make_pt( 6.9740, 5.3703, -4.7760, &rA03._.A.n9 );
321 make_pt( 6.1133, 6.1613, -5.4808, &rA03._.A.c8 );
322 make_pt( 10.7627, 3.6375, -6.4220, &rA03._.A.h2 );
323 make_pt( 7.6031, 6.6390, -9.2733, &rA03._.A.h61 );
324 make_pt( 9.1004, 5.9708, -9.7893, &rA03._.A.h62 );
325 make_pt( 5.1705, 6.6830, -5.3167, &rA03._.A.h8 );
326
327 rA04.type = 'A';
328 make_tfo( -0.5426, -0.8175, 0.1929,
329 0.8304, -0.5567, -0.0237,
330 0.1267, 0.1473, 0.9809,
331 -0.5075, 8.3929, 0.2229, &rA04.dgf_base_tfo );
332 make_tfo( -0.8143, -0.5091, -0.2788,
333 -0.0433, -0.4257, 0.9038,
334 -0.5788, 0.7480, 0.3246,
335 1.5227, 6.9114, -7.0765, &rA04.p_o3_275_tfo );
336 make_tfo( 0.3822, -0.7477, 0.5430,
337 0.4552, 0.6637, 0.5935,
338 -0.8042, 0.0203, 0.5941,
339 -6.9472, -4.1186, -5.9108, &rA04.p_o3_180_tfo );
340 make_tfo( 0.5640, 0.8007, -0.2022,
341 -0.8247, 0.5587, -0.0878,
342 0.0426, 0.2162, 0.9754,
343 6.2694, -7.0540, 3.3316, &rA04.p_o3_60_tfo );
344 make_pt( 2.8930, 8.5380, -3.3280, &rA04.p );
345 make_pt( 1.6980, 7.6960, -3.5570, &rA04.o1p );
346 make_pt( 3.2260, 9.5010, -4.4020, &rA04.o2p );
347 make_pt( 4.1590, 7.6040, -3.0340, &rA04.o5_ );
348 make_pt( 5.4352, 8.2183, -2.7757, &rA04.c5_ );
349 make_pt( 5.3830, 8.7883, -1.8481, &rA04.h5_ );
350 make_pt( 5.7729, 8.7436, -3.6691, &rA04.h5__ );
351 make_pt( 6.4830, 7.1518, -2.5252, &rA04.c4_ );
352 make_pt( 7.4749, 7.5972, -2.4482, &rA04.h4_ );
353 make_pt( 6.1626, 6.4620, -1.2827, &rA04.o4_ );
354 make_pt( 6.5431, 5.0992, -1.3905, &rA04.c1_ );
355 make_pt( 7.2871, 4.9328, -0.6114, &rA04.h1_ );
356 make_pt( 7.1852, 4.8935, -2.7592, &rA04.c2_ );
357 make_pt( 6.8573, 3.9363, -3.1645, &rA04.h2__ );
358 make_pt( 8.5780, 5.1025, -2.6046, &rA04.o2_ );
359 make_pt( 8.9516, 4.7577, -1.7902, &rA04.h2_ );
360 make_pt( 6.5522, 6.0300, -3.5612, &rA04.c3_ );
361 make_pt( 5.5420, 5.7356, -3.8459, &rA04.h3_ );
362 make_pt( 7.3487, 6.4089, -4.6867, &rA04.o3_ );
363 make_pt( 3.6343, 2.6680, 2.0783, &rA04.n1 );
364 make_pt( 5.4505, 3.9805, 1.2446, &rA04.n3 );
365 make_pt( 4.7540, 3.3816, 2.1851, &rA04.c2 );
366 make_pt( 4.8805, 3.7951, 0.0354, &rA04.c4 );
367 make_pt( 3.7416, 3.0925, -0.2305, &rA04.c5 );
368 make_pt( 3.0873, 2.4980, 0.8606, &rA04.c6 );
369 make_pt( 1.9600, 1.7805, 0.7462, &rA04._.A.n6 );
370 make_pt( 3.4605, 3.1184, -1.5906, &rA04._.A.n7 );
371 make_pt( 5.3247, 4.2695, -1.1710, &rA04._.A.n9 );
372 make_pt( 4.4244, 3.8244, -2.0953, &rA04._.A.c8 );
373 make_pt( 5.0814, 3.4352, 3.2234, &rA04._.A.h2 );
374 make_pt( 1.5423, 1.6454, -0.1520, &rA04._.A.h61 );
375 make_pt( 1.5716, 1.3398, 1.5392, &rA04._.A.h62 );
376 make_pt( 4.2675, 3.8876, -3.1721, &rA04._.A.h8 );
377
378 rA05.type = 'A';
379 make_tfo( -0.5891, 0.0449, 0.8068,
380 0.5375, 0.7673, 0.3498,
381 -0.6034, 0.6397, -0.4762,
382 -0.3019, -3.7679, -9.5913, &rA05.dgf_base_tfo );
383 make_tfo( -0.8143, -0.5091, -0.2788,
384 -0.0433, -0.4257, 0.9038,
385 -0.5788, 0.7480, 0.3246,
386 1.5227, 6.9114, -7.0765, &rA05.p_o3_275_tfo );
387 make_tfo( 0.3822, -0.7477, 0.5430,
388 0.4552, 0.6637, 0.5935,
389 -0.8042, 0.0203, 0.5941,
390 -6.9472, -4.1186, -5.9108, &rA05.p_o3_180_tfo );
391 make_tfo( 0.5640, 0.8007, -0.2022,
392 -0.8247, 0.5587, -0.0878,
393 0.0426, 0.2162, 0.9754,
394 6.2694, -7.0540, 3.3316, &rA05.p_o3_60_tfo );
395 make_pt( 2.8930, 8.5380, -3.3280, &rA05.p );
396 make_pt( 1.6980, 7.6960, -3.5570, &rA05.o1p );
397 make_pt( 3.2260, 9.5010, -4.4020, &rA05.o2p );
398 make_pt( 4.1590, 7.6040, -3.0340, &rA05.o5_ );
399 make_pt( 4.5778, 6.6594, -4.0364, &rA05.c5_ );
400 make_pt( 4.9220, 7.1963, -4.9204, &rA05.h5_ );
401 make_pt( 3.7996, 5.9091, -4.1764, &rA05.h5__ );
402 make_pt( 5.7873, 5.8869, -3.5482, &rA05.c4_ );
403 make_pt( 6.0405, 5.0875, -4.2446, &rA05.h4_ );
404 make_pt( 6.9135, 6.8036, -3.4310, &rA05.o4_ );
405 make_pt( 7.7293, 6.4084, -2.3392, &rA05.c1_ );
406 make_pt( 8.7078, 6.1815, -2.7624, &rA05.h1_ );
407 make_pt( 7.1305, 5.1418, -1.7347, &rA05.c2_ );
408 make_pt( 7.2040, 5.1982, -0.6486, &rA05.h2__ );
409 make_pt( 7.7417, 4.0392, -2.3813, &rA05.o2_ );
410 make_pt( 8.6785, 4.1443, -2.5630, &rA05.h2_ );
411 make_pt( 5.6666, 5.2728, -2.1536, &rA05.c3_ );
412 make_pt( 5.1747, 5.9805, -1.4863, &rA05.h3_ );
413 make_pt( 4.9997, 4.0086, -2.1973, &rA05.o3_ );
414 make_pt( 10.2594, 10.6774, -1.0056, &rA05.n1 );
415 make_pt( 9.7528, 8.7080, -2.2631, &rA05.n3 );
416 make_pt( 10.4471, 9.7876, -1.9791, &rA05.c2 );
417 make_pt( 8.7271, 8.5575, -1.3991, &rA05.c4 );
418 make_pt( 8.4100, 9.3803, -0.3580, &rA05.c5 );
419 make_pt( 9.2294, 10.5030, -0.1574, &rA05.c6 );
420 make_pt( 9.0349, 11.3951, 0.8250, &rA05._.A.n6 );
421 make_pt( 7.2891, 8.9068, 0.3121, &rA05._.A.n7 );
422 make_pt( 7.7962, 7.5519, -1.3859, &rA05._.A.n9 );
423 make_pt( 6.9702, 7.8292, -0.3353, &rA05._.A.c8 );
424 make_pt( 11.3132, 10.0537, -2.5851, &rA05._.A.h2 );
425 make_pt( 8.2741, 11.2784, 1.4629, &rA05._.A.h61 );
426 make_pt( 9.6733, 12.1368, 0.9529, &rA05._.A.h62 );
427 make_pt( 6.0888, 7.3990, 0.1403, &rA05._.A.h8 );
428
429 rA06.type = 'A';
430 make_tfo( -0.9815, 0.0731, -0.1772,
431 0.1912, 0.3054, -0.9328,
432 -0.0141, -0.9494, -0.3137,
433 5.7506, -5.1944, 4.7470, &rA06.dgf_base_tfo );
434 make_tfo( -0.8143, -0.5091, -0.2788,
435 -0.0433, -0.4257, 0.9038,
436 -0.5788, 0.7480, 0.3246,
437 1.5227, 6.9114, -7.0765, &rA06.p_o3_275_tfo );
438 make_tfo( 0.3822, -0.7477, 0.5430,
439 0.4552, 0.6637, 0.5935,
440 -0.8042, 0.0203, 0.5941,
441 -6.9472, -4.1186, -5.9108, &rA06.p_o3_180_tfo );
442 make_tfo( 0.5640, 0.8007, -0.2022,
443 -0.8247, 0.5587, -0.0878,
444 0.0426, 0.2162, 0.9754,
445 6.2694, -7.0540, 3.3316, &rA06.p_o3_60_tfo );
446 make_pt( 2.8930, 8.5380, -3.3280, &rA06.p );
447 make_pt( 1.6980, 7.6960, -3.5570, &rA06.o1p );
448 make_pt( 3.2260, 9.5010, -4.4020, &rA06.o2p );
449 make_pt( 4.1590, 7.6040, -3.0340, &rA06.o5_ );
450 make_pt( 4.1214, 6.7116, -1.9049, &rA06.c5_ );
451 make_pt( 3.3465, 5.9610, -2.0607, &rA06.h5_ );
452 make_pt( 4.0789, 7.2928, -0.9837, &rA06.h5__ );
453 make_pt( 5.4170, 5.9293, -1.8186, &rA06.c4_ );
454 make_pt( 5.4506, 5.3400, -0.9023, &rA06.h4_ );
455 make_pt( 5.5067, 5.0417, -2.9703, &rA06.o4_ );
456 make_pt( 6.8650, 4.9152, -3.3612, &rA06.c1_ );
457 make_pt( 7.1090, 3.8577, -3.2603, &rA06.h1_ );
458 make_pt( 7.7152, 5.7282, -2.3894, &rA06.c2_ );
459 make_pt( 8.5029, 6.2356, -2.9463, &rA06.h2__ );
460 make_pt( 8.1036, 4.8568, -1.3419, &rA06.o2_ );
461 make_pt( 8.3270, 3.9651, -1.6184, &rA06.h2_ );
462 make_pt( 6.7003, 6.7565, -1.8911, &rA06.c3_ );
463 make_pt( 6.5898, 7.5329, -2.6482, &rA06.h3_ );
464 make_pt( 7.0505, 7.2878, -0.6105, &rA06.o3_ );
465 make_pt( 6.6624, 3.5061, -8.2986, &rA06.n1 );
466 make_pt( 6.5810, 3.2570, -5.9221, &rA06.n3 );
467 make_pt( 6.5151, 2.8263, -7.1625, &rA06.c2 );
468 make_pt( 6.8364, 4.5817, -5.8882, &rA06.c4 );
469 make_pt( 7.0116, 5.4064, -6.9609, &rA06.c5 );
470 make_pt( 6.9173, 4.8260, -8.2361, &rA06.c6 );
471 make_pt( 7.0668, 5.5163, -9.3763, &rA06._.A.n6 );
472 make_pt( 7.2573, 6.7070, -6.5394, &rA06._.A.n7 );
473 make_pt( 6.9740, 5.3703, -4.7760, &rA06._.A.n9 );
474 make_pt( 7.2238, 6.6275, -5.2453, &rA06._.A.c8 );
475 make_pt( 6.3146, 1.7741, -7.3641, &rA06._.A.h2 );
476 make_pt( 7.2568, 6.4972, -9.3456, &rA06._.A.h61 );
477 make_pt( 7.0437, 5.0478, -10.2446, &rA06._.A.h62 );
478 make_pt( 7.4108, 7.6227, -4.8418, &rA06._.A.h8 );
479
480 rA07.type = 'A';
481 make_tfo( 0.2379, 0.1310, -0.9624,
482 -0.5876, -0.7696, -0.2499,
483 -0.7734, 0.6249, -0.1061,
484 30.9870, -26.9344, 42.6416, &rA07.dgf_base_tfo );
485 make_tfo( 0.7529, 0.1548, 0.6397,
486 0.2952, -0.9481, -0.1180,
487 0.5882, 0.2777, -0.7595,
488 -58.8919, -11.3095, 6.0866, &rA07.p_o3_275_tfo );
489 make_tfo( -0.0239, 0.9667, -0.2546,
490 0.9731, -0.0359, -0.2275,
491 -0.2290, -0.2532, -0.9399,
492 3.5401, -29.7913, 52.2796, &rA07.p_o3_180_tfo );
493 make_tfo( -0.8912, -0.4531, 0.0242,
494 -0.1183, 0.1805, -0.9764,
495 0.4380, -0.8730, -0.2145,
496 19.9023, 54.8054, 15.2799, &rA07.p_o3_60_tfo );
497 make_pt( 41.8210, 8.3880, 43.5890, &rA07.p );
498 make_pt( 42.5400, 8.0450, 44.8330, &rA07.o1p );
499 make_pt( 42.2470, 9.6920, 42.9910, &rA07.o2p );
500 make_pt( 40.2550, 8.2030, 43.7340, &rA07.o5_ );
501 make_pt( 39.3505, 8.4697, 42.6565, &rA07.c5_ );
502 make_pt( 39.1377, 7.5433, 42.1230, &rA07.h5_ );
503 make_pt( 39.7203, 9.3119, 42.0717, &rA07.h5__ );
504 make_pt( 38.0405, 8.9195, 43.2869, &rA07.c4_ );
505 make_pt( 37.3687, 9.3036, 42.5193, &rA07.h4_ );
506 make_pt( 37.4319, 7.8146, 43.9387, &rA07.o4_ );
507 make_pt( 37.1959, 8.1354, 45.3237, &rA07.c1_ );
508 make_pt( 36.1788, 8.5202, 45.3970, &rA07.h1_ );
509 make_pt( 38.1721, 9.2328, 45.6504, &rA07.c2_ );
510 make_pt( 39.1555, 8.7939, 45.8188, &rA07.h2__ );
511 make_pt( 37.7862, 10.0617, 46.7013, &rA07.o2_ );
512 make_pt( 37.3087, 9.6229, 47.4092, &rA07.h2_ );
513 make_pt( 38.1844, 10.0268, 44.3367, &rA07.c3_ );
514 make_pt( 39.1578, 10.5054, 44.2289, &rA07.h3_ );
515 make_pt( 37.0547, 10.9127, 44.3441, &rA07.o3_ );
516 make_pt( 34.8811, 4.2072, 47.5784, &rA07.n1 );
517 make_pt( 35.1084, 6.1336, 46.1818, &rA07.n3 );
518 make_pt( 34.4108, 5.1360, 46.7207, &rA07.c2 );
519 make_pt( 36.3908, 6.1224, 46.6053, &rA07.c4 );
520 make_pt( 36.9819, 5.2334, 47.4697, &rA07.c5 );
521 make_pt( 36.1786, 4.1985, 48.0035, &rA07.c6 );
522 make_pt( 36.6103, 3.2749, 48.8452, &rA07._.A.n6 );
523 make_pt( 38.3236, 5.5522, 47.6595, &rA07._.A.n7 );
524 make_pt( 37.3887, 7.0024, 46.2437, &rA07._.A.n9 );
525 make_pt( 38.5055, 6.6096, 46.9057, &rA07._.A.c8 );
526 make_pt( 33.3553, 5.0152, 46.4771, &rA07._.A.h2 );
527 make_pt( 37.5730, 3.2804, 49.1507, &rA07._.A.h61 );
528 make_pt( 35.9775, 2.5638, 49.1828, &rA07._.A.h62 );
529 make_pt( 39.5461, 6.9184, 47.0041, &rA07._.A.h8 );
530
531 rA08.type = 'A';
532 make_tfo( 0.1084, -0.0895, -0.9901,
533 0.9789, -0.1638, 0.1220,
534 -0.1731, -0.9824, 0.0698,
535 -2.9039, 47.2655, 33.0094, &rA08.dgf_base_tfo );
536 make_tfo( 0.7529, 0.1548, 0.6397,
537 0.2952, -0.9481, -0.1180,
538 0.5882, 0.2777, -0.7595,
539 -58.8919, -11.3095, 6.0866, &rA08.p_o3_275_tfo );
540 make_tfo( -0.0239, 0.9667, -0.2546,
541 0.9731, -0.0359, -0.2275,
542 -0.2290, -0.2532, -0.9399,
543 3.5401, -29.7913, 52.2796, &rA08.p_o3_180_tfo );
544 make_tfo( -0.8912, -0.4531, 0.0242,
545 -0.1183, 0.1805, -0.9764,
546 0.4380, -0.8730, -0.2145,
547 19.9023, 54.8054, 15.2799, &rA08.p_o3_60_tfo );
548 make_pt( 41.8210, 8.3880, 43.5890, &rA08.p );
549 make_pt( 42.5400, 8.0450, 44.8330, &rA08.o1p );
550 make_pt( 42.2470, 9.6920, 42.9910, &rA08.o2p );
551 make_pt( 40.2550, 8.2030, 43.7340, &rA08.o5_ );
552 make_pt( 39.4850, 8.9301, 44.6977, &rA08.c5_ );
553 make_pt( 39.0638, 9.8199, 44.2296, &rA08.h5_ );
554 make_pt( 40.0757, 9.0713, 45.6029, &rA08.h5__ );
555 make_pt( 38.3102, 8.0414, 45.0789, &rA08.c4_ );
556 make_pt( 37.7842, 8.4637, 45.9351, &rA08.h4_ );
557 make_pt( 37.4200, 7.9453, 43.9769, &rA08.o4_ );
558 make_pt( 37.2249, 6.5609, 43.6273, &rA08.c1_ );
559 make_pt( 36.3360, 6.2168, 44.1561, &rA08.h1_ );
560 make_pt( 38.4347, 5.8414, 44.1590, &rA08.c2_ );
561 make_pt( 39.2688, 5.9974, 43.4749, &rA08.h2__ );
562 make_pt( 38.2344, 4.4907, 44.4348, &rA08.o2_ );
563 make_pt( 37.6374, 4.0386, 43.8341, &rA08.h2_ );
564 make_pt( 38.6926, 6.6079, 45.4637, &rA08.c3_ );
565 make_pt( 39.7585, 6.5640, 45.6877, &rA08.h3_ );
566 make_pt( 37.8238, 6.0705, 46.4723, &rA08.o3_ );
567 make_pt( 33.9162, 6.2598, 39.7758, &rA08.n1 );
568 make_pt( 34.6709, 6.5759, 42.0215, &rA08.n3 );
569 make_pt( 33.7257, 6.5186, 41.0858, &rA08.c2 );
570 make_pt( 35.8935, 6.3324, 41.5018, &rA08.c4 );
571 make_pt( 36.2105, 6.0601, 40.1932, &rA08.c5 );
572 make_pt( 35.1538, 6.0151, 39.2537, &rA08.c6 );
573 make_pt( 35.3088, 5.7642, 37.9649, &rA08._.A.n6 );
574 make_pt( 37.5818, 5.8677, 40.0507, &rA08._.A.n7 );
575 make_pt( 37.0932, 6.3197, 42.1810, &rA08._.A.n9 );
576 make_pt( 38.0509, 6.0354, 41.2635, &rA08._.A.c8 );
577 make_pt( 32.6830, 6.6898, 41.3532, &rA08._.A.h2 );
578 make_pt( 36.2305, 5.5855, 37.5925, &rA08._.A.h61 );
579 make_pt( 34.5056, 5.7512, 37.3528, &rA08._.A.h62 );
580 make_pt( 39.1318, 5.8993, 41.2285, &rA08._.A.h8 );
581
582 rA09.type = 'A';
583 make_tfo( 0.8467, 0.4166, -0.3311,
584 -0.3962, 0.9089, 0.1303,
585 0.3552, 0.0209, 0.9346,
586 -42.7319, -26.6223, -29.8163, &rA09.dgf_base_tfo );
587 make_tfo( 0.7529, 0.1548, 0.6397,
588 0.2952, -0.9481, -0.1180,
589 0.5882, 0.2777, -0.7595,
590 -58.8919, -11.3095, 6.0866, &rA09.p_o3_275_tfo );
591 make_tfo( -0.0239, 0.9667, -0.2546,
592 0.9731, -0.0359, -0.2275,
593 -0.2290, -0.2532, -0.9399,
594 3.5401, -29.7913, 52.2796, &rA09.p_o3_180_tfo );
595 make_tfo( -0.8912, -0.4531, 0.0242,
596 -0.1183, 0.1805, -0.9764,
597 0.4380, -0.8730, -0.2145,
598 19.9023, 54.8054, 15.2799, &rA09.p_o3_60_tfo );
599 make_pt( 41.8210, 8.3880, 43.5890, &rA09.p );
600 make_pt( 42.5400, 8.0450, 44.8330, &rA09.o1p );
601 make_pt( 42.2470, 9.6920, 42.9910, &rA09.o2p );
602 make_pt( 40.2550, 8.2030, 43.7340, &rA09.o5_ );
603 make_pt( 39.3505, 8.4697, 42.6565, &rA09.c5_ );
604 make_pt( 39.1377, 7.5433, 42.1230, &rA09.h5_ );
605 make_pt( 39.7203, 9.3119, 42.0717, &rA09.h5__ );
606 make_pt( 38.0405, 8.9195, 43.2869, &rA09.c4_ );
607 make_pt( 37.6479, 8.1347, 43.9335, &rA09.h4_ );
608 make_pt( 38.2691, 10.0933, 44.0524, &rA09.o4_ );
609 make_pt( 37.3999, 11.1488, 43.5973, &rA09.c1_ );
610 make_pt( 36.5061, 11.1221, 44.2206, &rA09.h1_ );
611 make_pt( 37.0364, 10.7838, 42.1836, &rA09.c2_ );
612 make_pt( 37.8636, 11.0489, 41.5252, &rA09.h2__ );
613 make_pt( 35.8275, 11.3133, 41.7379, &rA09.o2_ );
614 make_pt( 35.6214, 12.1896, 42.0714, &rA09.h2_ );
615 make_pt( 36.9316, 9.2556, 42.2837, &rA09.c3_ );
616 make_pt( 37.1778, 8.8260, 41.3127, &rA09.h3_ );
617 make_pt( 35.6285, 8.9334, 42.7926, &rA09.o3_ );
618 make_pt( 38.1482, 15.2833, 46.4641, &rA09.n1 );
619 make_pt( 37.3641, 13.0968, 45.9007, &rA09.n3 );
620 make_pt( 37.5032, 14.1288, 46.7300, &rA09.c2 );
621 make_pt( 37.9570, 13.3377, 44.7113, &rA09.c4 );
622 make_pt( 38.6397, 14.4660, 44.3267, &rA09.c5 );
623 make_pt( 38.7473, 15.5229, 45.2609, &rA09.c6 );
624 make_pt( 39.3720, 16.6649, 45.0297, &rA09._.A.n6 );
625 make_pt( 39.1079, 14.3351, 43.0223, &rA09._.A.n7 );
626 make_pt( 38.0132, 12.4868, 43.6280, &rA09._.A.n9 );
627 make_pt( 38.7058, 13.1402, 42.6620, &rA09._.A.c8 );
628 make_pt( 37.0731, 14.0857, 47.7306, &rA09._.A.h2 );
629 make_pt( 39.8113, 16.8281, 44.1350, &rA09._.A.h61 );
630 make_pt( 39.4100, 17.3741, 45.7478, &rA09._.A.h62 );
631 make_pt( 39.0412, 12.9660, 41.6397, &rA09._.A.h8 );
632
633 rA10.type = 'A';
634 make_tfo( 0.7063, 0.6317, -0.3196,
635 -0.0403, -0.4149, -0.9090,
636 -0.7068, 0.6549, -0.2676,
637 6.4402, -52.1496, 30.8246, &rA10.dgf_base_tfo );
638 make_tfo( 0.7529, 0.1548, 0.6397,
639 0.2952, -0.9481, -0.1180,
640 0.5882, 0.2777, -0.7595,
641 -58.8919, -11.3095, 6.0866, &rA10.p_o3_275_tfo );
642 make_tfo( -0.0239, 0.9667, -0.2546,
643 0.9731, -0.0359, -0.2275,
644 -0.2290, -0.2532, -0.9399,
645 3.5401, -29.7913, 52.2796, &rA10.p_o3_180_tfo );
646 make_tfo( -0.8912, -0.4531, 0.0242,
647 -0.1183, 0.1805, -0.9764,
648 0.4380, -0.8730, -0.2145,
649 19.9023, 54.8054, 15.2799, &rA10.p_o3_60_tfo );
650 make_pt( 41.8210, 8.3880, 43.5890, &rA10.p );
651 make_pt( 42.5400, 8.0450, 44.8330, &rA10.o1p );
652 make_pt( 42.2470, 9.6920, 42.9910, &rA10.o2p );
653 make_pt( 40.2550, 8.2030, 43.7340, &rA10.o5_ );
654 make_pt( 39.4850, 8.9301, 44.6977, &rA10.c5_ );
655 make_pt( 39.0638, 9.8199, 44.2296, &rA10.h5_ );
656 make_pt( 40.0757, 9.0713, 45.6029, &rA10.h5__ );
657 make_pt( 38.3102, 8.0414, 45.0789, &rA10.c4_ );
658 make_pt( 37.7099, 7.8166, 44.1973, &rA10.h4_ );
659 make_pt( 38.8012, 6.8321, 45.6380, &rA10.o4_ );
660 make_pt( 38.2431, 6.6413, 46.9529, &rA10.c1_ );
661 make_pt( 37.3505, 6.0262, 46.8385, &rA10.h1_ );
662 make_pt( 37.8484, 8.0156, 47.4214, &rA10.c2_ );
663 make_pt( 38.7381, 8.5406, 47.7690, &rA10.h2__ );
664 make_pt( 36.8286, 8.0368, 48.3701, &rA10.o2_ );
665 make_pt( 36.8392, 7.3063, 48.9929, &rA10.h2_ );
666 make_pt( 37.3576, 8.6512, 46.1132, &rA10.c3_ );
667 make_pt( 37.5207, 9.7275, 46.1671, &rA10.h3_ );
668 make_pt( 35.9985, 8.2392, 45.9032, &rA10.o3_ );
669 make_pt( 39.9117, 2.2278, 48.8527, &rA10.n1 );
670 make_pt( 38.6207, 3.6941, 47.4757, &rA10.n3 );
671 make_pt( 38.9872, 2.4888, 47.9057, &rA10.c2 );
672 make_pt( 39.2961, 4.6720, 48.1174, &rA10.c4 );
673 make_pt( 40.2546, 4.5307, 49.0912, &rA10.c5 );
674 make_pt( 40.5932, 3.2189, 49.4985, &rA10.c6 );
675 make_pt( 41.4938, 2.9317, 50.4229, &rA10._.A.n6 );
676 make_pt( 40.7195, 5.7755, 49.5060, &rA10._.A.n7 );
677 make_pt( 39.1730, 6.0305, 47.9170, &rA10._.A.n9 );
678 make_pt( 40.0413, 6.6250, 48.7728, &rA10._.A.c8 );
679 make_pt( 38.5257, 1.5960, 47.4838, &rA10._.A.h2 );
680 make_pt( 41.9907, 3.6753, 50.8921, &rA10._.A.h61 );
681 make_pt( 41.6848, 1.9687, 50.6599, &rA10._.A.h62 );
682 make_pt( 40.3571, 7.6321, 49.0452, &rA10._.A.h8 );
683
684 rAs[0] = &rA10;
685 rAs[1] = &rA09;
686 rAs[2] = &rA08;
687 rAs[3] = &rA07;
688 rAs[4] = &rA06;
689 rAs[5] = &rA05;
690 rAs[6] = &rA04;
691 rAs[7] = &rA03;
692 rAs[8] = &rA02;
693 rAs[9] = &rA01;
694 rAs[10]= 0;
695 }
696
init_C()697 void init_C()
698 {
699 rC.type = 'C';
700 make_tfo( -0.0359, -0.8071, 0.5894,
701 -0.2669, 0.5761, 0.7726,
702 -0.9631, -0.1296, -0.2361,
703 0.1584, 8.3434, 0.5434, &rC.dgf_base_tfo );
704 make_tfo( -0.8313, -0.4738, -0.2906,
705 0.0649, 0.4366, -0.8973,
706 0.5521, -0.7648, -0.3322,
707 1.6833, 6.8060, -7.0011, &rC.p_o3_275_tfo );
708 make_tfo( 0.3445, -0.7630, 0.5470,
709 -0.4628, -0.6450, -0.6082,
710 0.8168, -0.0436, -0.5753,
711 -6.8179, -3.9778, -5.9887, &rC.p_o3_180_tfo );
712 make_tfo( 0.5855, 0.7931, -0.1682,
713 0.8103, -0.5790, 0.0906,
714 -0.0255, -0.1894, -0.9816,
715 6.1203, -7.1051, 3.1984, &rC.p_o3_60_tfo );
716 make_pt( 2.6760, -8.4960, 3.2880, &rC.p );
717 make_pt( 1.4950, -7.6230, 3.4770, &rC.o1p );
718 make_pt( 2.9490, -9.4640, 4.3740, &rC.o2p );
719 make_pt( 3.9730, -7.5950, 3.0340, &rC.o5_ );
720 make_pt( 5.2430, -8.2420, 2.8260, &rC.c5_ );
721 make_pt( 5.1974, -8.8497, 1.9223, &rC.h5_ );
722 make_pt( 5.5548, -8.7348, 3.7469, &rC.h5__ );
723 make_pt( 6.3140, -7.2060, 2.5510, &rC.c4_ );
724 make_pt( 7.2954, -7.6762, 2.4898, &rC.h4_ );
725 make_pt( 6.0140, -6.5420, 1.2890, &rC.o4_ );
726 make_pt( 6.4190, -5.1840, 1.3620, &rC.c1_ );
727 make_pt( 7.1608, -5.0495, 0.5747, &rC.h1_ );
728 make_pt( 7.0760, -4.9560, 2.7270, &rC.c2_ );
729 make_pt( 6.7770, -3.9803, 3.1099, &rC.h2__ );
730 make_pt( 8.4500, -5.1930, 2.5810, &rC.o2_ );
731 make_pt( 8.8309, -4.8755, 1.7590, &rC.h2_ );
732 make_pt( 6.4060, -6.0590, 3.5580, &rC.c3_ );
733 make_pt( 5.4021, -5.7313, 3.8281, &rC.h3_ );
734 make_pt( 7.1570, -6.4240, 4.7070, &rC.o3_ );
735 make_pt( 5.2170, -4.3260, 1.1690, &rC.n1 );
736 make_pt( 4.2960, -2.2560, 0.6290, &rC.n3 );
737 make_pt( 5.4330, -3.0200, 0.7990, &rC.c2 );
738 make_pt( 2.9930, -2.6780, 0.7940, &rC.c4 );
739 make_pt( 2.8670, -4.0630, 1.1830, &rC.c5 );
740 make_pt( 3.9570, -4.8300, 1.3550, &rC.c6 );
741 make_pt( 2.0187, -1.8047, 0.5874, &rC._.C.n4 );
742 make_pt( 6.5470, -2.5560, 0.6290, &rC._.C.o2 );
743 make_pt( 1.0684, -2.1236, 0.7109, &rC._.C.h41 );
744 make_pt( 2.2344, -0.8560, 0.3162, &rC._.C.h42 );
745 make_pt( 1.8797, -4.4972, 1.3404, &rC._.C.h5 );
746 make_pt( 3.8479, -5.8742, 1.6480, &rC._.C.h6 );
747
748 rC01.type = 'C';
749 make_tfo( -0.0137, -0.8012, 0.5983,
750 -0.2523, 0.5817, 0.7733,
751 -0.9675, -0.1404, -0.2101,
752 0.2031, 8.3874, 0.4228, &rC01.dgf_base_tfo );
753 make_tfo( -0.8313, -0.4738, -0.2906,
754 0.0649, 0.4366, -0.8973,
755 0.5521, -0.7648, -0.3322,
756 1.6833, 6.8060, -7.0011, &rC01.p_o3_275_tfo );
757 make_tfo( 0.3445, -0.7630, 0.5470,
758 -0.4628, -0.6450, -0.6082,
759 0.8168, -0.0436, -0.5753,
760 -6.8179, -3.9778, -5.9887, &rC01.p_o3_180_tfo );
761 make_tfo( 0.5855, 0.7931, -0.1682,
762 0.8103, -0.5790, 0.0906,
763 -0.0255, -0.1894, -0.9816,
764 6.1203, -7.1051, 3.1984, &rC01.p_o3_60_tfo );
765 make_pt( 2.6760, -8.4960, 3.2880, &rC01.p );
766 make_pt( 1.4950, -7.6230, 3.4770, &rC01.o1p );
767 make_pt( 2.9490, -9.4640, 4.3740, &rC01.o2p );
768 make_pt( 3.9730, -7.5950, 3.0340, &rC01.o5_ );
769 make_pt( 5.2416, -8.2422, 2.8181, &rC01.c5_ );
770 make_pt( 5.2050, -8.8128, 1.8901, &rC01.h5_ );
771 make_pt( 5.5368, -8.7738, 3.7227, &rC01.h5__ );
772 make_pt( 6.3232, -7.2037, 2.6002, &rC01.c4_ );
773 make_pt( 7.3048, -7.6757, 2.5577, &rC01.h4_ );
774 make_pt( 6.0635, -6.5092, 1.3456, &rC01.o4_ );
775 make_pt( 6.4697, -5.1547, 1.4629, &rC01.c1_ );
776 make_pt( 7.2354, -5.0043, 0.7018, &rC01.h1_ );
777 make_pt( 7.0856, -4.9610, 2.8521, &rC01.c2_ );
778 make_pt( 6.7777, -3.9935, 3.2487, &rC01.h2__ );
779 make_pt( 8.4627, -5.1992, 2.7423, &rC01.o2_ );
780 make_pt( 8.8693, -4.8638, 1.9399, &rC01.h2_ );
781 make_pt( 6.3877, -6.0809, 3.6362, &rC01.c3_ );
782 make_pt( 5.3770, -5.7562, 3.8834, &rC01.h3_ );
783 make_pt( 7.1024, -6.4754, 4.7985, &rC01.o3_ );
784 make_pt( 5.2764, -4.2883, 1.2538, &rC01.n1 );
785 make_pt( 4.3777, -2.2062, 0.7229, &rC01.n3 );
786 make_pt( 5.5069, -2.9779, 0.9088, &rC01.c2 );
787 make_pt( 3.0693, -2.6246, 0.8500, &rC01.c4 );
788 make_pt( 2.9279, -4.0146, 1.2149, &rC01.c5 );
789 make_pt( 4.0101, -4.7892, 1.4017, &rC01.c6 );
790 make_pt( 2.1040, -1.7437, 0.6331, &rC01._.C.n4 );
791 make_pt( 6.6267, -2.5166, 0.7728, &rC01._.C.o2 );
792 make_pt( 1.1496, -2.0600, 0.7287, &rC01._.C.h41 );
793 make_pt( 2.3303, -0.7921, 0.3815, &rC01._.C.h42 );
794 make_pt( 1.9353, -4.4465, 1.3419, &rC01._.C.h5 );
795 make_pt( 3.8895, -5.8371, 1.6762, &rC01._.C.h6 );
796
797 rC02.type = 'C';
798 make_tfo( 0.5141, 0.0246, 0.8574,
799 -0.5547, -0.7529, 0.3542,
800 0.6542, -0.6577, -0.3734,
801 -9.1111, -3.4598, -3.2939, &rC02.dgf_base_tfo );
802 make_tfo( -0.8313, -0.4738, -0.2906,
803 0.0649, 0.4366, -0.8973,
804 0.5521, -0.7648, -0.3322,
805 1.6833, 6.8060, -7.0011, &rC02.p_o3_275_tfo );
806 make_tfo( 0.3445, -0.7630, 0.5470,
807 -0.4628, -0.6450, -0.6082,
808 0.8168, -0.0436, -0.5753,
809 -6.8179, -3.9778, -5.9887, &rC02.p_o3_180_tfo );
810 make_tfo( 0.5855, 0.7931, -0.1682,
811 0.8103, -0.5790, 0.0906,
812 -0.0255, -0.1894, -0.9816,
813 6.1203, -7.1051, 3.1984, &rC02.p_o3_60_tfo );
814 make_pt( 2.6760, -8.4960, 3.2880, &rC02.p );
815 make_pt( 1.4950, -7.6230, 3.4770, &rC02.o1p );
816 make_pt( 2.9490, -9.4640, 4.3740, &rC02.o2p );
817 make_pt( 3.9730, -7.5950, 3.0340, &rC02.o5_ );
818 make_pt( 4.3825, -6.6585, 4.0489, &rC02.c5_ );
819 make_pt( 4.6841, -7.2019, 4.9443, &rC02.h5_ );
820 make_pt( 3.6189, -5.8889, 4.1625, &rC02.h5__ );
821 make_pt( 5.6255, -5.9175, 3.5998, &rC02.c4_ );
822 make_pt( 5.8732, -5.1228, 4.3034, &rC02.h4_ );
823 make_pt( 6.7337, -6.8605, 3.5222, &rC02.o4_ );
824 make_pt( 7.5932, -6.4923, 2.4548, &rC02.c1_ );
825 make_pt( 8.5661, -6.2983, 2.9064, &rC02.h1_ );
826 make_pt( 7.0527, -5.2012, 1.8322, &rC02.c2_ );
827 make_pt( 7.1627, -5.2525, 0.7490, &rC02.h2__ );
828 make_pt( 7.6666, -4.1249, 2.4880, &rC02.o2_ );
829 make_pt( 8.5944, -4.2543, 2.6981, &rC02.h2_ );
830 make_pt( 5.5661, -5.3029, 2.2009, &rC02.c3_ );
831 make_pt( 5.0841, -6.0018, 1.5172, &rC02.h3_ );
832 make_pt( 4.9062, -4.0452, 2.2042, &rC02.o3_ );
833 make_pt( 7.6298, -7.6136, 1.4752, &rC02.n1 );
834 make_pt( 8.6945, -8.7046, -0.2857, &rC02.n3 );
835 make_pt( 8.6943, -7.6514, 0.6066, &rC02.c2 );
836 make_pt( 7.7426, -9.6987, -0.3801, &rC02.c4 );
837 make_pt( 6.6642, -9.5742, 0.5722, &rC02.c5 );
838 make_pt( 6.6391, -8.5592, 1.4526, &rC02.c6 );
839 make_pt( 7.9033, -10.6371, -1.3010, &rC02._.C.n4 );
840 make_pt( 9.5840, -6.8186, 0.6136, &rC02._.C.o2 );
841 make_pt( 7.2009, -11.3604, -1.3619, &rC02._.C.h41 );
842 make_pt( 8.7058, -10.6168, -1.9140, &rC02._.C.h42 );
843 make_pt( 5.8585, -10.3083, 0.5822, &rC02._.C.h5 );
844 make_pt( 5.8197, -8.4773, 2.1667, &rC02._.C.h6 );
845
846 rC03.type = 'C';
847 make_tfo( -0.4993, 0.0476, 0.8651,
848 0.8078, -0.3353, 0.4847,
849 0.3132, 0.9409, 0.1290,
850 6.2989, -5.2303, -3.8577, &rC03.dgf_base_tfo );
851 make_tfo( -0.8313, -0.4738, -0.2906,
852 0.0649, 0.4366, -0.8973,
853 0.5521, -0.7648, -0.3322,
854 1.6833, 6.8060, -7.0011, &rC03.p_o3_275_tfo );
855 make_tfo( 0.3445, -0.7630, 0.5470,
856 -0.4628, -0.6450, -0.6082,
857 0.8168, -0.0436, -0.5753,
858 -6.8179, -3.9778, -5.9887, &rC03.p_o3_180_tfo );
859 make_tfo( 0.5855, 0.7931, -0.1682,
860 0.8103, -0.5790, 0.0906,
861 -0.0255, -0.1894, -0.9816,
862 6.1203, -7.1051, 3.1984, &rC03.p_o3_60_tfo );
863 make_pt( 2.6760, -8.4960, 3.2880, &rC03.p );
864 make_pt( 1.4950, -7.6230, 3.4770, &rC03.o1p );
865 make_pt( 2.9490, -9.4640, 4.3740, &rC03.o2p );
866 make_pt( 3.9730, -7.5950, 3.0340, &rC03.o5_ );
867 make_pt( 3.9938, -6.7042, 1.9023, &rC03.c5_ );
868 make_pt( 3.2332, -5.9343, 2.0319, &rC03.h5_ );
869 make_pt( 3.9666, -7.2863, 0.9812, &rC03.h5__ );
870 make_pt( 5.3098, -5.9546, 1.8564, &rC03.c4_ );
871 make_pt( 5.3863, -5.3702, 0.9395, &rC03.h4_ );
872 make_pt( 5.3851, -5.0642, 3.0076, &rC03.o4_ );
873 make_pt( 6.7315, -4.9724, 3.4462, &rC03.c1_ );
874 make_pt( 7.0033, -3.9202, 3.3619, &rC03.h1_ );
875 make_pt( 7.5997, -5.8018, 2.4948, &rC03.c2_ );
876 make_pt( 8.3627, -6.3254, 3.0707, &rC03.h2__ );
877 make_pt( 8.0410, -4.9501, 1.4724, &rC03.o2_ );
878 make_pt( 8.2781, -4.0644, 1.7570, &rC03.h2_ );
879 make_pt( 6.5701, -6.8129, 1.9714, &rC03.c3_ );
880 make_pt( 6.4186, -7.5809, 2.7299, &rC03.h3_ );
881 make_pt( 6.9357, -7.3841, 0.7235, &rC03.o3_ );
882 make_pt( 6.8024, -5.4718, 4.8475, &rC03.n1 );
883 make_pt( 7.9218, -5.5700, 6.8877, &rC03.n3 );
884 make_pt( 7.8908, -5.0886, 5.5944, &rC03.c2 );
885 make_pt( 6.9789, -6.3827, 7.4823, &rC03.c4 );
886 make_pt( 5.8742, -6.7319, 6.6202, &rC03.c5 );
887 make_pt( 5.8182, -6.2769, 5.3570, &rC03.c6 );
888 make_pt( 7.1702, -6.7511, 8.7402, &rC03._.C.n4 );
889 make_pt( 8.7747, -4.3728, 5.1568, &rC03._.C.o2 );
890 make_pt( 6.4741, -7.3461, 9.1662, &rC03._.C.h41 );
891 make_pt( 7.9889, -6.4396, 9.2429, &rC03._.C.h42 );
892 make_pt( 5.0736, -7.3713, 6.9922, &rC03._.C.h5 );
893 make_pt( 4.9784, -6.5473, 4.7170, &rC03._.C.h6 );
894
895 rC04.type = 'C';
896 make_tfo( -0.5669, -0.8012, 0.1918,
897 -0.8129, 0.5817, 0.0273,
898 -0.1334, -0.1404, -0.9811,
899 -0.3279, 8.3874, 0.3355, &rC04.dgf_base_tfo );
900 make_tfo( -0.8313, -0.4738, -0.2906,
901 0.0649, 0.4366, -0.8973,
902 0.5521, -0.7648, -0.3322,
903 1.6833, 6.8060, -7.0011, &rC04.p_o3_275_tfo );
904 make_tfo( 0.3445, -0.7630, 0.5470,
905 -0.4628, -0.6450, -0.6082,
906 0.8168, -0.0436, -0.5753,
907 -6.8179, -3.9778, -5.9887, &rC04.p_o3_180_tfo );
908 make_tfo( 0.5855, 0.7931, -0.1682,
909 0.8103, -0.5790, 0.0906,
910 -0.0255, -0.1894, -0.9816,
911 6.1203, -7.1051, 3.1984, &rC04.p_o3_60_tfo );
912 make_pt( 2.6760, -8.4960, 3.2880, &rC04.p );
913 make_pt( 1.4950, -7.6230, 3.4770, &rC04.o1p );
914 make_pt( 2.9490, -9.4640, 4.3740, &rC04.o2p );
915 make_pt( 3.9730, -7.5950, 3.0340, &rC04.o5_ );
916 make_pt( 5.2416, -8.2422, 2.8181, &rC04.c5_ );
917 make_pt( 5.2050, -8.8128, 1.8901, &rC04.h5_ );
918 make_pt( 5.5368, -8.7738, 3.7227, &rC04.h5__ );
919 make_pt( 6.3232, -7.2037, 2.6002, &rC04.c4_ );
920 make_pt( 7.3048, -7.6757, 2.5577, &rC04.h4_ );
921 make_pt( 6.0635, -6.5092, 1.3456, &rC04.o4_ );
922 make_pt( 6.4697, -5.1547, 1.4629, &rC04.c1_ );
923 make_pt( 7.2354, -5.0043, 0.7018, &rC04.h1_ );
924 make_pt( 7.0856, -4.9610, 2.8521, &rC04.c2_ );
925 make_pt( 6.7777, -3.9935, 3.2487, &rC04.h2__ );
926 make_pt( 8.4627, -5.1992, 2.7423, &rC04.o2_ );
927 make_pt( 8.8693, -4.8638, 1.9399, &rC04.h2_ );
928 make_pt( 6.3877, -6.0809, 3.6362, &rC04.c3_ );
929 make_pt( 5.3770, -5.7562, 3.8834, &rC04.h3_ );
930 make_pt( 7.1024, -6.4754, 4.7985, &rC04.o3_ );
931 make_pt( 5.2764, -4.2883, 1.2538, &rC04.n1 );
932 make_pt( 3.8961, -3.0896, -0.1893, &rC04.n3 );
933 make_pt( 5.0095, -3.8907, -0.0346, &rC04.c2 );
934 make_pt( 3.0480, -2.6632, 0.8116, &rC04.c4 );
935 make_pt( 3.4093, -3.1310, 2.1292, &rC04.c5 );
936 make_pt( 4.4878, -3.9124, 2.3088, &rC04.c6 );
937 make_pt( 2.0216, -1.8941, 0.4804, &rC04._.C.n4 );
938 make_pt( 5.7005, -4.2164, -0.9842, &rC04._.C.o2 );
939 make_pt( 1.4067, -1.5873, 1.2205, &rC04._.C.h41 );
940 make_pt( 1.8721, -1.6319, -0.4835, &rC04._.C.h42 );
941 make_pt( 2.8048, -2.8507, 2.9918, &rC04._.C.h5 );
942 make_pt( 4.7491, -4.2593, 3.3085, &rC04._.C.h6 );
943
944 rC05.type = 'C';
945 make_tfo( -0.6298, 0.0246, 0.7763,
946 -0.5226, -0.7529, -0.4001,
947 0.5746, -0.6577, 0.4870,
948 -0.0208, -3.4598, -9.6882, &rC05.dgf_base_tfo );
949 make_tfo( -0.8313, -0.4738, -0.2906,
950 0.0649, 0.4366, -0.8973,
951 0.5521, -0.7648, -0.3322,
952 1.6833, 6.8060, -7.0011, &rC05.p_o3_275_tfo );
953 make_tfo( 0.3445, -0.7630, 0.5470,
954 -0.4628, -0.6450, -0.6082,
955 0.8168, -0.0436, -0.5753,
956 -6.8179, -3.9778, -5.9887, &rC05.p_o3_180_tfo );
957 make_tfo( 0.5855, 0.7931, -0.1682,
958 0.8103, -0.5790, 0.0906,
959 -0.0255, -0.1894, -0.9816,
960 6.1203, -7.1051, 3.1984, &rC05.p_o3_60_tfo );
961 make_pt( 2.6760, -8.4960, 3.2880, &rC05.p );
962 make_pt( 1.4950, -7.6230, 3.4770, &rC05.o1p );
963 make_pt( 2.9490, -9.4640, 4.3740, &rC05.o2p );
964 make_pt( 3.9730, -7.5950, 3.0340, &rC05.o5_ );
965 make_pt( 4.3825, -6.6585, 4.0489, &rC05.c5_ );
966 make_pt( 4.6841, -7.2019, 4.9443, &rC05.h5_ );
967 make_pt( 3.6189, -5.8889, 4.1625, &rC05.h5__ );
968 make_pt( 5.6255, -5.9175, 3.5998, &rC05.c4_ );
969 make_pt( 5.8732, -5.1228, 4.3034, &rC05.h4_ );
970 make_pt( 6.7337, -6.8605, 3.5222, &rC05.o4_ );
971 make_pt( 7.5932, -6.4923, 2.4548, &rC05.c1_ );
972 make_pt( 8.5661, -6.2983, 2.9064, &rC05.h1_ );
973 make_pt( 7.0527, -5.2012, 1.8322, &rC05.c2_ );
974 make_pt( 7.1627, -5.2525, 0.7490, &rC05.h2__ );
975 make_pt( 7.6666, -4.1249, 2.4880, &rC05.o2_ );
976 make_pt( 8.5944, -4.2543, 2.6981, &rC05.h2_ );
977 make_pt( 5.5661, -5.3029, 2.2009, &rC05.c3_ );
978 make_pt( 5.0841, -6.0018, 1.5172, &rC05.h3_ );
979 make_pt( 4.9062, -4.0452, 2.2042, &rC05.o3_ );
980 make_pt( 7.6298, -7.6136, 1.4752, &rC05.n1 );
981 make_pt( 8.5977, -9.5977, 0.7329, &rC05.n3 );
982 make_pt( 8.5951, -8.5745, 1.6594, &rC05.c2 );
983 make_pt( 7.7372, -9.7371, -0.3364, &rC05.c4 );
984 make_pt( 6.7596, -8.6801, -0.4476, &rC05.c5 );
985 make_pt( 6.7338, -7.6721, 0.4408, &rC05.c6 );
986 make_pt( 7.8849, -10.7881, -1.1289, &rC05._.C.n4 );
987 make_pt( 9.3993, -8.5377, 2.5743, &rC05._.C.o2 );
988 make_pt( 7.2499, -10.8809, -1.9088, &rC05._.C.h41 );
989 make_pt( 8.6122, -11.4649, -0.9468, &rC05._.C.h42 );
990 make_pt( 6.0317, -8.6941, -1.2588, &rC05._.C.h5 );
991 make_pt( 5.9901, -6.8809, 0.3459, &rC05._.C.h6 );
992
993 rC06.type = 'C';
994 make_tfo( -0.9837, 0.0476, -0.1733,
995 -0.1792, -0.3353, 0.9249,
996 -0.0141, 0.9409, 0.3384,
997 5.7793, -5.2303, 4.5997, &rC06.dgf_base_tfo );
998 make_tfo( -0.8313, -0.4738, -0.2906,
999 0.0649, 0.4366, -0.8973,
1000 0.5521, -0.7648, -0.3322,
1001 1.6833, 6.8060, -7.0011, &rC06.p_o3_275_tfo );
1002 make_tfo( 0.3445, -0.7630, 0.5470,
1003 -0.4628, -0.6450, -0.6082,
1004 0.8168, -0.0436, -0.5753,
1005 -6.8179, -3.9778, -5.9887, &rC06.p_o3_180_tfo );
1006 make_tfo( 0.5855, 0.7931, -0.1682,
1007 0.8103, -0.5790, 0.0906,
1008 -0.0255, -0.1894, -0.9816,
1009 6.1203, -7.1051, 3.1984, &rC06.p_o3_60_tfo );
1010 make_pt( 2.6760, -8.4960, 3.2880, &rC06.p );
1011 make_pt( 1.4950, -7.6230, 3.4770, &rC06.o1p );
1012 make_pt( 2.9490, -9.4640, 4.3740, &rC06.o2p );
1013 make_pt( 3.9730, -7.5950, 3.0340, &rC06.o5_ );
1014 make_pt( 3.9938, -6.7042, 1.9023, &rC06.c5_ );
1015 make_pt( 3.2332, -5.9343, 2.0319, &rC06.h5_ );
1016 make_pt( 3.9666, -7.2863, 0.9812, &rC06.h5__ );
1017 make_pt( 5.3098, -5.9546, 1.8564, &rC06.c4_ );
1018 make_pt( 5.3863, -5.3702, 0.9395, &rC06.h4_ );
1019 make_pt( 5.3851, -5.0642, 3.0076, &rC06.o4_ );
1020 make_pt( 6.7315, -4.9724, 3.4462, &rC06.c1_ );
1021 make_pt( 7.0033, -3.9202, 3.3619, &rC06.h1_ );
1022 make_pt( 7.5997, -5.8018, 2.4948, &rC06.c2_ );
1023 make_pt( 8.3627, -6.3254, 3.0707, &rC06.h2__ );
1024 make_pt( 8.0410, -4.9501, 1.4724, &rC06.o2_ );
1025 make_pt( 8.2781, -4.0644, 1.7570, &rC06.h2_ );
1026 make_pt( 6.5701, -6.8129, 1.9714, &rC06.c3_ );
1027 make_pt( 6.4186, -7.5809, 2.7299, &rC06.h3_ );
1028 make_pt( 6.9357, -7.3841, 0.7235, &rC06.o3_ );
1029 make_pt( 6.8024, -5.4718, 4.8475, &rC06.n1 );
1030 make_pt( 6.6920, -5.0495, 7.1354, &rC06.n3 );
1031 make_pt( 6.6201, -4.5500, 5.8506, &rC06.c2 );
1032 make_pt( 6.9254, -6.3614, 7.4926, &rC06.c4 );
1033 make_pt( 7.1046, -7.2543, 6.3718, &rC06.c5 );
1034 make_pt( 7.0391, -6.7951, 5.1106, &rC06.c6 );
1035 make_pt( 6.9614, -6.6648, 8.7815, &rC06._.C.n4 );
1036 make_pt( 6.4083, -3.3696, 5.6340, &rC06._.C.o2 );
1037 make_pt( 7.1329, -7.6280, 9.0324, &rC06._.C.h41 );
1038 make_pt( 6.8204, -5.9469, 9.4777, &rC06._.C.h42 );
1039 make_pt( 7.2954, -8.3135, 6.5440, &rC06._.C.h5 );
1040 make_pt( 7.1753, -7.4798, 4.2735, &rC06._.C.h6 );
1041
1042 rC07.type = 'C';
1043 make_tfo( 0.0033, 0.2720, -0.9623,
1044 0.3013, -0.9179, -0.2584,
1045 -0.9535, -0.2891, -0.0850,
1046 43.0403, 13.7233, 34.5710, &rC07.dgf_base_tfo );
1047 make_tfo( 0.9187, 0.2887, 0.2694,
1048 0.0302, -0.7316, 0.6811,
1049 0.3938, -0.6176, -0.6808,
1050 -48.4330, 26.3254, 13.6383, &rC07.p_o3_275_tfo );
1051 make_tfo( -0.1504, 0.7744, -0.6145,
1052 0.7581, 0.4893, 0.4311,
1053 0.6345, -0.4010, -0.6607,
1054 -31.9784, -13.4285, 44.9650, &rC07.p_o3_180_tfo );
1055 make_tfo( -0.6236, -0.7810, -0.0337,
1056 -0.6890, 0.5694, -0.4484,
1057 0.3694, -0.2564, -0.8932,
1058 12.1105, 30.8774, 46.0946, &rC07.p_o3_60_tfo );
1059 make_pt( 33.3400, 11.0980, 46.1750, &rC07.p );
1060 make_pt( 34.5130, 10.2320, 46.4660, &rC07.o1p );
1061 make_pt( 33.4130, 12.3960, 46.9340, &rC07.o2p );
1062 make_pt( 31.9810, 10.3390, 46.4820, &rC07.o5_ );
1063 make_pt( 30.8152, 11.1619, 46.2003, &rC07.c5_ );
1064 make_pt( 30.4519, 10.9454, 45.1957, &rC07.h5_ );
1065 make_pt( 31.0379, 12.2016, 46.4400, &rC07.h5__ );
1066 make_pt( 29.7081, 10.7448, 47.1428, &rC07.c4_ );
1067 make_pt( 28.8710, 11.4416, 47.0982, &rC07.h4_ );
1068 make_pt( 29.2550, 9.4394, 46.8162, &rC07.o4_ );
1069 make_pt( 29.3907, 8.5625, 47.9460, &rC07.c1_ );
1070 make_pt( 28.4416, 8.5669, 48.4819, &rC07.h1_ );
1071 make_pt( 30.4468, 9.2031, 48.7952, &rC07.c2_ );
1072 make_pt( 31.4222, 8.9651, 48.3709, &rC07.h2__ );
1073 make_pt( 30.3701, 8.9157, 50.1624, &rC07.o2_ );
1074 make_pt( 30.0652, 8.0304, 50.3740, &rC07.h2_ );
1075 make_pt( 30.1622, 10.6879, 48.6120, &rC07.c3_ );
1076 make_pt( 31.0952, 11.2399, 48.7254, &rC07.h3_ );
1077 make_pt( 29.1076, 11.1535, 49.4702, &rC07.o3_ );
1078 make_pt( 29.7883, 7.2209, 47.5235, &rC07.n1 );
1079 make_pt( 29.1825, 5.0438, 46.8275, &rC07.n3 );
1080 make_pt( 28.8008, 6.2912, 47.2263, &rC07.c2 );
1081 make_pt( 30.4888, 4.6890, 46.7186, &rC07.c4 );
1082 make_pt( 31.5034, 5.6405, 47.0249, &rC07.c5 );
1083 make_pt( 31.1091, 6.8691, 47.4156, &rC07.c6 );
1084 make_pt( 30.8109, 3.4584, 46.3336, &rC07._.C.n4 );
1085 make_pt( 27.6171, 6.5989, 47.3189, &rC07._.C.o2 );
1086 make_pt( 31.7923, 3.2301, 46.2638, &rC07._.C.h41 );
1087 make_pt( 30.0880, 2.7857, 46.1215, &rC07._.C.h42 );
1088 make_pt( 32.5542, 5.3634, 46.9395, &rC07._.C.h5 );
1089 make_pt( 31.8523, 7.6279, 47.6603, &rC07._.C.h6 );
1090
1091 rC08.type = 'C';
1092 make_tfo( 0.0797, -0.6026, -0.7941,
1093 0.7939, 0.5201, -0.3150,
1094 0.6028, -0.6054, 0.5198,
1095 -36.8341, 41.5293, 1.6628, &rC08.dgf_base_tfo );
1096 make_tfo( 0.9187, 0.2887, 0.2694,
1097 0.0302, -0.7316, 0.6811,
1098 0.3938, -0.6176, -0.6808,
1099 -48.4330, 26.3254, 13.6383, &rC08.p_o3_275_tfo );
1100 make_tfo( -0.1504, 0.7744, -0.6145,
1101 0.7581, 0.4893, 0.4311,
1102 0.6345, -0.4010, -0.6607,
1103 -31.9784, -13.4285, 44.9650, &rC08.p_o3_180_tfo );
1104 make_tfo( -0.6236, -0.7810, -0.0337,
1105 -0.6890, 0.5694, -0.4484,
1106 0.3694, -0.2564, -0.8932,
1107 12.1105, 30.8774, 46.0946, &rC08.p_o3_60_tfo );
1108 make_pt( 33.3400, 11.0980, 46.1750, &rC08.p );
1109 make_pt( 34.5130, 10.2320, 46.4660, &rC08.o1p );
1110 make_pt( 33.4130, 12.3960, 46.9340, &rC08.o2p );
1111 make_pt( 31.9810, 10.3390, 46.4820, &rC08.o5_ );
1112 make_pt( 31.8779, 9.9369, 47.8760, &rC08.c5_ );
1113 make_pt( 31.3239, 10.6931, 48.4322, &rC08.h5_ );
1114 make_pt( 32.8647, 9.6624, 48.2489, &rC08.h5__ );
1115 make_pt( 31.0429, 8.6773, 47.9401, &rC08.c4_ );
1116 make_pt( 31.0779, 8.2331, 48.9349, &rC08.h4_ );
1117 make_pt( 29.6956, 8.9669, 47.5983, &rC08.o4_ );
1118 make_pt( 29.2784, 8.1700, 46.4782, &rC08.c1_ );
1119 make_pt( 28.8006, 7.2731, 46.8722, &rC08.h1_ );
1120 make_pt( 30.5544, 7.7940, 45.7875, &rC08.c2_ );
1121 make_pt( 30.8837, 8.6410, 45.1856, &rC08.h2__ );
1122 make_pt( 30.5100, 6.6007, 45.0582, &rC08.o2_ );
1123 make_pt( 29.6694, 6.4168, 44.6326, &rC08.h2_ );
1124 make_pt( 31.5146, 7.5954, 46.9527, &rC08.c3_ );
1125 make_pt( 32.5255, 7.8261, 46.6166, &rC08.h3_ );
1126 make_pt( 31.3876, 6.2951, 47.5516, &rC08.o3_ );
1127 make_pt( 28.3976, 8.9302, 45.5933, &rC08.n1 );
1128 make_pt( 26.2155, 9.6135, 44.9910, &rC08.n3 );
1129 make_pt( 27.0281, 8.8961, 45.8192, &rC08.c2 );
1130 make_pt( 26.7044, 10.3489, 43.9595, &rC08.c4 );
1131 make_pt( 28.1088, 10.3837, 43.7247, &rC08.c5 );
1132 make_pt( 28.8978, 9.6708, 44.5535, &rC08.c6 );
1133 make_pt( 25.8715, 11.0249, 43.1749, &rC08._.C.n4 );
1134 make_pt( 26.5733, 8.2371, 46.7484, &rC08._.C.o2 );
1135 make_pt( 26.2707, 11.5609, 42.4177, &rC08._.C.h41 );
1136 make_pt( 24.8760, 10.9939, 43.3427, &rC08._.C.h42 );
1137 make_pt( 28.5089, 10.9722, 42.8990, &rC08._.C.h5 );
1138 make_pt( 29.9782, 9.6687, 44.4097, &rC08._.C.h6 );
1139
1140 rC09.type = 'C';
1141 make_tfo( 0.8727, 0.4760, -0.1091,
1142 -0.4188, 0.6148, -0.6682,
1143 -0.2510, 0.6289, 0.7359,
1144 -8.1687, -52.0761, -25.0726, &rC09.dgf_base_tfo );
1145 make_tfo( 0.9187, 0.2887, 0.2694,
1146 0.0302, -0.7316, 0.6811,
1147 0.3938, -0.6176, -0.6808,
1148 -48.4330, 26.3254, 13.6383, &rC09.p_o3_275_tfo );
1149 make_tfo( -0.1504, 0.7744, -0.6145,
1150 0.7581, 0.4893, 0.4311,
1151 0.6345, -0.4010, -0.6607,
1152 -31.9784, -13.4285, 44.9650, &rC09.p_o3_180_tfo );
1153 make_tfo( -0.6236, -0.7810, -0.0337,
1154 -0.6890, 0.5694, -0.4484,
1155 0.3694, -0.2564, -0.8932,
1156 12.1105, 30.8774, 46.0946, &rC09.p_o3_60_tfo );
1157 make_pt( 33.3400, 11.0980, 46.1750, &rC09.p );
1158 make_pt( 34.5130, 10.2320, 46.4660, &rC09.o1p );
1159 make_pt( 33.4130, 12.3960, 46.9340, &rC09.o2p );
1160 make_pt( 31.9810, 10.3390, 46.4820, &rC09.o5_ );
1161 make_pt( 30.8152, 11.1619, 46.2003, &rC09.c5_ );
1162 make_pt( 30.4519, 10.9454, 45.1957, &rC09.h5_ );
1163 make_pt( 31.0379, 12.2016, 46.4400, &rC09.h5__ );
1164 make_pt( 29.7081, 10.7448, 47.1428, &rC09.c4_ );
1165 make_pt( 29.4506, 9.6945, 47.0059, &rC09.h4_ );
1166 make_pt( 30.1045, 10.9634, 48.4885, &rC09.o4_ );
1167 make_pt( 29.1794, 11.8418, 49.1490, &rC09.c1_ );
1168 make_pt( 28.4388, 11.2210, 49.6533, &rC09.h1_ );
1169 make_pt( 28.5211, 12.6008, 48.0367, &rC09.c2_ );
1170 make_pt( 29.1947, 13.3949, 47.7147, &rC09.h2__ );
1171 make_pt( 27.2316, 13.0683, 48.3134, &rC09.o2_ );
1172 make_pt( 27.0851, 13.3391, 49.2227, &rC09.h2_ );
1173 make_pt( 28.4131, 11.5507, 46.9391, &rC09.c3_ );
1174 make_pt( 28.4451, 12.0512, 45.9713, &rC09.h3_ );
1175 make_pt( 27.2707, 10.6955, 47.1097, &rC09.o3_ );
1176 make_pt( 29.8751, 12.7405, 50.0682, &rC09.n1 );
1177 make_pt( 30.7172, 13.1841, 52.2328, &rC09.n3 );
1178 make_pt( 30.0617, 12.3404, 51.3847, &rC09.c2 );
1179 make_pt( 31.1834, 14.3941, 51.8297, &rC09.c4 );
1180 make_pt( 30.9913, 14.8074, 50.4803, &rC09.c5 );
1181 make_pt( 30.3434, 13.9610, 49.6548, &rC09.c6 );
1182 make_pt( 31.8090, 15.1847, 52.6957, &rC09._.C.n4 );
1183 make_pt( 29.6470, 11.2494, 51.7616, &rC09._.C.o2 );
1184 make_pt( 32.1422, 16.0774, 52.3606, &rC09._.C.h41 );
1185 make_pt( 31.9392, 14.8893, 53.6527, &rC09._.C.h42 );
1186 make_pt( 31.3632, 15.7771, 50.1491, &rC09._.C.h5 );
1187 make_pt( 30.1742, 14.2374, 48.6141, &rC09._.C.h6 );
1188
1189 rC10.type = 'C';
1190 make_tfo( 0.1549, 0.8710, -0.4663,
1191 0.6768, -0.4374, -0.5921,
1192 -0.7197, -0.2239, -0.6572,
1193 25.2447, -14.1920, 50.3201, &rC10.dgf_base_tfo );
1194 make_tfo( 0.9187, 0.2887, 0.2694,
1195 0.0302, -0.7316, 0.6811,
1196 0.3938, -0.6176, -0.6808,
1197 -48.4330, 26.3254, 13.6383, &rC10.p_o3_275_tfo );
1198 make_tfo( -0.1504, 0.7744, -0.6145,
1199 0.7581, 0.4893, 0.4311,
1200 0.6345, -0.4010, -0.6607,
1201 -31.9784, -13.4285, 44.9650, &rC10.p_o3_180_tfo );
1202 make_tfo( -0.6236, -0.7810, -0.0337,
1203 -0.6890, 0.5694, -0.4484,
1204 0.3694, -0.2564, -0.8932,
1205 12.1105, 30.8774, 46.0946, &rC10.p_o3_60_tfo );
1206 make_pt( 33.3400, 11.0980, 46.1750, &rC10.p );
1207 make_pt( 34.5130, 10.2320, 46.4660, &rC10.o1p );
1208 make_pt( 33.4130, 12.3960, 46.9340, &rC10.o2p );
1209 make_pt( 31.9810, 10.3390, 46.4820, &rC10.o5_ );
1210 make_pt( 31.8779, 9.9369, 47.8760, &rC10.c5_ );
1211 make_pt( 31.3239, 10.6931, 48.4322, &rC10.h5_ );
1212 make_pt( 32.8647, 9.6624, 48.2489, &rC10.h5__ );
1213 make_pt( 31.0429, 8.6773, 47.9401, &rC10.c4_ );
1214 make_pt( 30.0440, 8.8473, 47.5383, &rC10.h4_ );
1215 make_pt( 31.6749, 7.6351, 47.2119, &rC10.o4_ );
1216 make_pt( 31.9159, 6.5022, 48.0616, &rC10.c1_ );
1217 make_pt( 31.0691, 5.8243, 47.9544, &rC10.h1_ );
1218 make_pt( 31.9300, 7.0685, 49.4493, &rC10.c2_ );
1219 make_pt( 32.9024, 7.5288, 49.6245, &rC10.h2__ );
1220 make_pt( 31.5672, 6.1750, 50.4632, &rC10.o2_ );
1221 make_pt( 31.8416, 5.2663, 50.3200, &rC10.h2_ );
1222 make_pt( 30.8618, 8.1514, 49.3749, &rC10.c3_ );
1223 make_pt( 31.1122, 8.9396, 50.0850, &rC10.h3_ );
1224 make_pt( 29.5351, 7.6245, 49.5409, &rC10.o3_ );
1225 make_pt( 33.1890, 5.8629, 47.7343, &rC10.n1 );
1226 make_pt( 34.4004, 4.2636, 46.4828, &rC10.n3 );
1227 make_pt( 33.2062, 4.8497, 46.7851, &rC10.c2 );
1228 make_pt( 35.5600, 4.6374, 47.0822, &rC10.c4 );
1229 make_pt( 35.5444, 5.6751, 48.0577, &rC10.c5 );
1230 make_pt( 34.3565, 6.2450, 48.3432, &rC10.c6 );
1231 make_pt( 36.6977, 4.0305, 46.7598, &rC10._.C.n4 );
1232 make_pt( 32.1661, 4.5034, 46.2348, &rC10._.C.o2 );
1233 make_pt( 37.5405, 4.3347, 47.2259, &rC10._.C.h41 );
1234 make_pt( 36.7033, 3.2923, 46.0706, &rC10._.C.h42 );
1235 make_pt( 36.4713, 5.9811, 48.5428, &rC10._.C.h5 );
1236 make_pt( 34.2986, 7.0426, 49.0839, &rC10._.C.h6 );
1237
1238 rCs[0] = &rC10;
1239 rCs[1] = &rC09;
1240 rCs[2] = &rC08;
1241 rCs[3] = &rC07;
1242 rCs[4] = &rC06;
1243 rCs[5] = &rC05;
1244 rCs[6] = &rC04;
1245 rCs[7] = &rC03;
1246 rCs[8] = &rC02;
1247 rCs[9] = &rC01;
1248 rCs[10]= 0;
1249 }
1250
init_G()1251 void init_G()
1252 {
1253 rG.type = 'G';
1254 make_tfo( -0.0018, -0.8207, 0.5714,
1255 0.2679, -0.5509, -0.7904,
1256 0.9634, 0.1517, 0.2209,
1257 0.0073, 8.4030, 0.6232, &rG.dgf_base_tfo );
1258 make_tfo( -0.8143, -0.5091, -0.2788,
1259 -0.0433, -0.4257, 0.9038,
1260 -0.5788, 0.7480, 0.3246,
1261 1.5227, 6.9114, -7.0765, &rG.p_o3_275_tfo );
1262 make_tfo( 0.3822, -0.7477, 0.5430,
1263 0.4552, 0.6637, 0.5935,
1264 -0.8042, 0.0203, 0.5941,
1265 -6.9472, -4.1186, -5.9108, &rG.p_o3_180_tfo );
1266 make_tfo( 0.5640, 0.8007, -0.2022,
1267 -0.8247, 0.5587, -0.0878,
1268 0.0426, 0.2162, 0.9754,
1269 6.2694, -7.0540, 3.3316, &rG.p_o3_60_tfo );
1270 make_pt( 2.8930, 8.5380, -3.3280, &rG.p );
1271 make_pt( 1.6980, 7.6960, -3.5570, &rG.o1p );
1272 make_pt( 3.2260, 9.5010, -4.4020, &rG.o2p );
1273 make_pt( 4.1590, 7.6040, -3.0340, &rG.o5_ );
1274 make_pt( 5.4550, 8.2120, -2.8810, &rG.c5_ );
1275 make_pt( 5.4546, 8.8508, -1.9978, &rG.h5_ );
1276 make_pt( 5.7588, 8.6625, -3.8259, &rG.h5__ );
1277 make_pt( 6.4970, 7.1480, -2.5980, &rG.c4_ );
1278 make_pt( 7.4896, 7.5919, -2.5214, &rG.h4_ );
1279 make_pt( 6.1630, 6.4860, -1.3440, &rG.o4_ );
1280 make_pt( 6.5400, 5.1200, -1.4190, &rG.c1_ );
1281 make_pt( 7.2763, 4.9681, -0.6297, &rG.h1_ );
1282 make_pt( 7.1940, 4.8830, -2.7770, &rG.c2_ );
1283 make_pt( 6.8667, 3.9183, -3.1647, &rG.h2__ );
1284 make_pt( 8.5860, 5.0910, -2.6140, &rG.o2_ );
1285 make_pt( 8.9510, 4.7626, -1.7890, &rG.h2_ );
1286 make_pt( 6.5720, 6.0040, -3.6090, &rG.c3_ );
1287 make_pt( 5.5636, 5.7066, -3.8966, &rG.h3_ );
1288 make_pt( 7.3801, 6.3562, -4.7350, &rG.o3_ );
1289 make_pt( 4.7150, 0.4910, -0.1360, &rG.n1 );
1290 make_pt( 6.3490, 2.1730, -0.6020, &rG.n3 );
1291 make_pt( 5.9530, 0.9650, -0.2670, &rG.c2 );
1292 make_pt( 5.2900, 2.9790, -0.8260, &rG.c4 );
1293 make_pt( 3.9720, 2.6390, -0.7330, &rG.c5 );
1294 make_pt( 3.6770, 1.3160, -0.3660, &rG.c6 );
1295 make_pt( 6.8426, 0.0056, -0.0019, &rG._.G.n2 );
1296 make_pt( 3.1660, 3.7290, -1.0360, &rG._.G.n7 );
1297 make_pt( 5.3170, 4.2990, -1.1930, &rG._.G.n9 );
1298 make_pt( 4.0100, 4.6780, -1.2990, &rG._.G.c8 );
1299 make_pt( 2.4280, 0.8450, -0.2360, &rG._.G.o6 );
1300 make_pt( 4.6151, -0.4677, 0.1305, &rG._.G.h1 );
1301 make_pt( 6.6463, -0.9463, 0.2729, &rG._.G.h21 );
1302 make_pt( 7.8170, 0.2642, -0.0640, &rG._.G.h22 );
1303 make_pt( 3.4421, 5.5744, -1.5482, &rG._.G.h8 );
1304
1305 rG01.type = 'G';
1306 make_tfo( -0.0043, -0.8175, 0.5759,
1307 0.2617, -0.5567, -0.7884,
1308 0.9651, 0.1473, 0.2164,
1309 0.0359, 8.3929, 0.5532, &rG01.dgf_base_tfo );
1310 make_tfo( -0.8143, -0.5091, -0.2788,
1311 -0.0433, -0.4257, 0.9038,
1312 -0.5788, 0.7480, 0.3246,
1313 1.5227, 6.9114, -7.0765, &rG01.p_o3_275_tfo );
1314 make_tfo( 0.3822, -0.7477, 0.5430,
1315 0.4552, 0.6637, 0.5935,
1316 -0.8042, 0.0203, 0.5941,
1317 -6.9472, -4.1186, -5.9108, &rG01.p_o3_180_tfo );
1318 make_tfo( 0.5640, 0.8007, -0.2022,
1319 -0.8247, 0.5587, -0.0878,
1320 0.0426, 0.2162, 0.9754,
1321 6.2694, -7.0540, 3.3316, &rG01.p_o3_60_tfo );
1322 make_pt( 2.8930, 8.5380, -3.3280, &rG01.p );
1323 make_pt( 1.6980, 7.6960, -3.5570, &rG01.o1p );
1324 make_pt( 3.2260, 9.5010, -4.4020, &rG01.o2p );
1325 make_pt( 4.1590, 7.6040, -3.0340, &rG01.o5_ );
1326 make_pt( 5.4352, 8.2183, -2.7757, &rG01.c5_ );
1327 make_pt( 5.3830, 8.7883, -1.8481, &rG01.h5_ );
1328 make_pt( 5.7729, 8.7436, -3.6691, &rG01.h5__ );
1329 make_pt( 6.4830, 7.1518, -2.5252, &rG01.c4_ );
1330 make_pt( 7.4749, 7.5972, -2.4482, &rG01.h4_ );
1331 make_pt( 6.1626, 6.4620, -1.2827, &rG01.o4_ );
1332 make_pt( 6.5431, 5.0992, -1.3905, &rG01.c1_ );
1333 make_pt( 7.2871, 4.9328, -0.6114, &rG01.h1_ );
1334 make_pt( 7.1852, 4.8935, -2.7592, &rG01.c2_ );
1335 make_pt( 6.8573, 3.9363, -3.1645, &rG01.h2__ );
1336 make_pt( 8.5780, 5.1025, -2.6046, &rG01.o2_ );
1337 make_pt( 8.9516, 4.7577, -1.7902, &rG01.h2_ );
1338 make_pt( 6.5522, 6.0300, -3.5612, &rG01.c3_ );
1339 make_pt( 5.5420, 5.7356, -3.8459, &rG01.h3_ );
1340 make_pt( 7.3487, 6.4089, -4.6867, &rG01.o3_ );
1341 make_pt( 4.7442, 0.4514, -0.1390, &rG01.n1 );
1342 make_pt( 6.3687, 2.1459, -0.5926, &rG01.n3 );
1343 make_pt( 5.9795, 0.9335, -0.2657, &rG01.c2 );
1344 make_pt( 5.3052, 2.9471, -0.8125, &rG01.c4 );
1345 make_pt( 3.9891, 2.5987, -0.7230, &rG01.c5 );
1346 make_pt( 3.7016, 1.2717, -0.3647, &rG01.c6 );
1347 make_pt( 6.8745, -0.0224, -0.0058, &rG01._.G.n2 );
1348 make_pt( 3.1770, 3.6859, -1.0198, &rG01._.G.n7 );
1349 make_pt( 5.3247, 4.2695, -1.1710, &rG01._.G.n9 );
1350 make_pt( 4.0156, 4.6415, -1.2759, &rG01._.G.c8 );
1351 make_pt( 2.4553, 0.7925, -0.2390, &rG01._.G.o6 );
1352 make_pt( 4.6497, -0.5095, 0.1212, &rG01._.G.h1 );
1353 make_pt( 6.6836, -0.9771, 0.2627, &rG01._.G.h21 );
1354 make_pt( 7.8474, 0.2424, -0.0653, &rG01._.G.h22 );
1355 make_pt( 3.4426, 5.5361, -1.5199, &rG01._.G.h8 );
1356
1357 rG02.type = 'G';
1358 make_tfo( 0.5566, 0.0449, 0.8296,
1359 0.5125, 0.7673, -0.3854,
1360 -0.6538, 0.6397, 0.4041,
1361 -9.1161, -3.7679, -2.9968, &rG02.dgf_base_tfo );
1362 make_tfo( -0.8143, -0.5091, -0.2788,
1363 -0.0433, -0.4257, 0.9038,
1364 -0.5788, 0.7480, 0.3246,
1365 1.5227, 6.9114, -7.0765, &rG02.p_o3_275_tfo );
1366 make_tfo( 0.3822, -0.7477, 0.5430,
1367 0.4552, 0.6637, 0.5935,
1368 -0.8042, 0.0203, 0.5941,
1369 -6.9472, -4.1186, -5.9108, &rG02.p_o3_180_tfo );
1370 make_tfo( 0.5640, 0.8007, -0.2022,
1371 -0.8247, 0.5587, -0.0878,
1372 0.0426, 0.2162, 0.9754,
1373 6.2694, -7.0540, 3.3316, &rG02.p_o3_60_tfo );
1374 make_pt( 2.8930, 8.5380, -3.3280, &rG02.p );
1375 make_pt( 1.6980, 7.6960, -3.5570, &rG02.o1p );
1376 make_pt( 3.2260, 9.5010, -4.4020, &rG02.o2p );
1377 make_pt( 4.1590, 7.6040, -3.0340, &rG02.o5_ );
1378 make_pt( 4.5778, 6.6594, -4.0364, &rG02.c5_ );
1379 make_pt( 4.9220, 7.1963, -4.9204, &rG02.h5_ );
1380 make_pt( 3.7996, 5.9091, -4.1764, &rG02.h5__ );
1381 make_pt( 5.7873, 5.8869, -3.5482, &rG02.c4_ );
1382 make_pt( 6.0405, 5.0875, -4.2446, &rG02.h4_ );
1383 make_pt( 6.9135, 6.8036, -3.4310, &rG02.o4_ );
1384 make_pt( 7.7293, 6.4084, -2.3392, &rG02.c1_ );
1385 make_pt( 8.7078, 6.1815, -2.7624, &rG02.h1_ );
1386 make_pt( 7.1305, 5.1418, -1.7347, &rG02.c2_ );
1387 make_pt( 7.2040, 5.1982, -0.6486, &rG02.h2__ );
1388 make_pt( 7.7417, 4.0392, -2.3813, &rG02.o2_ );
1389 make_pt( 8.6785, 4.1443, -2.5630, &rG02.h2_ );
1390 make_pt( 5.6666, 5.2728, -2.1536, &rG02.c3_ );
1391 make_pt( 5.1747, 5.9805, -1.4863, &rG02.h3_ );
1392 make_pt( 4.9997, 4.0086, -2.1973, &rG02.o3_ );
1393 make_pt( 10.3245, 8.5459, 1.5467, &rG02.n1 );
1394 make_pt( 9.8051, 6.9432, -0.1497, &rG02.n3 );
1395 make_pt( 10.5175, 7.4328, 0.8408, &rG02.c2 );
1396 make_pt( 8.7523, 7.7422, -0.4228, &rG02.c4 );
1397 make_pt( 8.4257, 8.9060, 0.2099, &rG02.c5 );
1398 make_pt( 9.2665, 9.3242, 1.2540, &rG02.c6 );
1399 make_pt( 11.6077, 6.7966, 1.2752, &rG02._.G.n2 );
1400 make_pt( 7.2750, 9.4537, -0.3428, &rG02._.G.n7 );
1401 make_pt( 7.7962, 7.5519, -1.3859, &rG02._.G.n9 );
1402 make_pt( 6.9479, 8.6157, -1.2771, &rG02._.G.c8 );
1403 make_pt( 9.0664, 10.4462, 1.9610, &rG02._.G.o6 );
1404 make_pt( 10.9838, 8.7524, 2.2697, &rG02._.G.h1 );
1405 make_pt( 12.2274, 7.0896, 2.0170, &rG02._.G.h21 );
1406 make_pt( 11.8502, 5.9398, 0.7984, &rG02._.G.h22 );
1407 make_pt( 6.0430, 8.9853, -1.7594, &rG02._.G.h8 );
1408
1409 rG03.type = 'G';
1410 make_tfo( -0.5021, 0.0731, 0.8617,
1411 -0.8112, 0.3054, -0.4986,
1412 -0.2996, -0.9494, -0.0940,
1413 6.4273, -5.1944, -3.7807, &rG03.dgf_base_tfo );
1414 make_tfo( -0.8143, -0.5091, -0.2788,
1415 -0.0433, -0.4257, 0.9038,
1416 -0.5788, 0.7480, 0.3246,
1417 1.5227, 6.9114, -7.0765, &rG03.p_o3_275_tfo );
1418 make_tfo( 0.3822, -0.7477, 0.5430,
1419 0.4552, 0.6637, 0.5935,
1420 -0.8042, 0.0203, 0.5941,
1421 -6.9472, -4.1186, -5.9108, &rG03.p_o3_180_tfo );
1422 make_tfo( 0.5640, 0.8007, -0.2022,
1423 -0.8247, 0.5587, -0.0878,
1424 0.0426, 0.2162, 0.9754,
1425 6.2694, -7.0540, 3.3316, &rG03.p_o3_60_tfo );
1426 make_pt( 2.8930, 8.5380, -3.3280, &rG03.p );
1427 make_pt( 1.6980, 7.6960, -3.5570, &rG03.o1p );
1428 make_pt( 3.2260, 9.5010, -4.4020, &rG03.o2p );
1429 make_pt( 4.1590, 7.6040, -3.0340, &rG03.o5_ );
1430 make_pt( 4.1214, 6.7116, -1.9049, &rG03.c5_ );
1431 make_pt( 3.3465, 5.9610, -2.0607, &rG03.h5_ );
1432 make_pt( 4.0789, 7.2928, -0.9837, &rG03.h5__ );
1433 make_pt( 5.4170, 5.9293, -1.8186, &rG03.c4_ );
1434 make_pt( 5.4506, 5.3400, -0.9023, &rG03.h4_ );
1435 make_pt( 5.5067, 5.0417, -2.9703, &rG03.o4_ );
1436 make_pt( 6.8650, 4.9152, -3.3612, &rG03.c1_ );
1437 make_pt( 7.1090, 3.8577, -3.2603, &rG03.h1_ );
1438 make_pt( 7.7152, 5.7282, -2.3894, &rG03.c2_ );
1439 make_pt( 8.5029, 6.2356, -2.9463, &rG03.h2__ );
1440 make_pt( 8.1036, 4.8568, -1.3419, &rG03.o2_ );
1441 make_pt( 8.3270, 3.9651, -1.6184, &rG03.h2_ );
1442 make_pt( 6.7003, 6.7565, -1.8911, &rG03.c3_ );
1443 make_pt( 6.5898, 7.5329, -2.6482, &rG03.h3_ );
1444 make_pt( 7.0505, 7.2878, -0.6105, &rG03.o3_ );
1445 make_pt( 9.6740, 4.7656, -7.6614, &rG03.n1 );
1446 make_pt( 9.0739, 4.3013, -5.3941, &rG03.n3 );
1447 make_pt( 9.8416, 4.2192, -6.4581, &rG03.c2 );
1448 make_pt( 7.9885, 5.0632, -5.6446, &rG03.c4 );
1449 make_pt( 7.6822, 5.6856, -6.8194, &rG03.c5 );
1450 make_pt( 8.5831, 5.5215, -7.8840, &rG03.c6 );
1451 make_pt( 10.9733, 3.5117, -6.4286, &rG03._.G.n2 );
1452 make_pt( 6.4857, 6.3816, -6.7035, &rG03._.G.n7 );
1453 make_pt( 6.9740, 5.3703, -4.7760, &rG03._.G.n9 );
1454 make_pt( 6.1133, 6.1613, -5.4808, &rG03._.G.c8 );
1455 make_pt( 8.4084, 6.0747, -9.0933, &rG03._.G.o6 );
1456 make_pt( 10.3759, 4.5855, -8.3504, &rG03._.G.h1 );
1457 make_pt( 11.6254, 3.3761, -7.1879, &rG03._.G.h21 );
1458 make_pt( 11.1917, 3.0460, -5.5593, &rG03._.G.h22 );
1459 make_pt( 5.1705, 6.6830, -5.3167, &rG03._.G.h8 );
1460
1461 rG04.type = 'G';
1462 make_tfo( -0.5426, -0.8175, 0.1929,
1463 0.8304, -0.5567, -0.0237,
1464 0.1267, 0.1473, 0.9809,
1465 -0.5075, 8.3929, 0.2229, &rG04.dgf_base_tfo );
1466 make_tfo( -0.8143, -0.5091, -0.2788,
1467 -0.0433, -0.4257, 0.9038,
1468 -0.5788, 0.7480, 0.3246,
1469 1.5227, 6.9114, -7.0765, &rG04.p_o3_275_tfo );
1470 make_tfo( 0.3822, -0.7477, 0.5430,
1471 0.4552, 0.6637, 0.5935,
1472 -0.8042, 0.0203, 0.5941,
1473 -6.9472, -4.1186, -5.9108, &rG04.p_o3_180_tfo );
1474 make_tfo( 0.5640, 0.8007, -0.2022,
1475 -0.8247, 0.5587, -0.0878,
1476 0.0426, 0.2162, 0.9754,
1477 6.2694, -7.0540, 3.3316, &rG04.p_o3_60_tfo );
1478 make_pt( 2.8930, 8.5380, -3.3280, &rG04.p );
1479 make_pt( 1.6980, 7.6960, -3.5570, &rG04.o1p );
1480 make_pt( 3.2260, 9.5010, -4.4020, &rG04.o2p );
1481 make_pt( 4.1590, 7.6040, -3.0340, &rG04.o5_ );
1482 make_pt( 5.4352, 8.2183, -2.7757, &rG04.c5_ );
1483 make_pt( 5.3830, 8.7883, -1.8481, &rG04.h5_ );
1484 make_pt( 5.7729, 8.7436, -3.6691, &rG04.h5__ );
1485 make_pt( 6.4830, 7.1518, -2.5252, &rG04.c4_ );
1486 make_pt( 7.4749, 7.5972, -2.4482, &rG04.h4_ );
1487 make_pt( 6.1626, 6.4620, -1.2827, &rG04.o4_ );
1488 make_pt( 6.5431, 5.0992, -1.3905, &rG04.c1_ );
1489 make_pt( 7.2871, 4.9328, -0.6114, &rG04.h1_ );
1490 make_pt( 7.1852, 4.8935, -2.7592, &rG04.c2_ );
1491 make_pt( 6.8573, 3.9363, -3.1645, &rG04.h2__ );
1492 make_pt( 8.5780, 5.1025, -2.6046, &rG04.o2_ );
1493 make_pt( 8.9516, 4.7577, -1.7902, &rG04.h2_ );
1494 make_pt( 6.5522, 6.0300, -3.5612, &rG04.c3_ );
1495 make_pt( 5.5420, 5.7356, -3.8459, &rG04.h3_ );
1496 make_pt( 7.3487, 6.4089, -4.6867, &rG04.o3_ );
1497 make_pt( 3.6343, 2.6680, 2.0783, &rG04.n1 );
1498 make_pt( 5.4505, 3.9805, 1.2446, &rG04.n3 );
1499 make_pt( 4.7540, 3.3816, 2.1851, &rG04.c2 );
1500 make_pt( 4.8805, 3.7951, 0.0354, &rG04.c4 );
1501 make_pt( 3.7416, 3.0925, -0.2305, &rG04.c5 );
1502 make_pt( 3.0873, 2.4980, 0.8606, &rG04.c6 );
1503 make_pt( 5.1433, 3.4373, 3.4609, &rG04._.G.n2 );
1504 make_pt( 3.4605, 3.1184, -1.5906, &rG04._.G.n7 );
1505 make_pt( 5.3247, 4.2695, -1.1710, &rG04._.G.n9 );
1506 make_pt( 4.4244, 3.8244, -2.0953, &rG04._.G.c8 );
1507 make_pt( 1.9600, 1.7805, 0.7462, &rG04._.G.o6 );
1508 make_pt( 3.2489, 2.2879, 2.9191, &rG04._.G.h1 );
1509 make_pt( 4.6785, 3.0243, 4.2568, &rG04._.G.h21 );
1510 make_pt( 5.9823, 3.9654, 3.6539, &rG04._.G.h22 );
1511 make_pt( 4.2675, 3.8876, -3.1721, &rG04._.G.h8 );
1512
1513 rG05.type = 'G';
1514 make_tfo( -0.5891, 0.0449, 0.8068,
1515 0.5375, 0.7673, 0.3498,
1516 -0.6034, 0.6397, -0.4762,
1517 -0.3019, -3.7679, -9.5913, &rG05.dgf_base_tfo );
1518 make_tfo( -0.8143, -0.5091, -0.2788,
1519 -0.0433, -0.4257, 0.9038,
1520 -0.5788, 0.7480, 0.3246,
1521 1.5227, 6.9114, -7.0765, &rG05.p_o3_275_tfo );
1522 make_tfo( 0.3822, -0.7477, 0.5430,
1523 0.4552, 0.6637, 0.5935,
1524 -0.8042, 0.0203, 0.5941,
1525 -6.9472, -4.1186, -5.9108, &rG05.p_o3_180_tfo );
1526 make_tfo( 0.5640, 0.8007, -0.2022,
1527 -0.8247, 0.5587, -0.0878,
1528 0.0426, 0.2162, 0.9754,
1529 6.2694, -7.0540, 3.3316, &rG05.p_o3_60_tfo );
1530 make_pt( 2.8930, 8.5380, -3.3280, &rG05.p );
1531 make_pt( 1.6980, 7.6960, -3.5570, &rG05.o1p );
1532 make_pt( 3.2260, 9.5010, -4.4020, &rG05.o2p );
1533 make_pt( 4.1590, 7.6040, -3.0340, &rG05.o5_ );
1534 make_pt( 4.5778, 6.6594, -4.0364, &rG05.c5_ );
1535 make_pt( 4.9220, 7.1963, -4.9204, &rG05.h5_ );
1536 make_pt( 3.7996, 5.9091, -4.1764, &rG05.h5__ );
1537 make_pt( 5.7873, 5.8869, -3.5482, &rG05.c4_ );
1538 make_pt( 6.0405, 5.0875, -4.2446, &rG05.h4_ );
1539 make_pt( 6.9135, 6.8036, -3.4310, &rG05.o4_ );
1540 make_pt( 7.7293, 6.4084, -2.3392, &rG05.c1_ );
1541 make_pt( 8.7078, 6.1815, -2.7624, &rG05.h1_ );
1542 make_pt( 7.1305, 5.1418, -1.7347, &rG05.c2_ );
1543 make_pt( 7.2040, 5.1982, -0.6486, &rG05.h2__ );
1544 make_pt( 7.7417, 4.0392, -2.3813, &rG05.o2_ );
1545 make_pt( 8.6785, 4.1443, -2.5630, &rG05.h2_ );
1546 make_pt( 5.6666, 5.2728, -2.1536, &rG05.c3_ );
1547 make_pt( 5.1747, 5.9805, -1.4863, &rG05.h3_ );
1548 make_pt( 4.9997, 4.0086, -2.1973, &rG05.o3_ );
1549 make_pt( 10.2594, 10.6774, -1.0056, &rG05.n1 );
1550 make_pt( 9.7528, 8.7080, -2.2631, &rG05.n3 );
1551 make_pt( 10.4471, 9.7876, -1.9791, &rG05.c2 );
1552 make_pt( 8.7271, 8.5575, -1.3991, &rG05.c4 );
1553 make_pt( 8.4100, 9.3803, -0.3580, &rG05.c5 );
1554 make_pt( 9.2294, 10.5030, -0.1574, &rG05.c6 );
1555 make_pt( 11.5110, 10.1256, -2.7114, &rG05._.G.n2 );
1556 make_pt( 7.2891, 8.9068, 0.3121, &rG05._.G.n7 );
1557 make_pt( 7.7962, 7.5519, -1.3859, &rG05._.G.n9 );
1558 make_pt( 6.9702, 7.8292, -0.3353, &rG05._.G.c8 );
1559 make_pt( 9.0349, 11.3951, 0.8250, &rG05._.G.o6 );
1560 make_pt( 10.9013, 11.4422, -0.9512, &rG05._.G.h1 );
1561 make_pt( 12.1031, 10.9341, -2.5861, &rG05._.G.h21 );
1562 make_pt( 11.7369, 9.5180, -3.4859, &rG05._.G.h22 );
1563 make_pt( 6.0888, 7.3990, 0.1403, &rG05._.G.h8 );
1564
1565 rG06.type = 'G';
1566 make_tfo( -0.9815, 0.0731, -0.1772,
1567 0.1912, 0.3054, -0.9328,
1568 -0.0141, -0.9494, -0.3137,
1569 5.7506, -5.1944, 4.7470, &rG06.dgf_base_tfo );
1570 make_tfo( -0.8143, -0.5091, -0.2788,
1571 -0.0433, -0.4257, 0.9038,
1572 -0.5788, 0.7480, 0.3246,
1573 1.5227, 6.9114, -7.0765, &rG06.p_o3_275_tfo );
1574 make_tfo( 0.3822, -0.7477, 0.5430,
1575 0.4552, 0.6637, 0.5935,
1576 -0.8042, 0.0203, 0.5941,
1577 -6.9472, -4.1186, -5.9108, &rG06.p_o3_180_tfo );
1578 make_tfo( 0.5640, 0.8007, -0.2022,
1579 -0.8247, 0.5587, -0.0878,
1580 0.0426, 0.2162, 0.9754,
1581 6.2694, -7.0540, 3.3316, &rG06.p_o3_60_tfo );
1582 make_pt( 2.8930, 8.5380, -3.3280, &rG06.p );
1583 make_pt( 1.6980, 7.6960, -3.5570, &rG06.o1p );
1584 make_pt( 3.2260, 9.5010, -4.4020, &rG06.o2p );
1585 make_pt( 4.1590, 7.6040, -3.0340, &rG06.o5_ );
1586 make_pt( 4.1214, 6.7116, -1.9049, &rG06.c5_ );
1587 make_pt( 3.3465, 5.9610, -2.0607, &rG06.h5_ );
1588 make_pt( 4.0789, 7.2928, -0.9837, &rG06.h5__ );
1589 make_pt( 5.4170, 5.9293, -1.8186, &rG06.c4_ );
1590 make_pt( 5.4506, 5.3400, -0.9023, &rG06.h4_ );
1591 make_pt( 5.5067, 5.0417, -2.9703, &rG06.o4_ );
1592 make_pt( 6.8650, 4.9152, -3.3612, &rG06.c1_ );
1593 make_pt( 7.1090, 3.8577, -3.2603, &rG06.h1_ );
1594 make_pt( 7.7152, 5.7282, -2.3894, &rG06.c2_ );
1595 make_pt( 8.5029, 6.2356, -2.9463, &rG06.h2__ );
1596 make_pt( 8.1036, 4.8568, -1.3419, &rG06.o2_ );
1597 make_pt( 8.3270, 3.9651, -1.6184, &rG06.h2_ );
1598 make_pt( 6.7003, 6.7565, -1.8911, &rG06.c3_ );
1599 make_pt( 6.5898, 7.5329, -2.6482, &rG06.h3_ );
1600 make_pt( 7.0505, 7.2878, -0.6105, &rG06.o3_ );
1601 make_pt( 6.6624, 3.5061, -8.2986, &rG06.n1 );
1602 make_pt( 6.5810, 3.2570, -5.9221, &rG06.n3 );
1603 make_pt( 6.5151, 2.8263, -7.1625, &rG06.c2 );
1604 make_pt( 6.8364, 4.5817, -5.8882, &rG06.c4 );
1605 make_pt( 7.0116, 5.4064, -6.9609, &rG06.c5 );
1606 make_pt( 6.9173, 4.8260, -8.2361, &rG06.c6 );
1607 make_pt( 6.2717, 1.5402, -7.4250, &rG06._.G.n2 );
1608 make_pt( 7.2573, 6.7070, -6.5394, &rG06._.G.n7 );
1609 make_pt( 6.9740, 5.3703, -4.7760, &rG06._.G.n9 );
1610 make_pt( 7.2238, 6.6275, -5.2453, &rG06._.G.c8 );
1611 make_pt( 7.0668, 5.5163, -9.3763, &rG06._.G.o6 );
1612 make_pt( 6.5754, 2.9964, -9.1545, &rG06._.G.h1 );
1613 make_pt( 6.1908, 1.1105, -8.3354, &rG06._.G.h21 );
1614 make_pt( 6.1346, 0.9352, -6.6280, &rG06._.G.h22 );
1615 make_pt( 7.4108, 7.6227, -4.8418, &rG06._.G.h8 );
1616
1617 rG07.type = 'G';
1618 make_tfo( 0.0894, -0.6059, 0.7905,
1619 -0.6810, 0.5420, 0.4924,
1620 -0.7268, -0.5824, -0.3642,
1621 34.1424, 45.9610, -11.8600, &rG07.dgf_base_tfo );
1622 make_tfo( -0.8644, -0.4956, -0.0851,
1623 -0.0427, 0.2409, -0.9696,
1624 0.5010, -0.8345, -0.2294,
1625 4.0167, 54.5377, 12.4779, &rG07.p_o3_275_tfo );
1626 make_tfo( 0.3706, -0.6167, 0.6945,
1627 -0.2867, -0.7872, -0.5460,
1628 0.8834, 0.0032, -0.4686,
1629 -52.9020, 18.6313, -0.6709, &rG07.p_o3_180_tfo );
1630 make_tfo( 0.4155, 0.9025, -0.1137,
1631 0.9040, -0.4236, -0.0582,
1632 -0.1007, -0.0786, -0.9918,
1633 -7.6624, -25.2080, 49.5181, &rG07.p_o3_60_tfo );
1634 make_pt( 31.3810, 0.1400, 47.5810, &rG07.p );
1635 make_pt( 29.9860, 0.6630, 47.6290, &rG07.o1p );
1636 make_pt( 31.7210, -0.6460, 48.8090, &rG07.o2p );
1637 make_pt( 32.4940, 1.2540, 47.2740, &rG07.o5_ );
1638 make_pt( 33.8709, 0.7918, 47.2113, &rG07.c5_ );
1639 make_pt( 34.1386, 0.5870, 46.1747, &rG07.h5_ );
1640 make_pt( 34.0186, -0.0095, 47.9353, &rG07.h5__ );
1641 make_pt( 34.7297, 1.9687, 47.6685, &rG07.c4_ );
1642 make_pt( 35.7723, 1.6845, 47.8113, &rG07.h4_ );
1643 make_pt( 34.6455, 2.9768, 46.6660, &rG07.o4_ );
1644 make_pt( 34.1690, 4.1829, 47.2627, &rG07.c1_ );
1645 make_pt( 35.0437, 4.7633, 47.5560, &rG07.h1_ );
1646 make_pt( 33.4145, 3.7532, 48.4954, &rG07.c2_ );
1647 make_pt( 32.4340, 3.3797, 48.2001, &rG07.h2__ );
1648 make_pt( 33.3209, 4.6953, 49.5217, &rG07.o2_ );
1649 make_pt( 33.2374, 5.6059, 49.2295, &rG07.h2_ );
1650 make_pt( 34.2724, 2.5970, 48.9773, &rG07.c3_ );
1651 make_pt( 33.6373, 1.8935, 49.5157, &rG07.h3_ );
1652 make_pt( 35.3453, 3.1884, 49.7285, &rG07.o3_ );
1653 make_pt( 34.0511, 7.8930, 43.7791, &rG07.n1 );
1654 make_pt( 34.9937, 6.3369, 45.3199, &rG07.n3 );
1655 make_pt( 35.0882, 7.3126, 44.4200, &rG07.c2 );
1656 make_pt( 33.7190, 5.9650, 45.5374, &rG07.c4 );
1657 make_pt( 32.5845, 6.4770, 44.9458, &rG07.c5 );
1658 make_pt( 32.7430, 7.5179, 43.9914, &rG07.c6 );
1659 make_pt( 36.3030, 7.7827, 44.1036, &rG07._.G.n2 );
1660 make_pt( 31.4499, 5.8335, 45.4368, &rG07._.G.n7 );
1661 make_pt( 33.2760, 4.9817, 46.4043, &rG07._.G.n9 );
1662 make_pt( 31.9235, 4.9639, 46.2934, &rG07._.G.c8 );
1663 make_pt( 31.8602, 8.1000, 43.3695, &rG07._.G.o6 );
1664 make_pt( 34.2623, 8.6223, 43.1283, &rG07._.G.h1 );
1665 make_pt( 36.5188, 8.5081, 43.4347, &rG07._.G.h21 );
1666 make_pt( 37.0888, 7.3524, 44.5699, &rG07._.G.h22 );
1667 make_pt( 31.0815, 4.4201, 46.7218, &rG07._.G.h8 );
1668
1669 rG08.type = 'G';
1670 make_tfo( 0.2224, 0.6335, 0.7411,
1671 -0.3644, -0.6510, 0.6659,
1672 0.9043, -0.4181, 0.0861,
1673 -47.6824, -0.5823, -31.7554, &rG08.dgf_base_tfo );
1674 make_tfo( -0.8644, -0.4956, -0.0851,
1675 -0.0427, 0.2409, -0.9696,
1676 0.5010, -0.8345, -0.2294,
1677 4.0167, 54.5377, 12.4779, &rG08.p_o3_275_tfo );
1678 make_tfo( 0.3706, -0.6167, 0.6945,
1679 -0.2867, -0.7872, -0.5460,
1680 0.8834, 0.0032, -0.4686,
1681 -52.9020, 18.6313, -0.6709, &rG08.p_o3_180_tfo );
1682 make_tfo( 0.4155, 0.9025, -0.1137,
1683 0.9040, -0.4236, -0.0582,
1684 -0.1007, -0.0786, -0.9918,
1685 -7.6624, -25.2080, 49.5181, &rG08.p_o3_60_tfo );
1686 make_pt( 31.3810, 0.1400, 47.5810, &rG08.p );
1687 make_pt( 29.9860, 0.6630, 47.6290, &rG08.o1p );
1688 make_pt( 31.7210, -0.6460, 48.8090, &rG08.o2p );
1689 make_pt( 32.4940, 1.2540, 47.2740, &rG08.o5_ );
1690 make_pt( 32.5924, 2.3488, 48.2255, &rG08.c5_ );
1691 make_pt( 33.3674, 2.1246, 48.9584, &rG08.h5_ );
1692 make_pt( 31.5994, 2.5917, 48.6037, &rG08.h5__ );
1693 make_pt( 33.0722, 3.5577, 47.4258, &rG08.c4_ );
1694 make_pt( 33.0310, 4.4778, 48.0089, &rG08.h4_ );
1695 make_pt( 34.4173, 3.3055, 47.0316, &rG08.o4_ );
1696 make_pt( 34.5056, 3.3910, 45.6094, &rG08.c1_ );
1697 make_pt( 34.7881, 4.4152, 45.3663, &rG08.h1_ );
1698 make_pt( 33.1122, 3.1198, 45.1010, &rG08.c2_ );
1699 make_pt( 32.9230, 2.0469, 45.1369, &rG08.h2__ );
1700 make_pt( 32.7946, 3.6590, 43.8529, &rG08.o2_ );
1701 make_pt( 33.5170, 3.6707, 43.2207, &rG08.h2_ );
1702 make_pt( 32.2730, 3.8173, 46.1566, &rG08.c3_ );
1703 make_pt( 31.3094, 3.3123, 46.2244, &rG08.h3_ );
1704 make_pt( 32.2391, 5.2039, 45.7807, &rG08.o3_ );
1705 make_pt( 39.3337, 2.7157, 44.1441, &rG08.n1 );
1706 make_pt( 37.4430, 3.8242, 45.0824, &rG08.n3 );
1707 make_pt( 38.7276, 3.7646, 44.7403, &rG08.c2 );
1708 make_pt( 36.7791, 2.6963, 44.7704, &rG08.c4 );
1709 make_pt( 37.2860, 1.5653, 44.1678, &rG08.c5 );
1710 make_pt( 38.6647, 1.5552, 43.8235, &rG08.c6 );
1711 make_pt( 39.5123, 4.8216, 44.9936, &rG08._.G.n2 );
1712 make_pt( 36.2829, 0.6110, 44.0078, &rG08._.G.n7 );
1713 make_pt( 35.4394, 2.4314, 44.9931, &rG08._.G.n9 );
1714 make_pt( 35.2180, 1.1815, 44.5128, &rG08._.G.c8 );
1715 make_pt( 39.2907, 0.6514, 43.2796, &rG08._.G.o6 );
1716 make_pt( 40.3076, 2.8048, 43.9352, &rG08._.G.h1 );
1717 make_pt( 40.4994, 4.9066, 44.7977, &rG08._.G.h21 );
1718 make_pt( 39.0738, 5.6108, 45.4464, &rG08._.G.h22 );
1719 make_pt( 34.3856, 0.4842, 44.4185, &rG08._.G.h8 );
1720
1721 rG09.type = 'G';
1722 make_tfo( -0.9699, -0.1688, -0.1753,
1723 -0.1050, -0.3598, 0.9271,
1724 -0.2196, 0.9176, 0.3312,
1725 45.6217, -38.9484, -12.3208, &rG09.dgf_base_tfo );
1726 make_tfo( -0.8644, -0.4956, -0.0851,
1727 -0.0427, 0.2409, -0.9696,
1728 0.5010, -0.8345, -0.2294,
1729 4.0167, 54.5377, 12.4779, &rG09.p_o3_275_tfo );
1730 make_tfo( 0.3706, -0.6167, 0.6945,
1731 -0.2867, -0.7872, -0.5460,
1732 0.8834, 0.0032, -0.4686,
1733 -52.9020, 18.6313, -0.6709, &rG09.p_o3_180_tfo );
1734 make_tfo( 0.4155, 0.9025, -0.1137,
1735 0.9040, -0.4236, -0.0582,
1736 -0.1007, -0.0786, -0.9918,
1737 -7.6624, -25.2080, 49.5181, &rG09.p_o3_60_tfo );
1738 make_pt( 31.3810, 0.1400, 47.5810, &rG09.p );
1739 make_pt( 29.9860, 0.6630, 47.6290, &rG09.o1p );
1740 make_pt( 31.7210, -0.6460, 48.8090, &rG09.o2p );
1741 make_pt( 32.4940, 1.2540, 47.2740, &rG09.o5_ );
1742 make_pt( 33.8709, 0.7918, 47.2113, &rG09.c5_ );
1743 make_pt( 34.1386, 0.5870, 46.1747, &rG09.h5_ );
1744 make_pt( 34.0186, -0.0095, 47.9353, &rG09.h5__ );
1745 make_pt( 34.7297, 1.9687, 47.6685, &rG09.c4_ );
1746 make_pt( 34.5880, 2.8482, 47.0404, &rG09.h4_ );
1747 make_pt( 34.3575, 2.2770, 49.0081, &rG09.o4_ );
1748 make_pt( 35.5157, 2.1993, 49.8389, &rG09.c1_ );
1749 make_pt( 35.9424, 3.2010, 49.8893, &rG09.h1_ );
1750 make_pt( 36.4701, 1.2820, 49.1169, &rG09.c2_ );
1751 make_pt( 36.1545, 0.2498, 49.2683, &rG09.h2__ );
1752 make_pt( 37.8262, 1.4547, 49.4008, &rG09.o2_ );
1753 make_pt( 38.0227, 1.6945, 50.3094, &rG09.h2_ );
1754 make_pt( 36.2242, 1.6797, 47.6725, &rG09.c3_ );
1755 make_pt( 36.4297, 0.8197, 47.0351, &rG09.h3_ );
1756 make_pt( 37.0289, 2.8480, 47.4426, &rG09.o3_ );
1757 make_pt( 34.3005, 3.5042, 54.6070, &rG09.n1 );
1758 make_pt( 34.7693, 3.7936, 52.2874, &rG09.n3 );
1759 make_pt( 34.4484, 4.2541, 53.4939, &rG09.c2 );
1760 make_pt( 34.9354, 2.4584, 52.2785, &rG09.c4 );
1761 make_pt( 34.8092, 1.5915, 53.3422, &rG09.c5 );
1762 make_pt( 34.4646, 2.1367, 54.6085, &rG09.c6 );
1763 make_pt( 34.2514, 5.5708, 53.6503, &rG09._.G.n2 );
1764 make_pt( 35.0641, 0.2835, 52.9337, &rG09._.G.n7 );
1765 make_pt( 35.2669, 1.6690, 51.1915, &rG09._.G.n9 );
1766 make_pt( 35.3288, 0.3954, 51.6563, &rG09._.G.c8 );
1767 make_pt( 34.3151, 1.5317, 55.6650, &rG09._.G.o6 );
1768 make_pt( 34.0623, 3.9797, 55.4539, &rG09._.G.h1 );
1769 make_pt( 33.9950, 6.0502, 54.5016, &rG09._.G.h21 );
1770 make_pt( 34.3512, 6.1432, 52.8242, &rG09._.G.h22 );
1771 make_pt( 35.5414, -0.6006, 51.2679, &rG09._.G.h8 );
1772
1773 rG10.type = 'G';
1774 make_tfo( -0.0980, -0.9723, 0.2122,
1775 -0.9731, 0.1383, 0.1841,
1776 -0.2083, -0.1885, -0.9597,
1777 17.8469, 38.8265, 37.0475, &rG10.dgf_base_tfo );
1778 make_tfo( -0.8644, -0.4956, -0.0851,
1779 -0.0427, 0.2409, -0.9696,
1780 0.5010, -0.8345, -0.2294,
1781 4.0167, 54.5377, 12.4779, &rG10.p_o3_275_tfo );
1782 make_tfo( 0.3706, -0.6167, 0.6945,
1783 -0.2867, -0.7872, -0.5460,
1784 0.8834, 0.0032, -0.4686,
1785 -52.9020, 18.6313, -0.6709, &rG10.p_o3_180_tfo );
1786 make_tfo( 0.4155, 0.9025, -0.1137,
1787 0.9040, -0.4236, -0.0582,
1788 -0.1007, -0.0786, -0.9918,
1789 -7.6624, -25.2080, 49.5181, &rG10.p_o3_60_tfo );
1790 make_pt( 31.3810, 0.1400, 47.5810, &rG10.p );
1791 make_pt( 29.9860, 0.6630, 47.6290, &rG10.o1p );
1792 make_pt( 31.7210, -0.6460, 48.8090, &rG10.o2p );
1793 make_pt( 32.4940, 1.2540, 47.2740, &rG10.o5_ );
1794 make_pt( 32.5924, 2.3488, 48.2255, &rG10.c5_ );
1795 make_pt( 33.3674, 2.1246, 48.9584, &rG10.h5_ );
1796 make_pt( 31.5994, 2.5917, 48.6037, &rG10.h5__ );
1797 make_pt( 33.0722, 3.5577, 47.4258, &rG10.c4_ );
1798 make_pt( 34.0333, 3.3761, 46.9447, &rG10.h4_ );
1799 make_pt( 32.0890, 3.8338, 46.4332, &rG10.o4_ );
1800 make_pt( 31.6377, 5.1787, 46.5914, &rG10.c1_ );
1801 make_pt( 32.2499, 5.8016, 45.9392, &rG10.h1_ );
1802 make_pt( 31.9167, 5.5319, 48.0305, &rG10.c2_ );
1803 make_pt( 31.1507, 5.0820, 48.6621, &rG10.h2__ );
1804 make_pt( 32.0865, 6.8890, 48.3114, &rG10.o2_ );
1805 make_pt( 31.5363, 7.4819, 47.7942, &rG10.h2_ );
1806 make_pt( 33.2398, 4.8224, 48.2563, &rG10.c3_ );
1807 make_pt( 33.3166, 4.5570, 49.3108, &rG10.h3_ );
1808 make_pt( 34.2528, 5.7056, 47.7476, &rG10.o3_ );
1809 make_pt( 28.2782, 6.3049, 42.9364, &rG10.n1 );
1810 make_pt( 30.4001, 5.8547, 43.9258, &rG10.n3 );
1811 make_pt( 29.6195, 6.1568, 42.8913, &rG10.c2 );
1812 make_pt( 29.7005, 5.7006, 45.0649, &rG10.c4 );
1813 make_pt( 28.3383, 5.8221, 45.2343, &rG10.c5 );
1814 make_pt( 27.5519, 6.1461, 44.0958, &rG10.c6 );
1815 make_pt( 30.1838, 6.3385, 41.6890, &rG10._.G.n2 );
1816 make_pt( 27.9936, 5.5926, 46.5651, &rG10._.G.n7 );
1817 make_pt( 30.2046, 5.3825, 46.3136, &rG10._.G.n9 );
1818 make_pt( 29.1371, 5.3398, 47.1506, &rG10._.G.c8 );
1819 make_pt( 26.3361, 6.3024, 44.0495, &rG10._.G.o6 );
1820 make_pt( 27.8122, 6.5394, 42.0833, &rG10._.G.h1 );
1821 make_pt( 29.7125, 6.5595, 40.8235, &rG10._.G.h21 );
1822 make_pt( 31.1859, 6.2231, 41.6389, &rG10._.G.h22 );
1823 make_pt( 28.9406, 5.1504, 48.2059, &rG10._.G.h8 );
1824
1825 rGs[0] = &rG10;
1826 rGs[1] = &rG09;
1827 rGs[2] = &rG08;
1828 rGs[3] = &rG07;
1829 rGs[4] = &rG06;
1830 rGs[5] = &rG05;
1831 rGs[6] = &rG04;
1832 rGs[7] = &rG03;
1833 rGs[8] = &rG02;
1834 rGs[9] = &rG01;
1835 rGs[10]= 0;
1836 }
1837
init_U()1838 void init_U()
1839 {
1840 rU.type = 'U';
1841 make_tfo( -0.0359, -0.8071, 0.5894,
1842 -0.2669, 0.5761, 0.7726,
1843 -0.9631, -0.1296, -0.2361,
1844 0.1584, 8.3434, 0.5434, &rU.dgf_base_tfo );
1845 make_tfo( -0.8313, -0.4738, -0.2906,
1846 0.0649, 0.4366, -0.8973,
1847 0.5521, -0.7648, -0.3322,
1848 1.6833, 6.8060, -7.0011, &rU.p_o3_275_tfo );
1849 make_tfo( 0.3445, -0.7630, 0.5470,
1850 -0.4628, -0.6450, -0.6082,
1851 0.8168, -0.0436, -0.5753,
1852 -6.8179, -3.9778, -5.9887, &rU.p_o3_180_tfo );
1853 make_tfo( 0.5855, 0.7931, -0.1682,
1854 0.8103, -0.5790, 0.0906,
1855 -0.0255, -0.1894, -0.9816,
1856 6.1203, -7.1051, 3.1984, &rU.p_o3_60_tfo );
1857 make_pt( 2.6760, -8.4960, 3.2880, &rU.p );
1858 make_pt( 1.4950, -7.6230, 3.4770, &rU.o1p );
1859 make_pt( 2.9490, -9.4640, 4.3740, &rU.o2p );
1860 make_pt( 3.9730, -7.5950, 3.0340, &rU.o5_ );
1861 make_pt( 5.2430, -8.2420, 2.8260, &rU.c5_ );
1862 make_pt( 5.1974, -8.8497, 1.9223, &rU.h5_ );
1863 make_pt( 5.5548, -8.7348, 3.7469, &rU.h5__ );
1864 make_pt( 6.3140, -7.2060, 2.5510, &rU.c4_ );
1865 make_pt( 7.2954, -7.6762, 2.4898, &rU.h4_ );
1866 make_pt( 6.0140, -6.5420, 1.2890, &rU.o4_ );
1867 make_pt( 6.4190, -5.1840, 1.3620, &rU.c1_ );
1868 make_pt( 7.1608, -5.0495, 0.5747, &rU.h1_ );
1869 make_pt( 7.0760, -4.9560, 2.7270, &rU.c2_ );
1870 make_pt( 6.7770, -3.9803, 3.1099, &rU.h2__ );
1871 make_pt( 8.4500, -5.1930, 2.5810, &rU.o2_ );
1872 make_pt( 8.8309, -4.8755, 1.7590, &rU.h2_ );
1873 make_pt( 6.4060, -6.0590, 3.5580, &rU.c3_ );
1874 make_pt( 5.4021, -5.7313, 3.8281, &rU.h3_ );
1875 make_pt( 7.1570, -6.4240, 4.7070, &rU.o3_ );
1876 make_pt( 5.2170, -4.3260, 1.1690, &rU.n1 );
1877 make_pt( 4.2960, -2.2560, 0.6290, &rU.n3 );
1878 make_pt( 5.4330, -3.0200, 0.7990, &rU.c2 );
1879 make_pt( 2.9930, -2.6780, 0.7940, &rU.c4 );
1880 make_pt( 2.8670, -4.0630, 1.1830, &rU.c5 );
1881 make_pt( 3.9570, -4.8300, 1.3550, &rU.c6 );
1882 make_pt( 6.5470, -2.5560, 0.6290, &rU._.U.o2 );
1883 make_pt( 2.0540, -1.9000, 0.6130, &rU._.U.o4 );
1884 make_pt( 4.4300, -1.3020, 0.3600, &rU._.U.h3 );
1885 make_pt( 1.9590, -4.4570, 1.3250, &rU._.U.h5 );
1886 make_pt( 3.8460, -5.7860, 1.6240, &rU._.U.h6 );
1887
1888 rU01.type = 'U';
1889 make_tfo( -0.0137, -0.8012, 0.5983,
1890 -0.2523, 0.5817, 0.7733,
1891 -0.9675, -0.1404, -0.2101,
1892 0.2031, 8.3874, 0.4228, &rU01.dgf_base_tfo );
1893 make_tfo( -0.8313, -0.4738, -0.2906,
1894 0.0649, 0.4366, -0.8973,
1895 0.5521, -0.7648, -0.3322,
1896 1.6833, 6.8060, -7.0011, &rU01.p_o3_275_tfo );
1897 make_tfo( 0.3445, -0.7630, 0.5470,
1898 -0.4628, -0.6450, -0.6082,
1899 0.8168, -0.0436, -0.5753,
1900 -6.8179, -3.9778, -5.9887, &rU01.p_o3_180_tfo );
1901 make_tfo( 0.5855, 0.7931, -0.1682,
1902 0.8103, -0.5790, 0.0906,
1903 -0.0255, -0.1894, -0.9816,
1904 6.1203, -7.1051, 3.1984, &rU01.p_o3_60_tfo );
1905 make_pt( 2.6760, -8.4960, 3.2880, &rU01.p );
1906 make_pt( 1.4950, -7.6230, 3.4770, &rU01.o1p );
1907 make_pt( 2.9490, -9.4640, 4.3740, &rU01.o2p );
1908 make_pt( 3.9730, -7.5950, 3.0340, &rU01.o5_ );
1909 make_pt( 5.2416, -8.2422, 2.8181, &rU01.c5_ );
1910 make_pt( 5.2050, -8.8128, 1.8901, &rU01.h5_ );
1911 make_pt( 5.5368, -8.7738, 3.7227, &rU01.h5__ );
1912 make_pt( 6.3232, -7.2037, 2.6002, &rU01.c4_ );
1913 make_pt( 7.3048, -7.6757, 2.5577, &rU01.h4_ );
1914 make_pt( 6.0635, -6.5092, 1.3456, &rU01.o4_ );
1915 make_pt( 6.4697, -5.1547, 1.4629, &rU01.c1_ );
1916 make_pt( 7.2354, -5.0043, 0.7018, &rU01.h1_ );
1917 make_pt( 7.0856, -4.9610, 2.8521, &rU01.c2_ );
1918 make_pt( 6.7777, -3.9935, 3.2487, &rU01.h2__ );
1919 make_pt( 8.4627, -5.1992, 2.7423, &rU01.o2_ );
1920 make_pt( 8.8693, -4.8638, 1.9399, &rU01.h2_ );
1921 make_pt( 6.3877, -6.0809, 3.6362, &rU01.c3_ );
1922 make_pt( 5.3770, -5.7562, 3.8834, &rU01.h3_ );
1923 make_pt( 7.1024, -6.4754, 4.7985, &rU01.o3_ );
1924 make_pt( 5.2764, -4.2883, 1.2538, &rU01.n1 );
1925 make_pt( 4.3777, -2.2062, 0.7229, &rU01.n3 );
1926 make_pt( 5.5069, -2.9779, 0.9088, &rU01.c2 );
1927 make_pt( 3.0693, -2.6246, 0.8500, &rU01.c4 );
1928 make_pt( 2.9279, -4.0146, 1.2149, &rU01.c5 );
1929 make_pt( 4.0101, -4.7892, 1.4017, &rU01.c6 );
1930 make_pt( 6.6267, -2.5166, 0.7728, &rU01._.U.o2 );
1931 make_pt( 2.1383, -1.8396, 0.6581, &rU01._.U.o4 );
1932 make_pt( 4.5223, -1.2489, 0.4716, &rU01._.U.h3 );
1933 make_pt( 2.0151, -4.4065, 1.3290, &rU01._.U.h5 );
1934 make_pt( 3.8886, -5.7486, 1.6535, &rU01._.U.h6 );
1935
1936 rU02.type = 'U';
1937 make_tfo( 0.5141, 0.0246, 0.8574,
1938 -0.5547, -0.7529, 0.3542,
1939 0.6542, -0.6577, -0.3734,
1940 -9.1111, -3.4598, -3.2939, &rU02.dgf_base_tfo );
1941 make_tfo( -0.8313, -0.4738, -0.2906,
1942 0.0649, 0.4366, -0.8973,
1943 0.5521, -0.7648, -0.3322,
1944 1.6833, 6.8060, -7.0011, &rU02.p_o3_275_tfo );
1945 make_tfo( 0.3445, -0.7630, 0.5470,
1946 -0.4628, -0.6450, -0.6082,
1947 0.8168, -0.0436, -0.5753,
1948 -6.8179, -3.9778, -5.9887, &rU02.p_o3_180_tfo );
1949 make_tfo( 0.5855, 0.7931, -0.1682,
1950 0.8103, -0.5790, 0.0906,
1951 -0.0255, -0.1894, -0.9816,
1952 6.1203, -7.1051, 3.1984, &rU02.p_o3_60_tfo );
1953 make_pt( 2.6760, -8.4960, 3.2880, &rU02.p );
1954 make_pt( 1.4950, -7.6230, 3.4770, &rU02.o1p );
1955 make_pt( 2.9490, -9.4640, 4.3740, &rU02.o2p );
1956 make_pt( 3.9730, -7.5950, 3.0340, &rU02.o5_ );
1957 make_pt( 4.3825, -6.6585, 4.0489, &rU02.c5_ );
1958 make_pt( 4.6841, -7.2019, 4.9443, &rU02.h5_ );
1959 make_pt( 3.6189, -5.8889, 4.1625, &rU02.h5__ );
1960 make_pt( 5.6255, -5.9175, 3.5998, &rU02.c4_ );
1961 make_pt( 5.8732, -5.1228, 4.3034, &rU02.h4_ );
1962 make_pt( 6.7337, -6.8605, 3.5222, &rU02.o4_ );
1963 make_pt( 7.5932, -6.4923, 2.4548, &rU02.c1_ );
1964 make_pt( 8.5661, -6.2983, 2.9064, &rU02.h1_ );
1965 make_pt( 7.0527, -5.2012, 1.8322, &rU02.c2_ );
1966 make_pt( 7.1627, -5.2525, 0.7490, &rU02.h2__ );
1967 make_pt( 7.6666, -4.1249, 2.4880, &rU02.o2_ );
1968 make_pt( 8.5944, -4.2543, 2.6981, &rU02.h2_ );
1969 make_pt( 5.5661, -5.3029, 2.2009, &rU02.c3_ );
1970 make_pt( 5.0841, -6.0018, 1.5172, &rU02.h3_ );
1971 make_pt( 4.9062, -4.0452, 2.2042, &rU02.o3_ );
1972 make_pt( 7.6298, -7.6136, 1.4752, &rU02.n1 );
1973 make_pt( 8.6945, -8.7046, -0.2857, &rU02.n3 );
1974 make_pt( 8.6943, -7.6514, 0.6066, &rU02.c2 );
1975 make_pt( 7.7426, -9.6987, -0.3801, &rU02.c4 );
1976 make_pt( 6.6642, -9.5742, 0.5722, &rU02.c5 );
1977 make_pt( 6.6391, -8.5592, 1.4526, &rU02.c6 );
1978 make_pt( 9.5840, -6.8186, 0.6136, &rU02._.U.o2 );
1979 make_pt( 7.8505, -10.5925, -1.2223, &rU02._.U.o4 );
1980 make_pt( 9.4601, -8.7514, -0.9277, &rU02._.U.h3 );
1981 make_pt( 5.9281, -10.2509, 0.5782, &rU02._.U.h5 );
1982 make_pt( 5.8831, -8.4931, 2.1028, &rU02._.U.h6 );
1983
1984 rU03.type = 'U';
1985 make_tfo( -0.4993, 0.0476, 0.8651,
1986 0.8078, -0.3353, 0.4847,
1987 0.3132, 0.9409, 0.1290,
1988 6.2989, -5.2303, -3.8577, &rU03.dgf_base_tfo );
1989 make_tfo( -0.8313, -0.4738, -0.2906,
1990 0.0649, 0.4366, -0.8973,
1991 0.5521, -0.7648, -0.3322,
1992 1.6833, 6.8060, -7.0011, &rU03.p_o3_275_tfo );
1993 make_tfo( 0.3445, -0.7630, 0.5470,
1994 -0.4628, -0.6450, -0.6082,
1995 0.8168, -0.0436, -0.5753,
1996 -6.8179, -3.9778, -5.9887, &rU03.p_o3_180_tfo );
1997 make_tfo( 0.5855, 0.7931, -0.1682,
1998 0.8103, -0.5790, 0.0906,
1999 -0.0255, -0.1894, -0.9816,
2000 6.1203, -7.1051, 3.1984, &rU03.p_o3_60_tfo );
2001 make_pt( 2.6760, -8.4960, 3.2880, &rU03.p );
2002 make_pt( 1.4950, -7.6230, 3.4770, &rU03.o1p );
2003 make_pt( 2.9490, -9.4640, 4.3740, &rU03.o2p );
2004 make_pt( 3.9730, -7.5950, 3.0340, &rU03.o5_ );
2005 make_pt( 3.9938, -6.7042, 1.9023, &rU03.c5_ );
2006 make_pt( 3.2332, -5.9343, 2.0319, &rU03.h5_ );
2007 make_pt( 3.9666, -7.2863, 0.9812, &rU03.h5__ );
2008 make_pt( 5.3098, -5.9546, 1.8564, &rU03.c4_ );
2009 make_pt( 5.3863, -5.3702, 0.9395, &rU03.h4_ );
2010 make_pt( 5.3851, -5.0642, 3.0076, &rU03.o4_ );
2011 make_pt( 6.7315, -4.9724, 3.4462, &rU03.c1_ );
2012 make_pt( 7.0033, -3.9202, 3.3619, &rU03.h1_ );
2013 make_pt( 7.5997, -5.8018, 2.4948, &rU03.c2_ );
2014 make_pt( 8.3627, -6.3254, 3.0707, &rU03.h2__ );
2015 make_pt( 8.0410, -4.9501, 1.4724, &rU03.o2_ );
2016 make_pt( 8.2781, -4.0644, 1.7570, &rU03.h2_ );
2017 make_pt( 6.5701, -6.8129, 1.9714, &rU03.c3_ );
2018 make_pt( 6.4186, -7.5809, 2.7299, &rU03.h3_ );
2019 make_pt( 6.9357, -7.3841, 0.7235, &rU03.o3_ );
2020 make_pt( 6.8024, -5.4718, 4.8475, &rU03.n1 );
2021 make_pt( 7.9218, -5.5700, 6.8877, &rU03.n3 );
2022 make_pt( 7.8908, -5.0886, 5.5944, &rU03.c2 );
2023 make_pt( 6.9789, -6.3827, 7.4823, &rU03.c4 );
2024 make_pt( 5.8742, -6.7319, 6.6202, &rU03.c5 );
2025 make_pt( 5.8182, -6.2769, 5.3570, &rU03.c6 );
2026 make_pt( 8.7747, -4.3728, 5.1568, &rU03._.U.o2 );
2027 make_pt( 7.1154, -6.7509, 8.6509, &rU03._.U.o4 );
2028 make_pt( 8.7055, -5.3037, 7.4491, &rU03._.U.h3 );
2029 make_pt( 5.1416, -7.3178, 6.9665, &rU03._.U.h5 );
2030 make_pt( 5.0441, -6.5310, 4.7784, &rU03._.U.h6 );
2031
2032 rU04.type = 'U';
2033 make_tfo( -0.5669, -0.8012, 0.1918,
2034 -0.8129, 0.5817, 0.0273,
2035 -0.1334, -0.1404, -0.9811,
2036 -0.3279, 8.3874, 0.3355, &rU04.dgf_base_tfo );
2037 make_tfo( -0.8313, -0.4738, -0.2906,
2038 0.0649, 0.4366, -0.8973,
2039 0.5521, -0.7648, -0.3322,
2040 1.6833, 6.8060, -7.0011, &rU04.p_o3_275_tfo );
2041 make_tfo( 0.3445, -0.7630, 0.5470,
2042 -0.4628, -0.6450, -0.6082,
2043 0.8168, -0.0436, -0.5753,
2044 -6.8179, -3.9778, -5.9887, &rU04.p_o3_180_tfo );
2045 make_tfo( 0.5855, 0.7931, -0.1682,
2046 0.8103, -0.5790, 0.0906,
2047 -0.0255, -0.1894, -0.9816,
2048 6.1203, -7.1051, 3.1984, &rU04.p_o3_60_tfo );
2049 make_pt( 2.6760, -8.4960, 3.2880, &rU04.p );
2050 make_pt( 1.4950, -7.6230, 3.4770, &rU04.o1p );
2051 make_pt( 2.9490, -9.4640, 4.3740, &rU04.o2p );
2052 make_pt( 3.9730, -7.5950, 3.0340, &rU04.o5_ );
2053 make_pt( 5.2416, -8.2422, 2.8181, &rU04.c5_ );
2054 make_pt( 5.2050, -8.8128, 1.8901, &rU04.h5_ );
2055 make_pt( 5.5368, -8.7738, 3.7227, &rU04.h5__ );
2056 make_pt( 6.3232, -7.2037, 2.6002, &rU04.c4_ );
2057 make_pt( 7.3048, -7.6757, 2.5577, &rU04.h4_ );
2058 make_pt( 6.0635, -6.5092, 1.3456, &rU04.o4_ );
2059 make_pt( 6.4697, -5.1547, 1.4629, &rU04.c1_ );
2060 make_pt( 7.2354, -5.0043, 0.7018, &rU04.h1_ );
2061 make_pt( 7.0856, -4.9610, 2.8521, &rU04.c2_ );
2062 make_pt( 6.7777, -3.9935, 3.2487, &rU04.h2__ );
2063 make_pt( 8.4627, -5.1992, 2.7423, &rU04.o2_ );
2064 make_pt( 8.8693, -4.8638, 1.9399, &rU04.h2_ );
2065 make_pt( 6.3877, -6.0809, 3.6362, &rU04.c3_ );
2066 make_pt( 5.3770, -5.7562, 3.8834, &rU04.h3_ );
2067 make_pt( 7.1024, -6.4754, 4.7985, &rU04.o3_ );
2068 make_pt( 5.2764, -4.2883, 1.2538, &rU04.n1 );
2069 make_pt( 3.8961, -3.0896, -0.1893, &rU04.n3 );
2070 make_pt( 5.0095, -3.8907, -0.0346, &rU04.c2 );
2071 make_pt( 3.0480, -2.6632, 0.8116, &rU04.c4 );
2072 make_pt( 3.4093, -3.1310, 2.1292, &rU04.c5 );
2073 make_pt( 4.4878, -3.9124, 2.3088, &rU04.c6 );
2074 make_pt( 5.7005, -4.2164, -0.9842, &rU04._.U.o2 );
2075 make_pt( 2.0800, -1.9458, 0.5503, &rU04._.U.o4 );
2076 make_pt( 3.6834, -2.7882, -1.1190, &rU04._.U.h3 );
2077 make_pt( 2.8508, -2.8721, 2.9172, &rU04._.U.h5 );
2078 make_pt( 4.7188, -4.2247, 3.2295, &rU04._.U.h6 );
2079
2080 rU05.type = 'U';
2081 make_tfo( -0.6298, 0.0246, 0.7763,
2082 -0.5226, -0.7529, -0.4001,
2083 0.5746, -0.6577, 0.4870,
2084 -0.0208, -3.4598, -9.6882, &rU05.dgf_base_tfo );
2085 make_tfo( -0.8313, -0.4738, -0.2906,
2086 0.0649, 0.4366, -0.8973,
2087 0.5521, -0.7648, -0.3322,
2088 1.6833, 6.8060, -7.0011, &rU05.p_o3_275_tfo );
2089 make_tfo( 0.3445, -0.7630, 0.5470,
2090 -0.4628, -0.6450, -0.6082,
2091 0.8168, -0.0436, -0.5753,
2092 -6.8179, -3.9778, -5.9887, &rU05.p_o3_180_tfo );
2093 make_tfo( 0.5855, 0.7931, -0.1682,
2094 0.8103, -0.5790, 0.0906,
2095 -0.0255, -0.1894, -0.9816,
2096 6.1203, -7.1051, 3.1984, &rU05.p_o3_60_tfo );
2097 make_pt( 2.6760, -8.4960, 3.2880, &rU05.p );
2098 make_pt( 1.4950, -7.6230, 3.4770, &rU05.o1p );
2099 make_pt( 2.9490, -9.4640, 4.3740, &rU05.o2p );
2100 make_pt( 3.9730, -7.5950, 3.0340, &rU05.o5_ );
2101 make_pt( 4.3825, -6.6585, 4.0489, &rU05.c5_ );
2102 make_pt( 4.6841, -7.2019, 4.9443, &rU05.h5_ );
2103 make_pt( 3.6189, -5.8889, 4.1625, &rU05.h5__ );
2104 make_pt( 5.6255, -5.9175, 3.5998, &rU05.c4_ );
2105 make_pt( 5.8732, -5.1228, 4.3034, &rU05.h4_ );
2106 make_pt( 6.7337, -6.8605, 3.5222, &rU05.o4_ );
2107 make_pt( 7.5932, -6.4923, 2.4548, &rU05.c1_ );
2108 make_pt( 8.5661, -6.2983, 2.9064, &rU05.h1_ );
2109 make_pt( 7.0527, -5.2012, 1.8322, &rU05.c2_ );
2110 make_pt( 7.1627, -5.2525, 0.7490, &rU05.h2__ );
2111 make_pt( 7.6666, -4.1249, 2.4880, &rU05.o2_ );
2112 make_pt( 8.5944, -4.2543, 2.6981, &rU05.h2_ );
2113 make_pt( 5.5661, -5.3029, 2.2009, &rU05.c3_ );
2114 make_pt( 5.0841, -6.0018, 1.5172, &rU05.h3_ );
2115 make_pt( 4.9062, -4.0452, 2.2042, &rU05.o3_ );
2116 make_pt( 7.6298, -7.6136, 1.4752, &rU05.n1 );
2117 make_pt( 8.5977, -9.5977, 0.7329, &rU05.n3 );
2118 make_pt( 8.5951, -8.5745, 1.6594, &rU05.c2 );
2119 make_pt( 7.7372, -9.7371, -0.3364, &rU05.c4 );
2120 make_pt( 6.7596, -8.6801, -0.4476, &rU05.c5 );
2121 make_pt( 6.7338, -7.6721, 0.4408, &rU05.c6 );
2122 make_pt( 9.3993, -8.5377, 2.5743, &rU05._.U.o2 );
2123 make_pt( 7.8374, -10.6990, -1.1008, &rU05._.U.o4 );
2124 make_pt( 9.2924, -10.3081, 0.8477, &rU05._.U.h3 );
2125 make_pt( 6.0932, -8.6982, -1.1929, &rU05._.U.h5 );
2126 make_pt( 6.0481, -6.9515, 0.3446, &rU05._.U.h6 );
2127
2128 rU06.type = 'U';
2129 make_tfo( -0.9837, 0.0476, -0.1733,
2130 -0.1792, -0.3353, 0.9249,
2131 -0.0141, 0.9409, 0.3384,
2132 5.7793, -5.2303, 4.5997, &rU06.dgf_base_tfo );
2133 make_tfo( -0.8313, -0.4738, -0.2906,
2134 0.0649, 0.4366, -0.8973,
2135 0.5521, -0.7648, -0.3322,
2136 1.6833, 6.8060, -7.0011, &rU06.p_o3_275_tfo );
2137 make_tfo( 0.3445, -0.7630, 0.5470,
2138 -0.4628, -0.6450, -0.6082,
2139 0.8168, -0.0436, -0.5753,
2140 -6.8179, -3.9778, -5.9887, &rU06.p_o3_180_tfo );
2141 make_tfo( 0.5855, 0.7931, -0.1682,
2142 0.8103, -0.5790, 0.0906,
2143 -0.0255, -0.1894, -0.9816,
2144 6.1203, -7.1051, 3.1984, &rU06.p_o3_60_tfo );
2145 make_pt( 2.6760, -8.4960, 3.2880, &rU06.p );
2146 make_pt( 1.4950, -7.6230, 3.4770, &rU06.o1p );
2147 make_pt( 2.9490, -9.4640, 4.3740, &rU06.o2p );
2148 make_pt( 3.9730, -7.5950, 3.0340, &rU06.o5_ );
2149 make_pt( 3.9938, -6.7042, 1.9023, &rU06.c5_ );
2150 make_pt( 3.2332, -5.9343, 2.0319, &rU06.h5_ );
2151 make_pt( 3.9666, -7.2863, 0.9812, &rU06.h5__ );
2152 make_pt( 5.3098, -5.9546, 1.8564, &rU06.c4_ );
2153 make_pt( 5.3863, -5.3702, 0.9395, &rU06.h4_ );
2154 make_pt( 5.3851, -5.0642, 3.0076, &rU06.o4_ );
2155 make_pt( 6.7315, -4.9724, 3.4462, &rU06.c1_ );
2156 make_pt( 7.0033, -3.9202, 3.3619, &rU06.h1_ );
2157 make_pt( 7.5997, -5.8018, 2.4948, &rU06.c2_ );
2158 make_pt( 8.3627, -6.3254, 3.0707, &rU06.h2__ );
2159 make_pt( 8.0410, -4.9501, 1.4724, &rU06.o2_ );
2160 make_pt( 8.2781, -4.0644, 1.7570, &rU06.h2_ );
2161 make_pt( 6.5701, -6.8129, 1.9714, &rU06.c3_ );
2162 make_pt( 6.4186, -7.5809, 2.7299, &rU06.h3_ );
2163 make_pt( 6.9357, -7.3841, 0.7235, &rU06.o3_ );
2164 make_pt( 6.8024, -5.4718, 4.8475, &rU06.n1 );
2165 make_pt( 6.6920, -5.0495, 7.1354, &rU06.n3 );
2166 make_pt( 6.6201, -4.5500, 5.8506, &rU06.c2 );
2167 make_pt( 6.9254, -6.3614, 7.4926, &rU06.c4 );
2168 make_pt( 7.1046, -7.2543, 6.3718, &rU06.c5 );
2169 make_pt( 7.0391, -6.7951, 5.1106, &rU06.c6 );
2170 make_pt( 6.4083, -3.3696, 5.6340, &rU06._.U.o2 );
2171 make_pt( 6.9679, -6.6901, 8.6800, &rU06._.U.o4 );
2172 make_pt( 6.5626, -4.3957, 7.8812, &rU06._.U.h3 );
2173 make_pt( 7.2781, -8.2254, 6.5350, &rU06._.U.h5 );
2174 make_pt( 7.1657, -7.4312, 4.3503, &rU06._.U.h6 );
2175
2176 rU07.type = 'U';
2177 make_tfo( -0.9434, 0.3172, 0.0971,
2178 0.2294, 0.4125, 0.8816,
2179 0.2396, 0.8539, -0.4619,
2180 8.3625, -52.7147, 1.3745, &rU07.dgf_base_tfo );
2181 make_tfo( 0.2765, -0.1121, -0.9545,
2182 -0.8297, 0.4733, -0.2959,
2183 0.4850, 0.8737, 0.0379,
2184 -14.7774, -45.2464, 21.9088, &rU07.p_o3_275_tfo );
2185 make_tfo( 0.1063, -0.6334, -0.7665,
2186 -0.5932, -0.6591, 0.4624,
2187 -0.7980, 0.4055, -0.4458,
2188 43.7634, 4.3296, 28.4890, &rU07.p_o3_180_tfo );
2189 make_tfo( 0.7136, -0.5032, -0.4873,
2190 0.6803, 0.3317, 0.6536,
2191 -0.1673, -0.7979, 0.5791,
2192 -17.1858, 41.4390, -27.0751, &rU07.p_o3_60_tfo );
2193 make_pt( 21.3880, 15.0780, 45.5770, &rU07.p );
2194 make_pt( 21.9980, 14.5500, 46.8210, &rU07.o1p );
2195 make_pt( 21.1450, 14.0270, 44.5420, &rU07.o2p );
2196 make_pt( 22.1250, 16.3600, 44.9460, &rU07.o5_ );
2197 make_pt( 21.5037, 16.8594, 43.7323, &rU07.c5_ );
2198 make_pt( 20.8147, 17.6663, 43.9823, &rU07.h5_ );
2199 make_pt( 21.1086, 16.0230, 43.1557, &rU07.h5__ );
2200 make_pt( 22.5654, 17.4874, 42.8616, &rU07.c4_ );
2201 make_pt( 22.1584, 17.7243, 41.8785, &rU07.h4_ );
2202 make_pt( 23.0557, 18.6826, 43.4751, &rU07.o4_ );
2203 make_pt( 24.4788, 18.6151, 43.6455, &rU07.c1_ );
2204 make_pt( 24.9355, 19.0840, 42.7739, &rU07.h1_ );
2205 make_pt( 24.7958, 17.1427, 43.6474, &rU07.c2_ );
2206 make_pt( 24.5652, 16.7400, 44.6336, &rU07.h2__ );
2207 make_pt( 26.1041, 16.8773, 43.2455, &rU07.o2_ );
2208 make_pt( 26.7516, 17.5328, 43.5149, &rU07.h2_ );
2209 make_pt( 23.8109, 16.5979, 42.6377, &rU07.c3_ );
2210 make_pt( 23.5756, 15.5686, 42.9084, &rU07.h3_ );
2211 make_pt( 24.2890, 16.7447, 41.2729, &rU07.o3_ );
2212 make_pt( 24.9420, 19.2174, 44.8923, &rU07.n1 );
2213 make_pt( 25.2655, 20.5636, 44.8883, &rU07.n3 );
2214 make_pt( 25.1663, 21.2219, 43.8561, &rU07.c2 );
2215 make_pt( 25.6911, 21.1219, 46.0494, &rU07.c4 );
2216 make_pt( 25.8051, 20.4068, 47.2048, &rU07.c5 );
2217 make_pt( 26.2093, 20.9962, 48.2534, &rU07.c6 );
2218 make_pt( 25.4692, 19.0221, 47.2053, &rU07._.U.o2 );
2219 make_pt( 25.0502, 18.4827, 46.0370, &rU07._.U.o4 );
2220 make_pt( 25.9599, 22.1772, 46.0966, &rU07._.U.h3 );
2221 make_pt( 25.5545, 18.4409, 48.1234, &rU07._.U.h5 );
2222 make_pt( 24.7854, 17.4265, 45.9883, &rU07._.U.h6 );
2223
2224 rU08.type = 'U';
2225 make_tfo( -0.0080, -0.7928, 0.6094,
2226 -0.7512, 0.4071, 0.5197,
2227 -0.6601, -0.4536, -0.5988,
2228 44.1482, 30.7036, 2.1088, &rU08.dgf_base_tfo );
2229 make_tfo( 0.2765, -0.1121, -0.9545,
2230 -0.8297, 0.4733, -0.2959,
2231 0.4850, 0.8737, 0.0379,
2232 -14.7774, -45.2464, 21.9088, &rU08.p_o3_275_tfo );
2233 make_tfo( 0.1063, -0.6334, -0.7665,
2234 -0.5932, -0.6591, 0.4624,
2235 -0.7980, 0.4055, -0.4458,
2236 43.7634, 4.3296, 28.4890, &rU08.p_o3_180_tfo );
2237 make_tfo( 0.7136, -0.5032, -0.4873,
2238 0.6803, 0.3317, 0.6536,
2239 -0.1673, -0.7979, 0.5791,
2240 -17.1858, 41.4390, -27.0751, &rU08.p_o3_60_tfo );
2241 make_pt( 21.3880, 15.0780, 45.5770, &rU08.p );
2242 make_pt( 21.9980, 14.5500, 46.8210, &rU08.o1p );
2243 make_pt( 21.1450, 14.0270, 44.5420, &rU08.o2p );
2244 make_pt( 22.1250, 16.3600, 44.9460, &rU08.o5_ );
2245 make_pt( 23.5096, 16.1227, 44.5783, &rU08.c5_ );
2246 make_pt( 23.5649, 15.8588, 43.5222, &rU08.h5_ );
2247 make_pt( 23.9621, 15.4341, 45.2919, &rU08.h5__ );
2248 make_pt( 24.2805, 17.4138, 44.7151, &rU08.c4_ );
2249 make_pt( 25.3492, 17.2309, 44.6030, &rU08.h4_ );
2250 make_pt( 23.8497, 18.3471, 43.7208, &rU08.o4_ );
2251 make_pt( 23.4090, 19.5681, 44.3321, &rU08.c1_ );
2252 make_pt( 24.2595, 20.2496, 44.3524, &rU08.h1_ );
2253 make_pt( 23.0418, 19.1813, 45.7407, &rU08.c2_ );
2254 make_pt( 22.0532, 18.7224, 45.7273, &rU08.h2__ );
2255 make_pt( 23.1307, 20.2521, 46.6291, &rU08.o2_ );
2256 make_pt( 22.8888, 21.1051, 46.2611, &rU08.h2_ );
2257 make_pt( 24.0799, 18.1326, 46.0700, &rU08.c3_ );
2258 make_pt( 23.6490, 17.4370, 46.7900, &rU08.h3_ );
2259 make_pt( 25.3329, 18.7227, 46.5109, &rU08.o3_ );
2260 make_pt( 22.2515, 20.1624, 43.6698, &rU08.n1 );
2261 make_pt( 22.4760, 21.0609, 42.6406, &rU08.n3 );
2262 make_pt( 23.6229, 21.3462, 42.3061, &rU08.c2 );
2263 make_pt( 21.3986, 21.6081, 42.0236, &rU08.c4 );
2264 make_pt( 20.1189, 21.3012, 42.3804, &rU08.c5 );
2265 make_pt( 19.1599, 21.8516, 41.7578, &rU08.c6 );
2266 make_pt( 19.8919, 20.3745, 43.4387, &rU08._.U.o2 );
2267 make_pt( 20.9790, 19.8423, 44.0440, &rU08._.U.o4 );
2268 make_pt( 21.5235, 22.3222, 41.2097, &rU08._.U.h3 );
2269 make_pt( 18.8732, 20.1200, 43.7312, &rU08._.U.h5 );
2270 make_pt( 20.8545, 19.1313, 44.8608, &rU08._.U.h6 );
2271
2272 rU09.type = 'U';
2273 make_tfo( -0.0317, 0.1374, 0.9900,
2274 -0.3422, -0.9321, 0.1184,
2275 0.9391, -0.3351, 0.0765,
2276 -32.1929, 25.8198, -28.5088, &rU09.dgf_base_tfo );
2277 make_tfo( 0.2765, -0.1121, -0.9545,
2278 -0.8297, 0.4733, -0.2959,
2279 0.4850, 0.8737, 0.0379,
2280 -14.7774, -45.2464, 21.9088, &rU09.p_o3_275_tfo );
2281 make_tfo( 0.1063, -0.6334, -0.7665,
2282 -0.5932, -0.6591, 0.4624,
2283 -0.7980, 0.4055, -0.4458,
2284 43.7634, 4.3296, 28.4890, &rU09.p_o3_180_tfo );
2285 make_tfo( 0.7136, -0.5032, -0.4873,
2286 0.6803, 0.3317, 0.6536,
2287 -0.1673, -0.7979, 0.5791,
2288 -17.1858, 41.4390, -27.0751, &rU09.p_o3_60_tfo );
2289 make_pt( 21.3880, 15.0780, 45.5770, &rU09.p );
2290 make_pt( 21.9980, 14.5500, 46.8210, &rU09.o1p );
2291 make_pt( 21.1450, 14.0270, 44.5420, &rU09.o2p );
2292 make_pt( 22.1250, 16.3600, 44.9460, &rU09.o5_ );
2293 make_pt( 21.5037, 16.8594, 43.7323, &rU09.c5_ );
2294 make_pt( 20.8147, 17.6663, 43.9823, &rU09.h5_ );
2295 make_pt( 21.1086, 16.0230, 43.1557, &rU09.h5__ );
2296 make_pt( 22.5654, 17.4874, 42.8616, &rU09.c4_ );
2297 make_pt( 23.0565, 18.3036, 43.3915, &rU09.h4_ );
2298 make_pt( 23.5375, 16.5054, 42.4925, &rU09.o4_ );
2299 make_pt( 23.6574, 16.4257, 41.0649, &rU09.c1_ );
2300 make_pt( 24.4701, 17.0882, 40.7671, &rU09.h1_ );
2301 make_pt( 22.3525, 16.9643, 40.5396, &rU09.c2_ );
2302 make_pt( 21.5993, 16.1799, 40.6133, &rU09.h2__ );
2303 make_pt( 22.4693, 17.4849, 39.2515, &rU09.o2_ );
2304 make_pt( 23.0899, 17.0235, 38.6827, &rU09.h2_ );
2305 make_pt( 22.0341, 18.0633, 41.5279, &rU09.c3_ );
2306 make_pt( 20.9509, 18.1709, 41.5846, &rU09.h3_ );
2307 make_pt( 22.7249, 19.3020, 41.2100, &rU09.o3_ );
2308 make_pt( 23.8580, 15.0648, 40.5757, &rU09.n1 );
2309 make_pt( 25.1556, 14.5982, 40.4523, &rU09.n3 );
2310 make_pt( 26.1047, 15.3210, 40.7448, &rU09.c2 );
2311 make_pt( 25.3391, 13.3315, 40.0020, &rU09.c4 );
2312 make_pt( 24.2974, 12.5148, 39.6749, &rU09.c5 );
2313 make_pt( 24.5450, 11.3410, 39.2610, &rU09.c6 );
2314 make_pt( 22.9633, 12.9979, 39.8053, &rU09._.U.o2 );
2315 make_pt( 22.8009, 14.2648, 40.2524, &rU09._.U.o4 );
2316 make_pt( 26.3414, 12.9194, 39.8855, &rU09._.U.h3 );
2317 make_pt( 22.1227, 12.3533, 39.5486, &rU09._.U.h5 );
2318 make_pt( 21.7989, 14.6788, 40.3650, &rU09._.U.h6 );
2319
2320 rU10.type = 'U';
2321 make_tfo( -0.9674, 0.1021, -0.2318,
2322 -0.2514, -0.2766, 0.9275,
2323 0.0306, 0.9555, 0.2933,
2324 27.8571, -42.1305, -24.4563, &rU10.dgf_base_tfo );
2325 make_tfo( 0.2765, -0.1121, -0.9545,
2326 -0.8297, 0.4733, -0.2959,
2327 0.4850, 0.8737, 0.0379,
2328 -14.7774, -45.2464, 21.9088, &rU10.p_o3_275_tfo );
2329 make_tfo( 0.1063, -0.6334, -0.7665,
2330 -0.5932, -0.6591, 0.4624,
2331 -0.7980, 0.4055, -0.4458,
2332 43.7634, 4.3296, 28.4890, &rU10.p_o3_180_tfo );
2333 make_tfo( 0.7136, -0.5032, -0.4873,
2334 0.6803, 0.3317, 0.6536,
2335 -0.1673, -0.7979, 0.5791,
2336 -17.1858, 41.4390, -27.0751, &rU10.p_o3_60_tfo );
2337 make_pt( 21.3880, 15.0780, 45.5770, &rU10.p );
2338 make_pt( 21.9980, 14.5500, 46.8210, &rU10.o1p );
2339 make_pt( 21.1450, 14.0270, 44.5420, &rU10.o2p );
2340 make_pt( 22.1250, 16.3600, 44.9460, &rU10.o5_ );
2341 make_pt( 23.5096, 16.1227, 44.5783, &rU10.c5_ );
2342 make_pt( 23.5649, 15.8588, 43.5222, &rU10.h5_ );
2343 make_pt( 23.9621, 15.4341, 45.2919, &rU10.h5__ );
2344 make_pt( 24.2805, 17.4138, 44.7151, &rU10.c4_ );
2345 make_pt( 23.8509, 18.1819, 44.0720, &rU10.h4_ );
2346 make_pt( 24.2506, 17.8583, 46.0741, &rU10.o4_ );
2347 make_pt( 25.5830, 18.0320, 46.5775, &rU10.c1_ );
2348 make_pt( 25.8569, 19.0761, 46.4256, &rU10.h1_ );
2349 make_pt( 26.4410, 17.1555, 45.7033, &rU10.c2_ );
2350 make_pt( 26.3459, 16.1253, 46.0462, &rU10.h2__ );
2351 make_pt( 27.7649, 17.5888, 45.6478, &rU10.o2_ );
2352 make_pt( 28.1004, 17.9719, 46.4616, &rU10.h2_ );
2353 make_pt( 25.7796, 17.2997, 44.3513, &rU10.c3_ );
2354 make_pt( 25.9478, 16.3824, 43.7871, &rU10.h3_ );
2355 make_pt( 26.2154, 18.4984, 43.6541, &rU10.o3_ );
2356 make_pt( 25.7321, 17.6281, 47.9726, &rU10.n1 );
2357 make_pt( 25.5136, 18.5779, 48.9560, &rU10.n3 );
2358 make_pt( 25.2079, 19.7276, 48.6503, &rU10.c2 );
2359 make_pt( 25.6482, 18.1987, 50.2518, &rU10.c4 );
2360 make_pt( 25.9847, 16.9266, 50.6092, &rU10.c5 );
2361 make_pt( 26.0918, 16.6439, 51.8416, &rU10.c6 );
2362 make_pt( 26.2067, 15.9515, 49.5943, &rU10._.U.o2 );
2363 make_pt( 26.0713, 16.3497, 48.3080, &rU10._.U.o4 );
2364 make_pt( 25.4890, 18.9105, 51.0618, &rU10._.U.h3 );
2365 make_pt( 26.4742, 14.9310, 49.8682, &rU10._.U.h5 );
2366 make_pt( 26.2346, 15.6394, 47.4975, &rU10._.U.h6 );
2367
2368 rUs[0] = &rU10;
2369 rUs[1] = &rU09;
2370 rUs[2] = &rU08;
2371 rUs[3] = &rU07;
2372 rUs[4] = &rU06;
2373 rUs[5] = &rU05;
2374 rUs[6] = &rU04;
2375 rUs[7] = &rU03;
2376 rUs[8] = &rU02;
2377 rUs[9] = &rU01;
2378 rUs[10]= 0;
2379 }
2380
2381 /*---------------------------------------------------------------------------*/
2382
2383 /* POINTS */
2384
pt_sub(p1,p2,p3)2385 void pt_sub( p1, p2, p3 )
2386 pt p1, p2, p3;
2387 {
2388 p3->x = p1->x - p2->x;
2389 p3->y = p1->y - p2->y;
2390 p3->z = p1->z - p2->z;
2391 }
2392
pt_dist(p1,p2)2393 FLOAT pt_dist( p1, p2 )
2394 pt p1, p2;
2395 {
2396 FLOAT dx = p1->x - p2->x, dy = p1->y - p2->y, dz = p1->z - p2->z;
2397 return sqrt( dx*dx + dy*dy + dz*dz );
2398 }
2399
pt_phi(p)2400 FLOAT pt_phi( p )
2401 pt p;
2402 {
2403 FLOAT x = p->x, y = p->y, z = p->z;
2404 FLOAT b = atan2( x, z );
2405 return atan2( cos(b)*z + sin(b)*x, y );
2406 }
2407
pt_theta(p)2408 FLOAT pt_theta( p )
2409 pt p;
2410 {
2411 return atan2( p->x, p->z );
2412 }
2413
2414 /*---------------------------------------------------------------------------*/
2415
2416 /* COORDINATE TRANSFORMATIONS */
2417
2418 struct struct_tfo tfo_id =
2419 {
2420 1.0, 0.0, 0.0,
2421 0.0, 1.0, 0.0,
2422 0.0, 0.0, 1.0,
2423 0.0, 0.0, 0.0
2424 };
2425
tfo_apply(t,p1,p2)2426 void tfo_apply( t, p1, p2 )
2427 tfo t;
2428 pt p1, p2;
2429 {
2430 FLOAT x = p1->x, y = p1->y, z = p1->z;
2431 p2->x = x*t->m[0][0] + y*t->m[1][0] + z*t->m[2][0] + t->m[3][0];
2432 p2->y = x*t->m[0][1] + y*t->m[1][1] + z*t->m[2][1] + t->m[3][1];
2433 p2->z = x*t->m[0][2] + y*t->m[1][2] + z*t->m[2][2] + t->m[3][2];
2434 }
2435
tfo_combine(a,b,t)2436 void tfo_combine( a, b, t )
2437 tfo a, b, t;
2438 {
2439 FLOAT x, y, z;
2440
2441 x = a->m[0][0]; y = a->m[0][1]; z = a->m[0][2];
2442 t->m[0][0] = x*b->m[0][0] + y*b->m[1][0] + z*b->m[2][0];
2443 t->m[0][1] = x*b->m[0][1] + y*b->m[1][1] + z*b->m[2][1];
2444 t->m[0][2] = x*b->m[0][2] + y*b->m[1][2] + z*b->m[2][2];
2445
2446 x = a->m[1][0]; y = a->m[1][1]; z = a->m[1][2];
2447 t->m[1][0] = x*b->m[0][0] + y*b->m[1][0] + z*b->m[2][0];
2448 t->m[1][1] = x*b->m[0][1] + y*b->m[1][1] + z*b->m[2][1];
2449 t->m[1][2] = x*b->m[0][2] + y*b->m[1][2] + z*b->m[2][2];
2450
2451 x = a->m[2][0]; y = a->m[2][1]; z = a->m[2][2];
2452 t->m[2][0] = x*b->m[0][0] + y*b->m[1][0] + z*b->m[2][0];
2453 t->m[2][1] = x*b->m[0][1] + y*b->m[1][1] + z*b->m[2][1];
2454 t->m[2][2] = x*b->m[0][2] + y*b->m[1][2] + z*b->m[2][2];
2455
2456 x = a->m[3][0]; y = a->m[3][1]; z = a->m[3][2];
2457 t->m[3][0] = x*b->m[0][0] + y*b->m[1][0] + z*b->m[2][0] + b->m[3][0];
2458 t->m[3][1] = x*b->m[0][1] + y*b->m[1][1] + z*b->m[2][1] + b->m[3][1];
2459 t->m[3][2] = x*b->m[0][2] + y*b->m[1][2] + z*b->m[2][2] + b->m[3][2];
2460 }
2461
tfo_inv_ortho(t1,t2)2462 void tfo_inv_ortho( t1, t2 )
2463 tfo t1, t2;
2464 {
2465 FLOAT tx = t1->m[3][0], ty = t1->m[3][1], tz = t1->m[3][2];
2466 t2->m[0][0] = t1->m[0][0];
2467 t2->m[0][1] = t1->m[1][0];
2468 t2->m[0][2] = t1->m[2][0];
2469 t2->m[1][0] = t1->m[0][1];
2470 t2->m[1][1] = t1->m[1][1];
2471 t2->m[1][2] = t1->m[2][1];
2472 t2->m[2][0] = t1->m[0][2];
2473 t2->m[2][1] = t1->m[1][2];
2474 t2->m[2][2] = t1->m[2][2];
2475 t2->m[3][0] = -(tx*t1->m[0][0] + ty*t1->m[0][1] + tz*t1->m[0][2]);
2476 t2->m[3][1] = -(tx*t1->m[1][0] + ty*t1->m[1][1] + tz*t1->m[1][2]);
2477 t2->m[3][2] = -(tx*t1->m[2][0] + ty*t1->m[2][1] + tz*t1->m[2][2]);
2478 }
2479
tfo_align(p1,p2,p3,t)2480 void tfo_align( p1, p2, p3, t )
2481 pt p1, p2, p3;
2482 tfo t;
2483 {
2484 FLOAT x1 = p1->x, y1 = p1->y, z1 = p1->z;
2485 FLOAT x3 = p3->x, y3 = p3->y, z3 = p3->z;
2486 FLOAT x31 = x3-x1, y31 = y3-y1, z31 = z3-z1;
2487 struct struct_pt rotpy;
2488 pt_sub( p2, p1, &rotpy );
2489 {
2490 FLOAT phi = pt_phi( &rotpy ), theta = pt_theta( &rotpy );
2491 FLOAT sinp = sin(phi), sint = sin(theta);
2492 FLOAT cosp = cos(phi), cost = cos(theta);
2493 FLOAT sinpsint = sinp*sint;
2494 FLOAT sinpcost = sinp*cost;
2495 FLOAT cospsint = cosp*sint;
2496 FLOAT cospcost = cosp*cost;
2497 struct struct_pt rotpz;
2498 make_pt( cost*x31 - sint*z31,
2499 sinpsint*x31 + cosp*y31 + sinpcost*z31,
2500 cospsint*x31 - sinp*y31 + cospcost*z31,
2501 &rotpz );
2502 {
2503 FLOAT rho = pt_theta( &rotpz );
2504 FLOAT cosr = cos( rho ), sinr = sin( rho );
2505 FLOAT x = -x1*cost + z1*sint;
2506 FLOAT y = -x1*sinpsint - y1*cosp - z1*sinpcost;
2507 FLOAT z = -x1*cospsint + y1*sinp - z1*cospcost;
2508 t->m[0][0] = cost*cosr - cospsint*sinr;
2509 t->m[0][1] = sinpsint;
2510 t->m[0][2] = cost*sinr + cospsint*cosr;
2511 t->m[1][0] = sinp*sinr;
2512 t->m[1][1] = cosp;
2513 t->m[1][2] = -sinp*cosr;
2514 t->m[2][0] = -sint*cosr - cospcost*sinr;
2515 t->m[2][1] = sinpcost;
2516 t->m[2][2] = -sint*sinr + cospcost*cosr;
2517 t->m[3][0] = x*cosr - z*sinr;
2518 t->m[3][1] = y;
2519 t->m[3][2] = x*sinr + z*cosr;
2520 }
2521 }
2522 }
2523
2524 /*---------------------------------------------------------------------------*/
2525
init_nucleotides()2526 void init_nucleotides()
2527 {
2528 init_A();
2529 init_C();
2530 init_G();
2531 init_U();
2532
2533 rG_.type = 'G';
2534 make_tfo( -0.2067, -0.0264, 0.9780,
2535 0.9770, -0.0586, 0.2049,
2536 0.0519, 0.9979, 0.0379,
2537 1.0331, -46.8078, -36.4742, &rG_.dgf_base_tfo );
2538 make_tfo( -0.8644, -0.4956, -0.0851,
2539 -0.0427, 0.2409, -0.9696,
2540 0.5010, -0.8345, -0.2294,
2541 4.0167, 54.5377, 12.4779, &rG_.p_o3_275_tfo );
2542 make_tfo( 0.3706, -0.6167, 0.6945,
2543 -0.2867, -0.7872, -0.5460,
2544 0.8834, 0.0032, -0.4686,
2545 -52.9020, 18.6313, -0.6709, &rG_.p_o3_180_tfo );
2546 make_tfo( 0.4155, 0.9025, -0.1137,
2547 0.9040, -0.4236, -0.0582,
2548 -0.1007, -0.0786, -0.9918,
2549 -7.6624, -25.2080, 49.5181, &rG_.p_o3_60_tfo );
2550 make_pt( 31.3810, 0.1400, 47.5810, &rG_.p );
2551 make_pt( 29.9860, 0.6630, 47.6290, &rG_.o1p );
2552 make_pt( 31.7210, -0.6460, 48.8090, &rG_.o2p );
2553 make_pt( 32.4940, 1.2540, 47.2740, &rG_.o5_ );
2554 make_pt( 32.1610, 2.2370, 46.2560, &rG_.c5_ );
2555 make_pt( 31.2986, 2.8190, 46.5812, &rG_.h5_ );
2556 make_pt( 32.0980, 1.7468, 45.2845, &rG_.h5__ );
2557 make_pt( 33.3476, 3.1959, 46.1947, &rG_.c4_ );
2558 make_pt( 33.2668, 3.8958, 45.3630, &rG_.h4_ );
2559 make_pt( 33.3799, 3.9183, 47.4216, &rG_.o4_ );
2560 make_pt( 34.6515, 3.7222, 48.0398, &rG_.c1_ );
2561 make_pt( 35.2947, 4.5412, 47.7180, &rG_.h1_ );
2562 make_pt( 35.1756, 2.4228, 47.4827, &rG_.c2_ );
2563 make_pt( 34.6778, 1.5937, 47.9856, &rG_.h2__ );
2564 make_pt( 36.5631, 2.2672, 47.4798, &rG_.o2_ );
2565 make_pt( 37.0163, 2.6579, 48.2305, &rG_.h2_ );
2566 make_pt( 34.6953, 2.5043, 46.0448, &rG_.c3_ );
2567 make_pt( 34.5444, 1.4917, 45.6706, &rG_.h3_ );
2568 make_pt( 35.6679, 3.3009, 45.3487, &rG_.o3_ );
2569 make_pt( 37.4804, 4.0914, 52.2559, &rG_.n1 );
2570 make_pt( 36.9670, 4.1312, 49.9281, &rG_.n3 );
2571 make_pt( 37.8045, 4.2519, 50.9550, &rG_.c2 );
2572 make_pt( 35.7171, 3.8264, 50.3222, &rG_.c4 );
2573 make_pt( 35.2668, 3.6420, 51.6115, &rG_.c5 );
2574 make_pt( 36.2037, 3.7829, 52.6706, &rG_.c6 );
2575 make_pt( 39.0869, 4.5552, 50.7092, &rG_._.G.n2 );
2576 make_pt( 33.9075, 3.3338, 51.6102, &rG_._.G.n7 );
2577 make_pt( 34.6126, 3.6358, 49.5108, &rG_._.G.n9 );
2578 make_pt( 33.5805, 3.3442, 50.3425, &rG_._.G.c8 );
2579 make_pt( 35.9958, 3.6512, 53.8724, &rG_._.G.o6 );
2580 make_pt( 38.2106, 4.2053, 52.9295, &rG_._.G.h1 );
2581 make_pt( 39.8218, 4.6863, 51.3896, &rG_._.G.h21 );
2582 make_pt( 39.3420, 4.6857, 49.7407, &rG_._.G.h22 );
2583 make_pt( 32.5194, 3.1070, 50.2664, &rG_._.G.h8 );
2584
2585 rU_.type = 'U';
2586 make_tfo( -0.0109, 0.5907, 0.8068,
2587 0.2217, -0.7853, 0.5780,
2588 0.9751, 0.1852, -0.1224,
2589 -1.4225, -11.0956, -2.5217, &rU_.dgf_base_tfo );
2590 make_tfo( -0.8313, -0.4738, -0.2906,
2591 0.0649, 0.4366, -0.8973,
2592 0.5521, -0.7648, -0.3322,
2593 1.6833, 6.8060, -7.0011, &rU_.p_o3_275_tfo );
2594 make_tfo( 0.3445, -0.7630, 0.5470,
2595 -0.4628, -0.6450, -0.6082,
2596 0.8168, -0.0436, -0.5753,
2597 -6.8179, -3.9778, -5.9887, &rU_.p_o3_180_tfo );
2598 make_tfo( 0.5855, 0.7931, -0.1682,
2599 0.8103, -0.5790, 0.0906,
2600 -0.0255, -0.1894, -0.9816,
2601 6.1203, -7.1051, 3.1984, &rU_.p_o3_60_tfo );
2602 make_pt( 2.6760, -8.4960, 3.2880, &rU_.p );
2603 make_pt( 1.4950, -7.6230, 3.4770, &rU_.o1p );
2604 make_pt( 2.9490, -9.4640, 4.3740, &rU_.o2p );
2605 make_pt( 3.9730, -7.5950, 3.0340, &rU_.o5_ );
2606 make_pt( 5.2430, -8.2420, 2.8260, &rU_.c5_ );
2607 make_pt( 5.1974, -8.8497, 1.9223, &rU_.h5_ );
2608 make_pt( 5.5548, -8.7348, 3.7469, &rU_.h5__ );
2609 make_pt( 6.3140, -7.2060, 2.5510, &rU_.c4_ );
2610 make_pt( 5.8744, -6.2116, 2.4731, &rU_.h4_ );
2611 make_pt( 7.2798, -7.2260, 3.6420, &rU_.o4_ );
2612 make_pt( 8.5733, -6.9410, 3.1329, &rU_.c1_ );
2613 make_pt( 8.9047, -6.0374, 3.6446, &rU_.h1_ );
2614 make_pt( 8.4429, -6.6596, 1.6327, &rU_.c2_ );
2615 make_pt( 9.2880, -7.1071, 1.1096, &rU_.h2__ );
2616 make_pt( 8.2502, -5.2799, 1.4754, &rU_.o2_ );
2617 make_pt( 8.7676, -4.7284, 2.0667, &rU_.h2_ );
2618 make_pt( 7.1642, -7.4416, 1.3021, &rU_.c3_ );
2619 make_pt( 7.4125, -8.5002, 1.2260, &rU_.h3_ );
2620 make_pt( 6.5160, -6.9772, 0.1267, &rU_.o3_ );
2621 make_pt( 9.4531, -8.1107, 3.4087, &rU_.n1 );
2622 make_pt( 11.5931, -9.0015, 3.6357, &rU_.n3 );
2623 make_pt( 10.8101, -7.8950, 3.3748, &rU_.c2 );
2624 make_pt( 11.1439, -10.2744, 3.9206, &rU_.c4 );
2625 make_pt( 9.7056, -10.4026, 3.9332, &rU_.c5 );
2626 make_pt( 8.9192, -9.3419, 3.6833, &rU_.c6 );
2627 make_pt( 11.3013, -6.8063, 3.1326, &rU_._.U.o2 );
2628 make_pt( 11.9431, -11.1876, 4.1375, &rU_._.U.o4 );
2629 make_pt( 12.5840, -8.8673, 3.6158, &rU_._.U.h3 );
2630 make_pt( 9.2891, -11.2898, 4.1313, &rU_._.U.h5 );
2631 make_pt( 7.9263, -9.4537, 3.6977, &rU_._.U.h6 );
2632 }
2633
2634 /*---------------------------------------------------------------------------*/
2635
2636 /* PARTIAL INSTANTIATIONS */
2637
2638 struct struct_var
2639 {
2640 int i;
2641 tfo t;
2642 nuc n;
2643 int on_stack;
2644 };
2645
2646 typedef struct struct_var *var;
2647
2648 typedef struct struct_var *var_list;
2649
2650 struct struct_sol_list
2651 {
2652 var_list sol;
2653 struct struct_sol_list *next;
2654 };
2655
2656 typedef struct struct_sol_list *sol_list;
2657
2658 struct struct_var partial_inst[200];
2659 int partial_inst_length;
2660
2661 #ifdef lazy
2662
2663 #define absolute_pos(var,pt1,pt2)\
2664 { if ((pt1)->relative) { tfo_apply((var)->t,pt1,pt1); (pt1)->relative = 0; }\
2665 *(pt2) = *(pt1);\
2666 }
2667
make_relative_nuc(t,n1,n2)2668 void make_relative_nuc( t, n1, n2 )
2669 tfo t;
2670 nuc n1, n2;
2671 {
2672 *n2 = *n1;
2673 n2->p.relative = 1;
2674 n2->o1p.relative = 1;
2675 n2->o2p.relative = 1;
2676 n2->o5_.relative = 1;
2677 n2->c5_.relative = 1;
2678 n2->h5_.relative = 1;
2679 n2->h5__.relative = 1;
2680 n2->c4_.relative = 1;
2681 n2->h4_.relative = 1;
2682 n2->o4_.relative = 1;
2683 n2->c1_.relative = 1;
2684 n2->h1_.relative = 1;
2685 n2->c2_.relative = 1;
2686 n2->h2__.relative = 1;
2687 n2->o2_.relative = 1;
2688 n2->h2_.relative = 1;
2689 n2->c3_.relative = 1;
2690 n2->h3_.relative = 1;
2691 n2->o3_.relative = 1;
2692 n2->n1.relative = 1;
2693 n2->n3.relative = 1;
2694 n2->c2.relative = 1;
2695 n2->c4.relative = 1;
2696 n2->c5.relative = 1;
2697 n2->c6.relative = 1;
2698
2699 switch (n2->type)
2700 {
2701 case 'A':
2702 n2->_.A.n6.relative = 1;
2703 n2->_.A.n7.relative = 1;
2704 n2->_.A.n9.relative = 1;
2705 n2->_.A.c8.relative = 1;
2706 n2->_.A.h2.relative = 1;
2707 n2->_.A.h61.relative = 1;
2708 n2->_.A.h62.relative = 1;
2709 n2->_.A.h8.relative = 1;
2710 break;
2711
2712 case 'C':
2713 n2->_.C.n4.relative = 1;
2714 n2->_.C.o2.relative = 1;
2715 n2->_.C.h41.relative = 1;
2716 n2->_.C.h42.relative = 1;
2717 n2->_.C.h5.relative = 1;
2718 n2->_.C.h6.relative = 1;
2719 break;
2720
2721 case 'G':
2722 n2->_.G.n2.relative = 1;
2723 n2->_.G.n7.relative = 1;
2724 n2->_.G.n9.relative = 1;
2725 n2->_.G.c8.relative = 1;
2726 n2->_.G.o6.relative = 1;
2727 n2->_.G.h1.relative = 1;
2728 n2->_.G.h21.relative = 1;
2729 n2->_.G.h22.relative = 1;
2730 n2->_.G.h8.relative = 1;
2731 break;
2732
2733 case 'U':
2734 n2->_.U.o2.relative = 1;
2735 n2->_.U.o4.relative = 1;
2736 n2->_.U.h3.relative = 1;
2737 n2->_.U.h5.relative = 1;
2738 n2->_.U.h6.relative = 1;
2739 break;
2740 }
2741 }
2742
2743 #else
2744
2745 #define absolute_pos(var,pt1,pt2)tfo_apply((var)->t,pt1,pt2)
2746
2747 #endif
2748
2749 #define atom_pos(atom,var,pos)\
2750 { pt x = &(var)->n->atom; absolute_pos(var,x,pos); }
2751
get_var(i)2752 var get_var( i )
2753 int i;
2754 {
2755 var v = &partial_inst[partial_inst_length-1];
2756 while (v->i != i) v--;
2757 return v;
2758 }
2759
2760 /*---------------------------------------------------------------------------*/
2761
2762 /* SEARCH */
2763
2764 void (*seq)();
2765 int (*constraint)();
2766 sol_list solutions, last_solution;
2767
2768 void search( problem_domains, problem_constraint )
2769 void (*problem_domains)();
2770 int (*problem_constraint)();
2771 {
2772 seq = problem_domains;
2773 constraint = problem_constraint;
2774 solutions = NULL;
2775 last_solution = NULL;
2776 partial_inst_length = 0;
2777 (*seq)();
2778 }
2779
try(i,t,n)2780 void try( i, t, n )
2781 int i;
2782 tfo t;
2783 nuc n;
2784 {
2785 var v = &partial_inst[partial_inst_length];
2786 #ifdef lazy
2787 struct struct_nuc rel_n;
2788 make_relative_nuc( t, n, &rel_n );
2789 v->n = &rel_n;
2790 #else
2791 v->n = n;
2792 #endif
2793 v->i = i;
2794 v->t = t;
2795 v->on_stack = 1;
2796 if ((*constraint)( v ))
2797 {
2798 partial_inst_length++;
2799 (*seq)();
2800 partial_inst_length--;
2801 }
2802 }
2803
found_solution()2804 void found_solution()
2805 {
2806 int i;
2807 sol_list sols;
2808 var_list sol;
2809 sol = (var_list)malloc( (partial_inst_length+1)*sizeof(struct struct_var) );
2810 if (sol==NULL) { printf( "memory overflow\n" ); exit(1); }
2811 for (i=0; i<partial_inst_length; i++)
2812 {
2813 if (partial_inst[i].on_stack)
2814 {
2815 tfo t;
2816 #ifdef lazy
2817 nuc n;
2818 #endif
2819 t = (tfo)malloc( sizeof(struct struct_tfo) );
2820 if (t==NULL) { printf( "memory overflow\n" ); exit(1); }
2821 *t = *partial_inst[i].t;
2822 partial_inst[i].t = t;
2823 #ifdef lazy
2824 n = (nuc)malloc( sizeof(struct struct_nuc) );
2825 if (n==NULL) { printf( "memory overflow\n" ); exit(1); }
2826 *n = *partial_inst[i].n;
2827 partial_inst[i].n = n;
2828 #endif
2829 partial_inst[i].on_stack = 0;
2830 }
2831 sol[i].i = partial_inst[i].i;
2832 sol[i].t = partial_inst[i].t;
2833 sol[i].n = partial_inst[i].n;
2834 }
2835 sol[i].i = -1;
2836 sols = (sol_list)malloc( sizeof(struct struct_sol_list) );
2837 if (sols==NULL) { printf( "memory overflow\n" ); exit(1); }
2838 sols->sol = sol;
2839 sols->next = NULL;
2840 if (last_solution == NULL)
2841 solutions = sols;
2842 else
2843 last_solution->next = sols;
2844 last_solution = sols;
2845 }
2846
2847 /*---------------------------------------------------------------------------*/
2848
2849 /* DOMAINS */
2850
dgf_base(t1,ref,n,t2)2851 void dgf_base( t1, ref, n, t2 )
2852 tfo t1;
2853 var ref;
2854 nuc n;
2855 tfo t2;
2856 {
2857 nuc ref_n = ref->n;
2858 struct struct_pt p1, p2, p3;
2859 struct struct_tfo m, align;
2860 switch (ref_n->type)
2861 {
2862 case 'A':
2863 atom_pos( c1_, ref, &p1 );
2864 atom_pos( _.A.n9, ref, &p2 );
2865 atom_pos( c4, ref, &p3 );
2866 break;
2867 case 'C':
2868 atom_pos( c1_, ref, &p1 );
2869 atom_pos( n1, ref, &p2 );
2870 atom_pos( c2, ref, &p3 );
2871 break;
2872 case 'G':
2873 atom_pos( c1_, ref, &p1 );
2874 atom_pos( _.G.n9, ref, &p2 );
2875 atom_pos( c4, ref, &p3 );
2876 break;
2877 case 'U':
2878 atom_pos( c1_, ref, &p1 );
2879 atom_pos( n1, ref, &p2 );
2880 atom_pos( c2, ref, &p3 );
2881 break;
2882 }
2883 tfo_align( &p1, &p2, &p3, &m );
2884 tfo_inv_ortho( &m, &align );
2885 tfo_combine( t1, &align, &m );
2886 tfo_combine( &n->dgf_base_tfo, &m, t2 );
2887 }
2888
reference(n,i)2889 void reference( n, i )
2890 nuc n;
2891 int i;
2892 {
2893 try( i, &tfo_id, n );
2894 }
2895
2896 struct struct_tfo wc_tfo =
2897 {
2898 -1.0000, 0.0028, -0.0019,
2899 0.0028, 0.3468, -0.9379,
2900 -0.0019, -0.9379, -0.3468,
2901 -0.0080, 6.0730, 8.7208
2902 };
2903
wc(n,i,j)2904 void wc( n, i, j )
2905 nuc n;
2906 int i, j;
2907 {
2908 struct struct_tfo t;
2909 dgf_base( &wc_tfo, get_var(j), n, &t );
2910 try( i, &t, n );
2911 }
2912
2913 struct struct_tfo wc_dumas_tfo =
2914 {
2915 -0.9737, -0.1834, 0.1352,
2916 -0.1779, 0.2417, -0.9539,
2917 0.1422, -0.9529, -0.2679,
2918 0.4837, 6.2649, 8.0285
2919 };
2920
wc_dumas(n,i,j)2921 void wc_dumas( n, i, j )
2922 nuc n;
2923 int i, j;
2924 {
2925 struct struct_tfo t;
2926 dgf_base( &wc_dumas_tfo, get_var(j), n, &t );
2927 try( i, &t, n );
2928 }
2929
2930 struct struct_tfo helix5_tfo =
2931 {
2932 0.9886, -0.0961, 0.1156,
2933 0.1424, 0.8452, -0.5152,
2934 -0.0482, 0.5258, 0.8492,
2935 -3.8737, 0.5480, 3.8024
2936 };
2937
helix5(n,i,j)2938 void helix5( n, i, j )
2939 nuc n;
2940 int i, j;
2941 {
2942 struct struct_tfo t;
2943 dgf_base( &helix5_tfo, get_var(j), n, &t );
2944 try( i, &t, n );
2945 }
2946
2947 struct struct_tfo helix3_tfo =
2948 {
2949 0.9886, 0.1424, -0.0482,
2950 -0.0961, 0.8452, 0.5258,
2951 0.1156, -0.5152, 0.8492,
2952 3.4426, 2.0474, -3.7042
2953 };
2954
helix3(n,i,j)2955 void helix3( n, i, j )
2956 nuc n;
2957 int i, j;
2958 {
2959 struct struct_tfo t;
2960 dgf_base( &helix3_tfo, get_var(j), n, &t );
2961 try( i, &t, n );
2962 }
2963
2964 struct struct_tfo g37_a38_tfo =
2965 {
2966 0.9991, 0.0164, -0.0387,
2967 -0.0375, 0.7616, -0.6470,
2968 0.0189, 0.6478, 0.7615,
2969 -3.3018, 0.9975, 2.5585
2970 };
2971
G37_A38(n,i,j)2972 void G37_A38( n, i, j )
2973 nuc n;
2974 int i, j;
2975 {
2976 struct struct_tfo t;
2977 dgf_base( &g37_a38_tfo, get_var(j), n, &t );
2978 try( i, &t, n );
2979 }
2980
stacked5(n,i,j)2981 void stacked5( n, i, j )
2982 nuc n;
2983 int i, j;
2984 {
2985 G37_A38( n, i, j );
2986 helix5( n, i, j );
2987 }
2988
2989 struct struct_tfo a38_g37_tfo =
2990 {
2991 0.9991, -0.0375, 0.0189,
2992 0.0164, 0.7616, 0.6478,
2993 -0.0387, -0.6470, 0.7615,
2994 3.3819, 0.7718, -2.5321
2995 };
2996
A38_G37(n,i,j)2997 void A38_G37( n, i, j )
2998 nuc n;
2999 int i, j;
3000 {
3001 struct struct_tfo t;
3002 dgf_base( &a38_g37_tfo, get_var(j), n, &t );
3003 try( i, &t, n );
3004 }
3005
stacked3(n,i,j)3006 void stacked3( n, i, j )
3007 nuc n;
3008 int i, j;
3009 {
3010 A38_G37( n, i, j );
3011 helix3( n, i, j );
3012 }
3013
P_O3(n,i,j)3014 void P_O3( n, i, j )
3015 nuc *n;
3016 int i, j;
3017 {
3018 var ref = get_var(j);
3019 struct struct_pt p1, p2, p3;
3020 struct struct_tfo m, align;
3021
3022 atom_pos( o3_, ref, &p1 );
3023 atom_pos( c3_, ref, &p2 );
3024 atom_pos( c4_, ref, &p3 );
3025 tfo_align( &p1, &p2, &p3, &m );
3026 tfo_inv_ortho( &m, &align );
3027
3028 while (*n!=NULL)
3029 {
3030 tfo_combine( &(*n)->p_o3_60_tfo, &align, &m );
3031 try( i, &m, *n );
3032 tfo_combine( &(*n)->p_o3_180_tfo, &align, &m );
3033 try( i, &m, *n );
3034 tfo_combine( &(*n)->p_o3_275_tfo, &align, &m );
3035 try( i, &m, *n );
3036 n++;
3037 }
3038 }
3039
3040 /*---------------------------------------------------------------------------*/
3041
3042 /* PROBLEM STATEMENT */
3043
3044 /* Anticodon problem */
3045
anticodon_domains()3046 void anticodon_domains()
3047 {
3048 switch (partial_inst_length)
3049 {
3050 case 0: reference( &rC, 27 ); break;
3051 case 1: helix5( &rC, 28, 27 ); break;
3052 case 2: helix5( &rA, 29, 28 ); break;
3053 case 3: helix5( &rG, 30, 29 ); break;
3054 case 4: helix5( &rA, 31, 30 ); break;
3055 case 5: wc( &rU, 39, 31 ); break;
3056 case 6: helix5( &rC, 40, 39 ); break;
3057 case 7: helix5( &rU, 41, 40 ); break;
3058 case 8: helix5( &rG, 42, 41 ); break;
3059 case 9: helix5( &rG, 43, 42 ); break;
3060 case 10: stacked3( &rA, 38, 39 ); break;
3061 case 11: stacked3( &rG, 37, 38 ); break;
3062 case 12: stacked3( &rA, 36, 37 ); break;
3063 case 13: stacked3( &rA, 35, 36 ); break;
3064 case 14: stacked3( &rG, 34, 35 ); break;
3065 case 15: P_O3( rCs, 32, 31 ); break;
3066 case 16: P_O3( rUs, 33, 32 ); break;
3067 case 17: found_solution();
3068 }
3069 }
3070
anticodon_constraint(v)3071 int anticodon_constraint( v )
3072 var v;
3073 {
3074 if (v->i == 33)
3075 {
3076 var ref;
3077 struct struct_pt p, o3_;
3078 ref = get_var(34);
3079 atom_pos( p, ref, &p );
3080 atom_pos( o3_, v, &o3_ );
3081 return (pt_dist( &p, &o3_ ) < 3.0);
3082 }
3083 else
3084 return 1;
3085 }
3086
anticodon()3087 void anticodon()
3088 {
3089 search( anticodon_domains, anticodon_constraint );
3090 }
3091
3092 /* Pseudoknot problem */
3093
pseudoknot_domains()3094 void pseudoknot_domains()
3095 {
3096 switch (partial_inst_length)
3097 {
3098 case 0: reference( &rA, 23 ); break;
3099 case 1: wc_dumas( &rU, 8, 23 ); break;
3100 case 2: helix3( &rG, 22, 23 ); break;
3101 case 3: wc_dumas( &rC, 9, 22 ); break;
3102 case 4: helix3( &rG, 21, 22 ); break;
3103 case 5: wc_dumas( &rC, 10, 21 ); break;
3104 case 6: helix3( &rC, 20, 21 ); break;
3105 case 7: wc_dumas( &rG, 11, 20 ); break;
3106 case 8: helix3( &rU_,19, 20 ); break;
3107 case 9: wc_dumas( &rA, 12, 19 ); break;
3108 case 10: helix3( &rC, 3, 19 ); break;
3109 case 11: wc_dumas( &rG, 13, 3 ); break;
3110 case 12: helix3( &rC, 2, 3 ); break;
3111 case 13: wc_dumas( &rG, 14, 2 ); break;
3112 case 14: helix3( &rC, 1, 2 ); break;
3113 case 15: wc_dumas( &rG_,15, 1 ); break;
3114 case 16: P_O3( rUs, 16, 15 ); break;
3115 case 17: P_O3( rCs, 17, 16 ); break;
3116 case 18: P_O3( rAs, 18, 17 ); break;
3117 case 19: helix3( &rU, 7, 8 ); break;
3118 case 20: P_O3( rCs, 4, 3 ); break;
3119 case 21: stacked5( &rU, 5, 4 ); break;
3120 case 22: stacked5( &rC, 6, 5 ); break;
3121 case 23: found_solution();
3122 }
3123 }
3124
pseudoknot_constraint(v)3125 int pseudoknot_constraint( v )
3126 var v;
3127 {
3128 switch (v->i)
3129 {
3130 case 18:
3131 {
3132 var ref;
3133 struct struct_pt p, o3_;
3134 ref = get_var(19);
3135 atom_pos( p, ref, &p );
3136 atom_pos( o3_, v, &o3_ );
3137 return (pt_dist( &p, &o3_ ) <= 4.0);
3138 }
3139 case 6:
3140 {
3141 var ref;
3142 struct struct_pt p, o3_;
3143 ref = get_var(7);
3144 atom_pos( p, ref, &p );
3145 atom_pos( o3_, v, &o3_ );
3146 return (pt_dist( &p, &o3_ ) <= 4.5);
3147 }
3148 default:
3149 return 1;
3150 }
3151 }
3152
pseudoknot()3153 void pseudoknot()
3154 {
3155 search( pseudoknot_domains, pseudoknot_constraint );
3156 }
3157
3158 /*---------------------------------------------------------------------------*/
3159
3160 /* TESTING */
3161
3162 pt point_list[50];
3163
list_of_atoms(n)3164 pt *list_of_atoms( n )
3165 nuc n;
3166 {
3167 pt *ptr;
3168 ptr = point_list;
3169 *ptr++ = &n->p;
3170 *ptr++ = &n->o1p;
3171 *ptr++ = &n->o2p;
3172 *ptr++ = &n->o5_;
3173 *ptr++ = &n->c5_;
3174 *ptr++ = &n->h5_;
3175 *ptr++ = &n->h5__;
3176 *ptr++ = &n->c4_;
3177 *ptr++ = &n->h4_;
3178 *ptr++ = &n->o4_;
3179 *ptr++ = &n->c1_;
3180 *ptr++ = &n->h1_;
3181 *ptr++ = &n->c2_;
3182 *ptr++ = &n->h2__;
3183 *ptr++ = &n->o2_;
3184 *ptr++ = &n->h2_;
3185 *ptr++ = &n->c3_;
3186 *ptr++ = &n->h3_;
3187 *ptr++ = &n->o3_;
3188 *ptr++ = &n->n1;
3189 *ptr++ = &n->n3;
3190 *ptr++ = &n->c2;
3191 *ptr++ = &n->c4;
3192 *ptr++ = &n->c5;
3193 *ptr++ = &n->c6;
3194
3195 switch (n->type)
3196 {
3197 case 'A':
3198 *ptr++ = &n->_.A.n6;
3199 *ptr++ = &n->_.A.n7;
3200 *ptr++ = &n->_.A.n9;
3201 *ptr++ = &n->_.A.c8;
3202 *ptr++ = &n->_.A.h2;
3203 *ptr++ = &n->_.A.h61;
3204 *ptr++ = &n->_.A.h62;
3205 *ptr++ = &n->_.A.h8;
3206 break;
3207
3208 case 'C':
3209 *ptr++ = &n->_.C.n4;
3210 *ptr++ = &n->_.C.o2;
3211 *ptr++ = &n->_.C.h41;
3212 *ptr++ = &n->_.C.h42;
3213 *ptr++ = &n->_.C.h5;
3214 *ptr++ = &n->_.C.h6;
3215 break;
3216
3217 case 'G':
3218 *ptr++ = &n->_.G.n2;
3219 *ptr++ = &n->_.G.n7;
3220 *ptr++ = &n->_.G.n9;
3221 *ptr++ = &n->_.G.c8;
3222 *ptr++ = &n->_.G.o6;
3223 *ptr++ = &n->_.G.h1;
3224 *ptr++ = &n->_.G.h21;
3225 *ptr++ = &n->_.G.h22;
3226 *ptr++ = &n->_.G.h8;
3227 break;
3228
3229 case 'U':
3230 *ptr++ = &n->_.U.o2;
3231 *ptr++ = &n->_.U.o4;
3232 *ptr++ = &n->_.U.h3;
3233 *ptr++ = &n->_.U.h5;
3234 *ptr++ = &n->_.U.h6;
3235 break;
3236 }
3237 *ptr = NULL;
3238 return point_list;
3239 }
3240
distance(p)3241 FLOAT distance( p )
3242 pt p;
3243 {
3244 FLOAT x = p->x, y = p->y, z = p->z;
3245 return sqrt( x*x + y*y + z*z );
3246 }
3247
3248 FLOAT m; /* current maximal distance */
3249
var_most_distant_atom(v)3250 void var_most_distant_atom( v )
3251 var v;
3252 {
3253 pt *ptr;
3254 ptr = list_of_atoms( v->n );
3255 while (*ptr != NULL)
3256 {
3257 pt p;
3258 struct struct_pt abs_pos;
3259 FLOAT x;
3260 p = *ptr++;
3261 absolute_pos( v, p, &abs_pos );
3262 x = distance( &abs_pos );
3263 if (x > m) m = x;
3264 }
3265 }
3266
sol_most_distant_atom(s)3267 void sol_most_distant_atom( s )
3268 var_list s;
3269 {
3270 while (s->i >= 0)
3271 {
3272 var_most_distant_atom( s );
3273 s++;
3274 }
3275 }
3276
most_distant_atom(sols)3277 FLOAT most_distant_atom( sols )
3278 sol_list sols;
3279 {
3280 m = 0.0; /* set current maximum to 0 */
3281
3282 while (sols!=NULL)
3283 {
3284 sol_most_distant_atom( sols->sol );
3285 sols = sols->next;
3286 }
3287 return m;
3288 }
3289
check()3290 void check()
3291 {
3292 int n;
3293
3294 pseudoknot();
3295
3296 n = 0;
3297 while (solutions!=NULL)
3298 {
3299 n++;
3300 solutions = solutions->next;
3301 }
3302 printf( "Number of solutions: %d\n", n );
3303 }
3304
run()3305 FLOAT run()
3306 {
3307 init_nucleotides();
3308 pseudoknot();
3309 return most_distant_atom(solutions);
3310 }
3311
main(int argc,char * argv[])3312 int main (int argc, char *argv[])
3313 {
3314 int i;
3315 FLOAT result;
3316
3317 for (i=0; i<5; i++)
3318 result = run ();
3319
3320 if ((result <= 33.797594890762724*0.999999) ||
3321 (result >= 33.797594890762724*1.000001))
3322 printf ("*** wrong result ***\n");
3323
3324 return 0;
3325 }
3326
3327 /*---------------------------------------------------------------------------*/
3328