SLAMflex SE  0.1.0
SLAMflex provides detection and tracking of dominant planes for smartphone devices. This plane can then be used to show AR content relative to the plane orientation. The detection of plane is performed in the field of view of the smartphone camera. In subsequent frames it is tracked. The interface returns the plane position and orientation.
data_functions.hh
Go to the documentation of this file.
1 //Mechanically generate code. Do not edit.
2 namespace TooN {
3 //modify make_data.awk and run make internal/data_functions.hh
6  d.vals[0] = x1;
7  return d;
8 }
9 template<typename Precision> inline Operator<Internal::Data<1, Precision> > Data(const Precision& x1){
11  d.vals[0] = x1;
12  return d;
13 }
14 inline Operator<Internal::Data<2, double> > Data(double x1, double x2){
16  d.vals[0] = x1;
17  d.vals[1] = x2;
18  return d;
19 }
20 template<typename Precision> inline Operator<Internal::Data<2, Precision> > Data(const Precision& x1, const Precision& x2){
22  d.vals[0] = x1;
23  d.vals[1] = x2;
24  return d;
25 }
26 inline Operator<Internal::Data<3, double> > Data(double x1, double x2, double x3){
28  d.vals[0] = x1;
29  d.vals[1] = x2;
30  d.vals[2] = x3;
31  return d;
32 }
33 template<typename Precision> inline Operator<Internal::Data<3, Precision> > Data(const Precision& x1, const Precision& x2, const Precision& x3){
35  d.vals[0] = x1;
36  d.vals[1] = x2;
37  d.vals[2] = x3;
38  return d;
39 }
40 inline Operator<Internal::Data<4, double> > Data(double x1, double x2, double x3, double x4){
42  d.vals[0] = x1;
43  d.vals[1] = x2;
44  d.vals[2] = x3;
45  d.vals[3] = x4;
46  return d;
47 }
48 template<typename Precision> inline Operator<Internal::Data<4, Precision> > Data(const Precision& x1, const Precision& x2, const Precision& x3, const Precision& x4){
50  d.vals[0] = x1;
51  d.vals[1] = x2;
52  d.vals[2] = x3;
53  d.vals[3] = x4;
54  return d;
55 }
56 inline Operator<Internal::Data<5, double> > Data(double x1, double x2, double x3, double x4, double x5){
58  d.vals[0] = x1;
59  d.vals[1] = x2;
60  d.vals[2] = x3;
61  d.vals[3] = x4;
62  d.vals[4] = x5;
63  return d;
64 }
65 template<typename Precision> inline Operator<Internal::Data<5, Precision> > Data(const Precision& x1, const Precision& x2, const Precision& x3, const Precision& x4, const Precision& x5){
67  d.vals[0] = x1;
68  d.vals[1] = x2;
69  d.vals[2] = x3;
70  d.vals[3] = x4;
71  d.vals[4] = x5;
72  return d;
73 }
74 inline Operator<Internal::Data<6, double> > Data(double x1, double x2, double x3, double x4, double x5, double x6){
76  d.vals[0] = x1;
77  d.vals[1] = x2;
78  d.vals[2] = x3;
79  d.vals[3] = x4;
80  d.vals[4] = x5;
81  d.vals[5] = x6;
82  return d;
83 }
84 template<typename Precision> inline Operator<Internal::Data<6, Precision> > Data(const Precision& x1, const Precision& x2, const Precision& x3, const Precision& x4, const Precision& x5, const Precision& x6){
86  d.vals[0] = x1;
87  d.vals[1] = x2;
88  d.vals[2] = x3;
89  d.vals[3] = x4;
90  d.vals[4] = x5;
91  d.vals[5] = x6;
92  return d;
93 }
94 inline Operator<Internal::Data<7, double> > Data(double x1, double x2, double x3, double x4, double x5, double x6, double x7){
96  d.vals[0] = x1;
97  d.vals[1] = x2;
98  d.vals[2] = x3;
99  d.vals[3] = x4;
100  d.vals[4] = x5;
101  d.vals[5] = x6;
102  d.vals[6] = x7;
103  return d;
104 }
105 template<typename Precision> inline Operator<Internal::Data<7, Precision> > Data(const Precision& x1, const Precision& x2, const Precision& x3, const Precision& x4, const Precision& x5, const Precision& x6, const Precision& x7){
107  d.vals[0] = x1;
108  d.vals[1] = x2;
109  d.vals[2] = x3;
110  d.vals[3] = x4;
111  d.vals[4] = x5;
112  d.vals[5] = x6;
113  d.vals[6] = x7;
114  return d;
115 }
116 inline Operator<Internal::Data<8, double> > Data(double x1, double x2, double x3, double x4, double x5, double x6, double x7, double x8){
118  d.vals[0] = x1;
119  d.vals[1] = x2;
120  d.vals[2] = x3;
121  d.vals[3] = x4;
122  d.vals[4] = x5;
123  d.vals[5] = x6;
124  d.vals[6] = x7;
125  d.vals[7] = x8;
126  return d;
127 }
128 template<typename Precision> inline Operator<Internal::Data<8, Precision> > Data(const Precision& x1, const Precision& x2, const Precision& x3, const Precision& x4, const Precision& x5, const Precision& x6, const Precision& x7, const Precision& x8){
130  d.vals[0] = x1;
131  d.vals[1] = x2;
132  d.vals[2] = x3;
133  d.vals[3] = x4;
134  d.vals[4] = x5;
135  d.vals[5] = x6;
136  d.vals[6] = x7;
137  d.vals[7] = x8;
138  return d;
139 }
140 inline Operator<Internal::Data<9, double> > Data(double x1, double x2, double x3, double x4, double x5, double x6, double x7, double x8, double x9){
142  d.vals[0] = x1;
143  d.vals[1] = x2;
144  d.vals[2] = x3;
145  d.vals[3] = x4;
146  d.vals[4] = x5;
147  d.vals[5] = x6;
148  d.vals[6] = x7;
149  d.vals[7] = x8;
150  d.vals[8] = x9;
151  return d;
152 }
153 template<typename Precision> inline Operator<Internal::Data<9, Precision> > Data(const Precision& x1, const Precision& x2, const Precision& x3, const Precision& x4, const Precision& x5, const Precision& x6, const Precision& x7, const Precision& x8, const Precision& x9){
155  d.vals[0] = x1;
156  d.vals[1] = x2;
157  d.vals[2] = x3;
158  d.vals[3] = x4;
159  d.vals[4] = x5;
160  d.vals[5] = x6;
161  d.vals[6] = x7;
162  d.vals[7] = x8;
163  d.vals[8] = x9;
164  return d;
165 }
166 inline Operator<Internal::Data<10, double> > Data(double x1, double x2, double x3, double x4, double x5, double x6, double x7, double x8, double x9, double x10){
168  d.vals[0] = x1;
169  d.vals[1] = x2;
170  d.vals[2] = x3;
171  d.vals[3] = x4;
172  d.vals[4] = x5;
173  d.vals[5] = x6;
174  d.vals[6] = x7;
175  d.vals[7] = x8;
176  d.vals[8] = x9;
177  d.vals[9] = x10;
178  return d;
179 }
180 template<typename Precision> inline Operator<Internal::Data<10, Precision> > Data(const Precision& x1, const Precision& x2, const Precision& x3, const Precision& x4, const Precision& x5, const Precision& x6, const Precision& x7, const Precision& x8, const Precision& x9, const Precision& x10){
182  d.vals[0] = x1;
183  d.vals[1] = x2;
184  d.vals[2] = x3;
185  d.vals[3] = x4;
186  d.vals[4] = x5;
187  d.vals[5] = x6;
188  d.vals[6] = x7;
189  d.vals[7] = x8;
190  d.vals[8] = x9;
191  d.vals[9] = x10;
192  return d;
193 }
194 inline Operator<Internal::Data<11, double> > Data(double x1, double x2, double x3, double x4, double x5, double x6, double x7, double x8, double x9, double x10, double x11){
196  d.vals[0] = x1;
197  d.vals[1] = x2;
198  d.vals[2] = x3;
199  d.vals[3] = x4;
200  d.vals[4] = x5;
201  d.vals[5] = x6;
202  d.vals[6] = x7;
203  d.vals[7] = x8;
204  d.vals[8] = x9;
205  d.vals[9] = x10;
206  d.vals[10] = x11;
207  return d;
208 }
209 template<typename Precision> inline Operator<Internal::Data<11, Precision> > Data(const Precision& x1, const Precision& x2, const Precision& x3, const Precision& x4, const Precision& x5, const Precision& x6, const Precision& x7, const Precision& x8, const Precision& x9, const Precision& x10, const Precision& x11){
211  d.vals[0] = x1;
212  d.vals[1] = x2;
213  d.vals[2] = x3;
214  d.vals[3] = x4;
215  d.vals[4] = x5;
216  d.vals[5] = x6;
217  d.vals[6] = x7;
218  d.vals[7] = x8;
219  d.vals[8] = x9;
220  d.vals[9] = x10;
221  d.vals[10] = x11;
222  return d;
223 }
224 inline Operator<Internal::Data<12, double> > Data(double x1, double x2, double x3, double x4, double x5, double x6, double x7, double x8, double x9, double x10, double x11, double x12){
226  d.vals[0] = x1;
227  d.vals[1] = x2;
228  d.vals[2] = x3;
229  d.vals[3] = x4;
230  d.vals[4] = x5;
231  d.vals[5] = x6;
232  d.vals[6] = x7;
233  d.vals[7] = x8;
234  d.vals[8] = x9;
235  d.vals[9] = x10;
236  d.vals[10] = x11;
237  d.vals[11] = x12;
238  return d;
239 }
240 template<typename Precision> inline Operator<Internal::Data<12, Precision> > Data(const Precision& x1, const Precision& x2, const Precision& x3, const Precision& x4, const Precision& x5, const Precision& x6, const Precision& x7, const Precision& x8, const Precision& x9, const Precision& x10, const Precision& x11, const Precision& x12){
242  d.vals[0] = x1;
243  d.vals[1] = x2;
244  d.vals[2] = x3;
245  d.vals[3] = x4;
246  d.vals[4] = x5;
247  d.vals[5] = x6;
248  d.vals[6] = x7;
249  d.vals[7] = x8;
250  d.vals[8] = x9;
251  d.vals[9] = x10;
252  d.vals[10] = x11;
253  d.vals[11] = x12;
254  return d;
255 }
256 inline Operator<Internal::Data<13, double> > Data(double x1, double x2, double x3, double x4, double x5, double x6, double x7, double x8, double x9, double x10, double x11, double x12, double x13){
258  d.vals[0] = x1;
259  d.vals[1] = x2;
260  d.vals[2] = x3;
261  d.vals[3] = x4;
262  d.vals[4] = x5;
263  d.vals[5] = x6;
264  d.vals[6] = x7;
265  d.vals[7] = x8;
266  d.vals[8] = x9;
267  d.vals[9] = x10;
268  d.vals[10] = x11;
269  d.vals[11] = x12;
270  d.vals[12] = x13;
271  return d;
272 }
273 template<typename Precision> inline Operator<Internal::Data<13, Precision> > Data(const Precision& x1, const Precision& x2, const Precision& x3, const Precision& x4, const Precision& x5, const Precision& x6, const Precision& x7, const Precision& x8, const Precision& x9, const Precision& x10, const Precision& x11, const Precision& x12, const Precision& x13){
275  d.vals[0] = x1;
276  d.vals[1] = x2;
277  d.vals[2] = x3;
278  d.vals[3] = x4;
279  d.vals[4] = x5;
280  d.vals[5] = x6;
281  d.vals[6] = x7;
282  d.vals[7] = x8;
283  d.vals[8] = x9;
284  d.vals[9] = x10;
285  d.vals[10] = x11;
286  d.vals[11] = x12;
287  d.vals[12] = x13;
288  return d;
289 }
290 inline Operator<Internal::Data<14, double> > Data(double x1, double x2, double x3, double x4, double x5, double x6, double x7, double x8, double x9, double x10, double x11, double x12, double x13, double x14){
292  d.vals[0] = x1;
293  d.vals[1] = x2;
294  d.vals[2] = x3;
295  d.vals[3] = x4;
296  d.vals[4] = x5;
297  d.vals[5] = x6;
298  d.vals[6] = x7;
299  d.vals[7] = x8;
300  d.vals[8] = x9;
301  d.vals[9] = x10;
302  d.vals[10] = x11;
303  d.vals[11] = x12;
304  d.vals[12] = x13;
305  d.vals[13] = x14;
306  return d;
307 }
308 template<typename Precision> inline Operator<Internal::Data<14, Precision> > Data(const Precision& x1, const Precision& x2, const Precision& x3, const Precision& x4, const Precision& x5, const Precision& x6, const Precision& x7, const Precision& x8, const Precision& x9, const Precision& x10, const Precision& x11, const Precision& x12, const Precision& x13, const Precision& x14){
310  d.vals[0] = x1;
311  d.vals[1] = x2;
312  d.vals[2] = x3;
313  d.vals[3] = x4;
314  d.vals[4] = x5;
315  d.vals[5] = x6;
316  d.vals[6] = x7;
317  d.vals[7] = x8;
318  d.vals[8] = x9;
319  d.vals[9] = x10;
320  d.vals[10] = x11;
321  d.vals[11] = x12;
322  d.vals[12] = x13;
323  d.vals[13] = x14;
324  return d;
325 }
326 inline Operator<Internal::Data<15, double> > Data(double x1, double x2, double x3, double x4, double x5, double x6, double x7, double x8, double x9, double x10, double x11, double x12, double x13, double x14, double x15){
328  d.vals[0] = x1;
329  d.vals[1] = x2;
330  d.vals[2] = x3;
331  d.vals[3] = x4;
332  d.vals[4] = x5;
333  d.vals[5] = x6;
334  d.vals[6] = x7;
335  d.vals[7] = x8;
336  d.vals[8] = x9;
337  d.vals[9] = x10;
338  d.vals[10] = x11;
339  d.vals[11] = x12;
340  d.vals[12] = x13;
341  d.vals[13] = x14;
342  d.vals[14] = x15;
343  return d;
344 }
345 template<typename Precision> inline Operator<Internal::Data<15, Precision> > Data(const Precision& x1, const Precision& x2, const Precision& x3, const Precision& x4, const Precision& x5, const Precision& x6, const Precision& x7, const Precision& x8, const Precision& x9, const Precision& x10, const Precision& x11, const Precision& x12, const Precision& x13, const Precision& x14, const Precision& x15){
347  d.vals[0] = x1;
348  d.vals[1] = x2;
349  d.vals[2] = x3;
350  d.vals[3] = x4;
351  d.vals[4] = x5;
352  d.vals[5] = x6;
353  d.vals[6] = x7;
354  d.vals[7] = x8;
355  d.vals[8] = x9;
356  d.vals[9] = x10;
357  d.vals[10] = x11;
358  d.vals[11] = x12;
359  d.vals[12] = x13;
360  d.vals[13] = x14;
361  d.vals[14] = x15;
362  return d;
363 }
364 inline Operator<Internal::Data<16, double> > Data(double x1, double x2, double x3, double x4, double x5, double x6, double x7, double x8, double x9, double x10, double x11, double x12, double x13, double x14, double x15, double x16){
366  d.vals[0] = x1;
367  d.vals[1] = x2;
368  d.vals[2] = x3;
369  d.vals[3] = x4;
370  d.vals[4] = x5;
371  d.vals[5] = x6;
372  d.vals[6] = x7;
373  d.vals[7] = x8;
374  d.vals[8] = x9;
375  d.vals[9] = x10;
376  d.vals[10] = x11;
377  d.vals[11] = x12;
378  d.vals[12] = x13;
379  d.vals[13] = x14;
380  d.vals[14] = x15;
381  d.vals[15] = x16;
382  return d;
383 }
384 template<typename Precision> inline Operator<Internal::Data<16, Precision> > Data(const Precision& x1, const Precision& x2, const Precision& x3, const Precision& x4, const Precision& x5, const Precision& x6, const Precision& x7, const Precision& x8, const Precision& x9, const Precision& x10, const Precision& x11, const Precision& x12, const Precision& x13, const Precision& x14, const Precision& x15, const Precision& x16){
386  d.vals[0] = x1;
387  d.vals[1] = x2;
388  d.vals[2] = x3;
389  d.vals[3] = x4;
390  d.vals[4] = x5;
391  d.vals[5] = x6;
392  d.vals[6] = x7;
393  d.vals[7] = x8;
394  d.vals[8] = x9;
395  d.vals[9] = x10;
396  d.vals[10] = x11;
397  d.vals[11] = x12;
398  d.vals[12] = x13;
399  d.vals[13] = x14;
400  d.vals[14] = x15;
401  d.vals[15] = x16;
402  return d;
403 }
404 inline Operator<Internal::Data<17, double> > Data(double x1, double x2, double x3, double x4, double x5, double x6, double x7, double x8, double x9, double x10, double x11, double x12, double x13, double x14, double x15, double x16, double x17){
406  d.vals[0] = x1;
407  d.vals[1] = x2;
408  d.vals[2] = x3;
409  d.vals[3] = x4;
410  d.vals[4] = x5;
411  d.vals[5] = x6;
412  d.vals[6] = x7;
413  d.vals[7] = x8;
414  d.vals[8] = x9;
415  d.vals[9] = x10;
416  d.vals[10] = x11;
417  d.vals[11] = x12;
418  d.vals[12] = x13;
419  d.vals[13] = x14;
420  d.vals[14] = x15;
421  d.vals[15] = x16;
422  d.vals[16] = x17;
423  return d;
424 }
425 template<typename Precision> inline Operator<Internal::Data<17, Precision> > Data(const Precision& x1, const Precision& x2, const Precision& x3, const Precision& x4, const Precision& x5, const Precision& x6, const Precision& x7, const Precision& x8, const Precision& x9, const Precision& x10, const Precision& x11, const Precision& x12, const Precision& x13, const Precision& x14, const Precision& x15, const Precision& x16, const Precision& x17){
427  d.vals[0] = x1;
428  d.vals[1] = x2;
429  d.vals[2] = x3;
430  d.vals[3] = x4;
431  d.vals[4] = x5;
432  d.vals[5] = x6;
433  d.vals[6] = x7;
434  d.vals[7] = x8;
435  d.vals[8] = x9;
436  d.vals[9] = x10;
437  d.vals[10] = x11;
438  d.vals[11] = x12;
439  d.vals[12] = x13;
440  d.vals[13] = x14;
441  d.vals[14] = x15;
442  d.vals[15] = x16;
443  d.vals[16] = x17;
444  return d;
445 }
446 inline Operator<Internal::Data<18, double> > Data(double x1, double x2, double x3, double x4, double x5, double x6, double x7, double x8, double x9, double x10, double x11, double x12, double x13, double x14, double x15, double x16, double x17, double x18){
448  d.vals[0] = x1;
449  d.vals[1] = x2;
450  d.vals[2] = x3;
451  d.vals[3] = x4;
452  d.vals[4] = x5;
453  d.vals[5] = x6;
454  d.vals[6] = x7;
455  d.vals[7] = x8;
456  d.vals[8] = x9;
457  d.vals[9] = x10;
458  d.vals[10] = x11;
459  d.vals[11] = x12;
460  d.vals[12] = x13;
461  d.vals[13] = x14;
462  d.vals[14] = x15;
463  d.vals[15] = x16;
464  d.vals[16] = x17;
465  d.vals[17] = x18;
466  return d;
467 }
468 template<typename Precision> inline Operator<Internal::Data<18, Precision> > Data(const Precision& x1, const Precision& x2, const Precision& x3, const Precision& x4, const Precision& x5, const Precision& x6, const Precision& x7, const Precision& x8, const Precision& x9, const Precision& x10, const Precision& x11, const Precision& x12, const Precision& x13, const Precision& x14, const Precision& x15, const Precision& x16, const Precision& x17, const Precision& x18){
470  d.vals[0] = x1;
471  d.vals[1] = x2;
472  d.vals[2] = x3;
473  d.vals[3] = x4;
474  d.vals[4] = x5;
475  d.vals[5] = x6;
476  d.vals[6] = x7;
477  d.vals[7] = x8;
478  d.vals[8] = x9;
479  d.vals[9] = x10;
480  d.vals[10] = x11;
481  d.vals[11] = x12;
482  d.vals[12] = x13;
483  d.vals[13] = x14;
484  d.vals[14] = x15;
485  d.vals[15] = x16;
486  d.vals[16] = x17;
487  d.vals[17] = x18;
488  return d;
489 }
490 inline Operator<Internal::Data<19, double> > Data(double x1, double x2, double x3, double x4, double x5, double x6, double x7, double x8, double x9, double x10, double x11, double x12, double x13, double x14, double x15, double x16, double x17, double x18, double x19){
492  d.vals[0] = x1;
493  d.vals[1] = x2;
494  d.vals[2] = x3;
495  d.vals[3] = x4;
496  d.vals[4] = x5;
497  d.vals[5] = x6;
498  d.vals[6] = x7;
499  d.vals[7] = x8;
500  d.vals[8] = x9;
501  d.vals[9] = x10;
502  d.vals[10] = x11;
503  d.vals[11] = x12;
504  d.vals[12] = x13;
505  d.vals[13] = x14;
506  d.vals[14] = x15;
507  d.vals[15] = x16;
508  d.vals[16] = x17;
509  d.vals[17] = x18;
510  d.vals[18] = x19;
511  return d;
512 }
513 template<typename Precision> inline Operator<Internal::Data<19, Precision> > Data(const Precision& x1, const Precision& x2, const Precision& x3, const Precision& x4, const Precision& x5, const Precision& x6, const Precision& x7, const Precision& x8, const Precision& x9, const Precision& x10, const Precision& x11, const Precision& x12, const Precision& x13, const Precision& x14, const Precision& x15, const Precision& x16, const Precision& x17, const Precision& x18, const Precision& x19){
515  d.vals[0] = x1;
516  d.vals[1] = x2;
517  d.vals[2] = x3;
518  d.vals[3] = x4;
519  d.vals[4] = x5;
520  d.vals[5] = x6;
521  d.vals[6] = x7;
522  d.vals[7] = x8;
523  d.vals[8] = x9;
524  d.vals[9] = x10;
525  d.vals[10] = x11;
526  d.vals[11] = x12;
527  d.vals[12] = x13;
528  d.vals[13] = x14;
529  d.vals[14] = x15;
530  d.vals[15] = x16;
531  d.vals[16] = x17;
532  d.vals[17] = x18;
533  d.vals[18] = x19;
534  return d;
535 }
536 inline Operator<Internal::Data<20, double> > Data(double x1, double x2, double x3, double x4, double x5, double x6, double x7, double x8, double x9, double x10, double x11, double x12, double x13, double x14, double x15, double x16, double x17, double x18, double x19, double x20){
538  d.vals[0] = x1;
539  d.vals[1] = x2;
540  d.vals[2] = x3;
541  d.vals[3] = x4;
542  d.vals[4] = x5;
543  d.vals[5] = x6;
544  d.vals[6] = x7;
545  d.vals[7] = x8;
546  d.vals[8] = x9;
547  d.vals[9] = x10;
548  d.vals[10] = x11;
549  d.vals[11] = x12;
550  d.vals[12] = x13;
551  d.vals[13] = x14;
552  d.vals[14] = x15;
553  d.vals[15] = x16;
554  d.vals[16] = x17;
555  d.vals[17] = x18;
556  d.vals[18] = x19;
557  d.vals[19] = x20;
558  return d;
559 }
560 template<typename Precision> inline Operator<Internal::Data<20, Precision> > Data(const Precision& x1, const Precision& x2, const Precision& x3, const Precision& x4, const Precision& x5, const Precision& x6, const Precision& x7, const Precision& x8, const Precision& x9, const Precision& x10, const Precision& x11, const Precision& x12, const Precision& x13, const Precision& x14, const Precision& x15, const Precision& x16, const Precision& x17, const Precision& x18, const Precision& x19, const Precision& x20){
562  d.vals[0] = x1;
563  d.vals[1] = x2;
564  d.vals[2] = x3;
565  d.vals[3] = x4;
566  d.vals[4] = x5;
567  d.vals[5] = x6;
568  d.vals[6] = x7;
569  d.vals[7] = x8;
570  d.vals[8] = x9;
571  d.vals[9] = x10;
572  d.vals[10] = x11;
573  d.vals[11] = x12;
574  d.vals[12] = x13;
575  d.vals[13] = x14;
576  d.vals[14] = x15;
577  d.vals[15] = x16;
578  d.vals[16] = x17;
579  d.vals[17] = x18;
580  d.vals[18] = x19;
581  d.vals[19] = x20;
582  return d;
583 }
584 inline Operator<Internal::Data<21, double> > Data(double x1, double x2, double x3, double x4, double x5, double x6, double x7, double x8, double x9, double x10, double x11, double x12, double x13, double x14, double x15, double x16, double x17, double x18, double x19, double x20, double x21){
586  d.vals[0] = x1;
587  d.vals[1] = x2;
588  d.vals[2] = x3;
589  d.vals[3] = x4;
590  d.vals[4] = x5;
591  d.vals[5] = x6;
592  d.vals[6] = x7;
593  d.vals[7] = x8;
594  d.vals[8] = x9;
595  d.vals[9] = x10;
596  d.vals[10] = x11;
597  d.vals[11] = x12;
598  d.vals[12] = x13;
599  d.vals[13] = x14;
600  d.vals[14] = x15;
601  d.vals[15] = x16;
602  d.vals[16] = x17;
603  d.vals[17] = x18;
604  d.vals[18] = x19;
605  d.vals[19] = x20;
606  d.vals[20] = x21;
607  return d;
608 }
609 template<typename Precision> inline Operator<Internal::Data<21, Precision> > Data(const Precision& x1, const Precision& x2, const Precision& x3, const Precision& x4, const Precision& x5, const Precision& x6, const Precision& x7, const Precision& x8, const Precision& x9, const Precision& x10, const Precision& x11, const Precision& x12, const Precision& x13, const Precision& x14, const Precision& x15, const Precision& x16, const Precision& x17, const Precision& x18, const Precision& x19, const Precision& x20, const Precision& x21){
611  d.vals[0] = x1;
612  d.vals[1] = x2;
613  d.vals[2] = x3;
614  d.vals[3] = x4;
615  d.vals[4] = x5;
616  d.vals[5] = x6;
617  d.vals[6] = x7;
618  d.vals[7] = x8;
619  d.vals[8] = x9;
620  d.vals[9] = x10;
621  d.vals[10] = x11;
622  d.vals[11] = x12;
623  d.vals[12] = x13;
624  d.vals[13] = x14;
625  d.vals[14] = x15;
626  d.vals[15] = x16;
627  d.vals[16] = x17;
628  d.vals[17] = x18;
629  d.vals[18] = x19;
630  d.vals[19] = x20;
631  d.vals[20] = x21;
632  return d;
633 }
634 inline Operator<Internal::Data<22, double> > Data(double x1, double x2, double x3, double x4, double x5, double x6, double x7, double x8, double x9, double x10, double x11, double x12, double x13, double x14, double x15, double x16, double x17, double x18, double x19, double x20, double x21, double x22){
636  d.vals[0] = x1;
637  d.vals[1] = x2;
638  d.vals[2] = x3;
639  d.vals[3] = x4;
640  d.vals[4] = x5;
641  d.vals[5] = x6;
642  d.vals[6] = x7;
643  d.vals[7] = x8;
644  d.vals[8] = x9;
645  d.vals[9] = x10;
646  d.vals[10] = x11;
647  d.vals[11] = x12;
648  d.vals[12] = x13;
649  d.vals[13] = x14;
650  d.vals[14] = x15;
651  d.vals[15] = x16;
652  d.vals[16] = x17;
653  d.vals[17] = x18;
654  d.vals[18] = x19;
655  d.vals[19] = x20;
656  d.vals[20] = x21;
657  d.vals[21] = x22;
658  return d;
659 }
660 template<typename Precision> inline Operator<Internal::Data<22, Precision> > Data(const Precision& x1, const Precision& x2, const Precision& x3, const Precision& x4, const Precision& x5, const Precision& x6, const Precision& x7, const Precision& x8, const Precision& x9, const Precision& x10, const Precision& x11, const Precision& x12, const Precision& x13, const Precision& x14, const Precision& x15, const Precision& x16, const Precision& x17, const Precision& x18, const Precision& x19, const Precision& x20, const Precision& x21, const Precision& x22){
662  d.vals[0] = x1;
663  d.vals[1] = x2;
664  d.vals[2] = x3;
665  d.vals[3] = x4;
666  d.vals[4] = x5;
667  d.vals[5] = x6;
668  d.vals[6] = x7;
669  d.vals[7] = x8;
670  d.vals[8] = x9;
671  d.vals[9] = x10;
672  d.vals[10] = x11;
673  d.vals[11] = x12;
674  d.vals[12] = x13;
675  d.vals[13] = x14;
676  d.vals[14] = x15;
677  d.vals[15] = x16;
678  d.vals[16] = x17;
679  d.vals[17] = x18;
680  d.vals[18] = x19;
681  d.vals[19] = x20;
682  d.vals[20] = x21;
683  d.vals[21] = x22;
684  return d;
685 }
686 inline Operator<Internal::Data<23, double> > Data(double x1, double x2, double x3, double x4, double x5, double x6, double x7, double x8, double x9, double x10, double x11, double x12, double x13, double x14, double x15, double x16, double x17, double x18, double x19, double x20, double x21, double x22, double x23){
688  d.vals[0] = x1;
689  d.vals[1] = x2;
690  d.vals[2] = x3;
691  d.vals[3] = x4;
692  d.vals[4] = x5;
693  d.vals[5] = x6;
694  d.vals[6] = x7;
695  d.vals[7] = x8;
696  d.vals[8] = x9;
697  d.vals[9] = x10;
698  d.vals[10] = x11;
699  d.vals[11] = x12;
700  d.vals[12] = x13;
701  d.vals[13] = x14;
702  d.vals[14] = x15;
703  d.vals[15] = x16;
704  d.vals[16] = x17;
705  d.vals[17] = x18;
706  d.vals[18] = x19;
707  d.vals[19] = x20;
708  d.vals[20] = x21;
709  d.vals[21] = x22;
710  d.vals[22] = x23;
711  return d;
712 }
713 template<typename Precision> inline Operator<Internal::Data<23, Precision> > Data(const Precision& x1, const Precision& x2, const Precision& x3, const Precision& x4, const Precision& x5, const Precision& x6, const Precision& x7, const Precision& x8, const Precision& x9, const Precision& x10, const Precision& x11, const Precision& x12, const Precision& x13, const Precision& x14, const Precision& x15, const Precision& x16, const Precision& x17, const Precision& x18, const Precision& x19, const Precision& x20, const Precision& x21, const Precision& x22, const Precision& x23){
715  d.vals[0] = x1;
716  d.vals[1] = x2;
717  d.vals[2] = x3;
718  d.vals[3] = x4;
719  d.vals[4] = x5;
720  d.vals[5] = x6;
721  d.vals[6] = x7;
722  d.vals[7] = x8;
723  d.vals[8] = x9;
724  d.vals[9] = x10;
725  d.vals[10] = x11;
726  d.vals[11] = x12;
727  d.vals[12] = x13;
728  d.vals[13] = x14;
729  d.vals[14] = x15;
730  d.vals[15] = x16;
731  d.vals[16] = x17;
732  d.vals[17] = x18;
733  d.vals[18] = x19;
734  d.vals[19] = x20;
735  d.vals[20] = x21;
736  d.vals[21] = x22;
737  d.vals[22] = x23;
738  return d;
739 }
740 inline Operator<Internal::Data<24, double> > Data(double x1, double x2, double x3, double x4, double x5, double x6, double x7, double x8, double x9, double x10, double x11, double x12, double x13, double x14, double x15, double x16, double x17, double x18, double x19, double x20, double x21, double x22, double x23, double x24){
742  d.vals[0] = x1;
743  d.vals[1] = x2;
744  d.vals[2] = x3;
745  d.vals[3] = x4;
746  d.vals[4] = x5;
747  d.vals[5] = x6;
748  d.vals[6] = x7;
749  d.vals[7] = x8;
750  d.vals[8] = x9;
751  d.vals[9] = x10;
752  d.vals[10] = x11;
753  d.vals[11] = x12;
754  d.vals[12] = x13;
755  d.vals[13] = x14;
756  d.vals[14] = x15;
757  d.vals[15] = x16;
758  d.vals[16] = x17;
759  d.vals[17] = x18;
760  d.vals[18] = x19;
761  d.vals[19] = x20;
762  d.vals[20] = x21;
763  d.vals[21] = x22;
764  d.vals[22] = x23;
765  d.vals[23] = x24;
766  return d;
767 }
768 template<typename Precision> inline Operator<Internal::Data<24, Precision> > Data(const Precision& x1, const Precision& x2, const Precision& x3, const Precision& x4, const Precision& x5, const Precision& x6, const Precision& x7, const Precision& x8, const Precision& x9, const Precision& x10, const Precision& x11, const Precision& x12, const Precision& x13, const Precision& x14, const Precision& x15, const Precision& x16, const Precision& x17, const Precision& x18, const Precision& x19, const Precision& x20, const Precision& x21, const Precision& x22, const Precision& x23, const Precision& x24){
770  d.vals[0] = x1;
771  d.vals[1] = x2;
772  d.vals[2] = x3;
773  d.vals[3] = x4;
774  d.vals[4] = x5;
775  d.vals[5] = x6;
776  d.vals[6] = x7;
777  d.vals[7] = x8;
778  d.vals[8] = x9;
779  d.vals[9] = x10;
780  d.vals[10] = x11;
781  d.vals[11] = x12;
782  d.vals[12] = x13;
783  d.vals[13] = x14;
784  d.vals[14] = x15;
785  d.vals[15] = x16;
786  d.vals[16] = x17;
787  d.vals[17] = x18;
788  d.vals[18] = x19;
789  d.vals[19] = x20;
790  d.vals[20] = x21;
791  d.vals[21] = x22;
792  d.vals[22] = x23;
793  d.vals[23] = x24;
794  return d;
795 }
796 inline Operator<Internal::Data<25, double> > Data(double x1, double x2, double x3, double x4, double x5, double x6, double x7, double x8, double x9, double x10, double x11, double x12, double x13, double x14, double x15, double x16, double x17, double x18, double x19, double x20, double x21, double x22, double x23, double x24, double x25){
798  d.vals[0] = x1;
799  d.vals[1] = x2;
800  d.vals[2] = x3;
801  d.vals[3] = x4;
802  d.vals[4] = x5;
803  d.vals[5] = x6;
804  d.vals[6] = x7;
805  d.vals[7] = x8;
806  d.vals[8] = x9;
807  d.vals[9] = x10;
808  d.vals[10] = x11;
809  d.vals[11] = x12;
810  d.vals[12] = x13;
811  d.vals[13] = x14;
812  d.vals[14] = x15;
813  d.vals[15] = x16;
814  d.vals[16] = x17;
815  d.vals[17] = x18;
816  d.vals[18] = x19;
817  d.vals[19] = x20;
818  d.vals[20] = x21;
819  d.vals[21] = x22;
820  d.vals[22] = x23;
821  d.vals[23] = x24;
822  d.vals[24] = x25;
823  return d;
824 }
825 template<typename Precision> inline Operator<Internal::Data<25, Precision> > Data(const Precision& x1, const Precision& x2, const Precision& x3, const Precision& x4, const Precision& x5, const Precision& x6, const Precision& x7, const Precision& x8, const Precision& x9, const Precision& x10, const Precision& x11, const Precision& x12, const Precision& x13, const Precision& x14, const Precision& x15, const Precision& x16, const Precision& x17, const Precision& x18, const Precision& x19, const Precision& x20, const Precision& x21, const Precision& x22, const Precision& x23, const Precision& x24, const Precision& x25){
827  d.vals[0] = x1;
828  d.vals[1] = x2;
829  d.vals[2] = x3;
830  d.vals[3] = x4;
831  d.vals[4] = x5;
832  d.vals[5] = x6;
833  d.vals[6] = x7;
834  d.vals[7] = x8;
835  d.vals[8] = x9;
836  d.vals[9] = x10;
837  d.vals[10] = x11;
838  d.vals[11] = x12;
839  d.vals[12] = x13;
840  d.vals[13] = x14;
841  d.vals[14] = x15;
842  d.vals[15] = x16;
843  d.vals[16] = x17;
844  d.vals[17] = x18;
845  d.vals[18] = x19;
846  d.vals[19] = x20;
847  d.vals[20] = x21;
848  d.vals[21] = x22;
849  d.vals[22] = x23;
850  d.vals[23] = x24;
851  d.vals[24] = x25;
852  return d;
853 }
854 inline Operator<Internal::Data<26, double> > Data(double x1, double x2, double x3, double x4, double x5, double x6, double x7, double x8, double x9, double x10, double x11, double x12, double x13, double x14, double x15, double x16, double x17, double x18, double x19, double x20, double x21, double x22, double x23, double x24, double x25, double x26){
856  d.vals[0] = x1;
857  d.vals[1] = x2;
858  d.vals[2] = x3;
859  d.vals[3] = x4;
860  d.vals[4] = x5;
861  d.vals[5] = x6;
862  d.vals[6] = x7;
863  d.vals[7] = x8;
864  d.vals[8] = x9;
865  d.vals[9] = x10;
866  d.vals[10] = x11;
867  d.vals[11] = x12;
868  d.vals[12] = x13;
869  d.vals[13] = x14;
870  d.vals[14] = x15;
871  d.vals[15] = x16;
872  d.vals[16] = x17;
873  d.vals[17] = x18;
874  d.vals[18] = x19;
875  d.vals[19] = x20;
876  d.vals[20] = x21;
877  d.vals[21] = x22;
878  d.vals[22] = x23;
879  d.vals[23] = x24;
880  d.vals[24] = x25;
881  d.vals[25] = x26;
882  return d;
883 }
884 template<typename Precision> inline Operator<Internal::Data<26, Precision> > Data(const Precision& x1, const Precision& x2, const Precision& x3, const Precision& x4, const Precision& x5, const Precision& x6, const Precision& x7, const Precision& x8, const Precision& x9, const Precision& x10, const Precision& x11, const Precision& x12, const Precision& x13, const Precision& x14, const Precision& x15, const Precision& x16, const Precision& x17, const Precision& x18, const Precision& x19, const Precision& x20, const Precision& x21, const Precision& x22, const Precision& x23, const Precision& x24, const Precision& x25, const Precision& x26){
886  d.vals[0] = x1;
887  d.vals[1] = x2;
888  d.vals[2] = x3;
889  d.vals[3] = x4;
890  d.vals[4] = x5;
891  d.vals[5] = x6;
892  d.vals[6] = x7;
893  d.vals[7] = x8;
894  d.vals[8] = x9;
895  d.vals[9] = x10;
896  d.vals[10] = x11;
897  d.vals[11] = x12;
898  d.vals[12] = x13;
899  d.vals[13] = x14;
900  d.vals[14] = x15;
901  d.vals[15] = x16;
902  d.vals[16] = x17;
903  d.vals[17] = x18;
904  d.vals[18] = x19;
905  d.vals[19] = x20;
906  d.vals[20] = x21;
907  d.vals[21] = x22;
908  d.vals[22] = x23;
909  d.vals[23] = x24;
910  d.vals[24] = x25;
911  d.vals[25] = x26;
912  return d;
913 }
914 inline Operator<Internal::Data<27, double> > Data(double x1, double x2, double x3, double x4, double x5, double x6, double x7, double x8, double x9, double x10, double x11, double x12, double x13, double x14, double x15, double x16, double x17, double x18, double x19, double x20, double x21, double x22, double x23, double x24, double x25, double x26, double x27){
916  d.vals[0] = x1;
917  d.vals[1] = x2;
918  d.vals[2] = x3;
919  d.vals[3] = x4;
920  d.vals[4] = x5;
921  d.vals[5] = x6;
922  d.vals[6] = x7;
923  d.vals[7] = x8;
924  d.vals[8] = x9;
925  d.vals[9] = x10;
926  d.vals[10] = x11;
927  d.vals[11] = x12;
928  d.vals[12] = x13;
929  d.vals[13] = x14;
930  d.vals[14] = x15;
931  d.vals[15] = x16;
932  d.vals[16] = x17;
933  d.vals[17] = x18;
934  d.vals[18] = x19;
935  d.vals[19] = x20;
936  d.vals[20] = x21;
937  d.vals[21] = x22;
938  d.vals[22] = x23;
939  d.vals[23] = x24;
940  d.vals[24] = x25;
941  d.vals[25] = x26;
942  d.vals[26] = x27;
943  return d;
944 }
945 template<typename Precision> inline Operator<Internal::Data<27, Precision> > Data(const Precision& x1, const Precision& x2, const Precision& x3, const Precision& x4, const Precision& x5, const Precision& x6, const Precision& x7, const Precision& x8, const Precision& x9, const Precision& x10, const Precision& x11, const Precision& x12, const Precision& x13, const Precision& x14, const Precision& x15, const Precision& x16, const Precision& x17, const Precision& x18, const Precision& x19, const Precision& x20, const Precision& x21, const Precision& x22, const Precision& x23, const Precision& x24, const Precision& x25, const Precision& x26, const Precision& x27){
947  d.vals[0] = x1;
948  d.vals[1] = x2;
949  d.vals[2] = x3;
950  d.vals[3] = x4;
951  d.vals[4] = x5;
952  d.vals[5] = x6;
953  d.vals[6] = x7;
954  d.vals[7] = x8;
955  d.vals[8] = x9;
956  d.vals[9] = x10;
957  d.vals[10] = x11;
958  d.vals[11] = x12;
959  d.vals[12] = x13;
960  d.vals[13] = x14;
961  d.vals[14] = x15;
962  d.vals[15] = x16;
963  d.vals[16] = x17;
964  d.vals[17] = x18;
965  d.vals[18] = x19;
966  d.vals[19] = x20;
967  d.vals[20] = x21;
968  d.vals[21] = x22;
969  d.vals[22] = x23;
970  d.vals[23] = x24;
971  d.vals[24] = x25;
972  d.vals[25] = x26;
973  d.vals[26] = x27;
974  return d;
975 }
976 inline Operator<Internal::Data<28, double> > Data(double x1, double x2, double x3, double x4, double x5, double x6, double x7, double x8, double x9, double x10, double x11, double x12, double x13, double x14, double x15, double x16, double x17, double x18, double x19, double x20, double x21, double x22, double x23, double x24, double x25, double x26, double x27, double x28){
978  d.vals[0] = x1;
979  d.vals[1] = x2;
980  d.vals[2] = x3;
981  d.vals[3] = x4;
982  d.vals[4] = x5;
983  d.vals[5] = x6;
984  d.vals[6] = x7;
985  d.vals[7] = x8;
986  d.vals[8] = x9;
987  d.vals[9] = x10;
988  d.vals[10] = x11;
989  d.vals[11] = x12;
990  d.vals[12] = x13;
991  d.vals[13] = x14;
992  d.vals[14] = x15;
993  d.vals[15] = x16;
994  d.vals[16] = x17;
995  d.vals[17] = x18;
996  d.vals[18] = x19;
997  d.vals[19] = x20;
998  d.vals[20] = x21;
999  d.vals[21] = x22;
1000  d.vals[22] = x23;
1001  d.vals[23] = x24;
1002  d.vals[24] = x25;
1003  d.vals[25] = x26;
1004  d.vals[26] = x27;
1005  d.vals[27] = x28;
1006  return d;
1007 }
1008 template<typename Precision> inline Operator<Internal::Data<28, Precision> > Data(const Precision& x1, const Precision& x2, const Precision& x3, const Precision& x4, const Precision& x5, const Precision& x6, const Precision& x7, const Precision& x8, const Precision& x9, const Precision& x10, const Precision& x11, const Precision& x12, const Precision& x13, const Precision& x14, const Precision& x15, const Precision& x16, const Precision& x17, const Precision& x18, const Precision& x19, const Precision& x20, const Precision& x21, const Precision& x22, const Precision& x23, const Precision& x24, const Precision& x25, const Precision& x26, const Precision& x27, const Precision& x28){
1010  d.vals[0] = x1;
1011  d.vals[1] = x2;
1012  d.vals[2] = x3;
1013  d.vals[3] = x4;
1014  d.vals[4] = x5;
1015  d.vals[5] = x6;
1016  d.vals[6] = x7;
1017  d.vals[7] = x8;
1018  d.vals[8] = x9;
1019  d.vals[9] = x10;
1020  d.vals[10] = x11;
1021  d.vals[11] = x12;
1022  d.vals[12] = x13;
1023  d.vals[13] = x14;
1024  d.vals[14] = x15;
1025  d.vals[15] = x16;
1026  d.vals[16] = x17;
1027  d.vals[17] = x18;
1028  d.vals[18] = x19;
1029  d.vals[19] = x20;
1030  d.vals[20] = x21;
1031  d.vals[21] = x22;
1032  d.vals[22] = x23;
1033  d.vals[23] = x24;
1034  d.vals[24] = x25;
1035  d.vals[25] = x26;
1036  d.vals[26] = x27;
1037  d.vals[27] = x28;
1038  return d;
1039 }
1040 inline Operator<Internal::Data<29, double> > Data(double x1, double x2, double x3, double x4, double x5, double x6, double x7, double x8, double x9, double x10, double x11, double x12, double x13, double x14, double x15, double x16, double x17, double x18, double x19, double x20, double x21, double x22, double x23, double x24, double x25, double x26, double x27, double x28, double x29){
1042  d.vals[0] = x1;
1043  d.vals[1] = x2;
1044  d.vals[2] = x3;
1045  d.vals[3] = x4;
1046  d.vals[4] = x5;
1047  d.vals[5] = x6;
1048  d.vals[6] = x7;
1049  d.vals[7] = x8;
1050  d.vals[8] = x9;
1051  d.vals[9] = x10;
1052  d.vals[10] = x11;
1053  d.vals[11] = x12;
1054  d.vals[12] = x13;
1055  d.vals[13] = x14;
1056  d.vals[14] = x15;
1057  d.vals[15] = x16;
1058  d.vals[16] = x17;
1059  d.vals[17] = x18;
1060  d.vals[18] = x19;
1061  d.vals[19] = x20;
1062  d.vals[20] = x21;
1063  d.vals[21] = x22;
1064  d.vals[22] = x23;
1065  d.vals[23] = x24;
1066  d.vals[24] = x25;
1067  d.vals[25] = x26;
1068  d.vals[26] = x27;
1069  d.vals[27] = x28;
1070  d.vals[28] = x29;
1071  return d;
1072 }
1073 template<typename Precision> inline Operator<Internal::Data<29, Precision> > Data(const Precision& x1, const Precision& x2, const Precision& x3, const Precision& x4, const Precision& x5, const Precision& x6, const Precision& x7, const Precision& x8, const Precision& x9, const Precision& x10, const Precision& x11, const Precision& x12, const Precision& x13, const Precision& x14, const Precision& x15, const Precision& x16, const Precision& x17, const Precision& x18, const Precision& x19, const Precision& x20, const Precision& x21, const Precision& x22, const Precision& x23, const Precision& x24, const Precision& x25, const Precision& x26, const Precision& x27, const Precision& x28, const Precision& x29){
1075  d.vals[0] = x1;
1076  d.vals[1] = x2;
1077  d.vals[2] = x3;
1078  d.vals[3] = x4;
1079  d.vals[4] = x5;
1080  d.vals[5] = x6;
1081  d.vals[6] = x7;
1082  d.vals[7] = x8;
1083  d.vals[8] = x9;
1084  d.vals[9] = x10;
1085  d.vals[10] = x11;
1086  d.vals[11] = x12;
1087  d.vals[12] = x13;
1088  d.vals[13] = x14;
1089  d.vals[14] = x15;
1090  d.vals[15] = x16;
1091  d.vals[16] = x17;
1092  d.vals[17] = x18;
1093  d.vals[18] = x19;
1094  d.vals[19] = x20;
1095  d.vals[20] = x21;
1096  d.vals[21] = x22;
1097  d.vals[22] = x23;
1098  d.vals[23] = x24;
1099  d.vals[24] = x25;
1100  d.vals[25] = x26;
1101  d.vals[26] = x27;
1102  d.vals[27] = x28;
1103  d.vals[28] = x29;
1104  return d;
1105 }
1106 inline Operator<Internal::Data<30, double> > Data(double x1, double x2, double x3, double x4, double x5, double x6, double x7, double x8, double x9, double x10, double x11, double x12, double x13, double x14, double x15, double x16, double x17, double x18, double x19, double x20, double x21, double x22, double x23, double x24, double x25, double x26, double x27, double x28, double x29, double x30){
1108  d.vals[0] = x1;
1109  d.vals[1] = x2;
1110  d.vals[2] = x3;
1111  d.vals[3] = x4;
1112  d.vals[4] = x5;
1113  d.vals[5] = x6;
1114  d.vals[6] = x7;
1115  d.vals[7] = x8;
1116  d.vals[8] = x9;
1117  d.vals[9] = x10;
1118  d.vals[10] = x11;
1119  d.vals[11] = x12;
1120  d.vals[12] = x13;
1121  d.vals[13] = x14;
1122  d.vals[14] = x15;
1123  d.vals[15] = x16;
1124  d.vals[16] = x17;
1125  d.vals[17] = x18;
1126  d.vals[18] = x19;
1127  d.vals[19] = x20;
1128  d.vals[20] = x21;
1129  d.vals[21] = x22;
1130  d.vals[22] = x23;
1131  d.vals[23] = x24;
1132  d.vals[24] = x25;
1133  d.vals[25] = x26;
1134  d.vals[26] = x27;
1135  d.vals[27] = x28;
1136  d.vals[28] = x29;
1137  d.vals[29] = x30;
1138  return d;
1139 }
1140 template<typename Precision> inline Operator<Internal::Data<30, Precision> > Data(const Precision& x1, const Precision& x2, const Precision& x3, const Precision& x4, const Precision& x5, const Precision& x6, const Precision& x7, const Precision& x8, const Precision& x9, const Precision& x10, const Precision& x11, const Precision& x12, const Precision& x13, const Precision& x14, const Precision& x15, const Precision& x16, const Precision& x17, const Precision& x18, const Precision& x19, const Precision& x20, const Precision& x21, const Precision& x22, const Precision& x23, const Precision& x24, const Precision& x25, const Precision& x26, const Precision& x27, const Precision& x28, const Precision& x29, const Precision& x30){
1142  d.vals[0] = x1;
1143  d.vals[1] = x2;
1144  d.vals[2] = x3;
1145  d.vals[3] = x4;
1146  d.vals[4] = x5;
1147  d.vals[5] = x6;
1148  d.vals[6] = x7;
1149  d.vals[7] = x8;
1150  d.vals[8] = x9;
1151  d.vals[9] = x10;
1152  d.vals[10] = x11;
1153  d.vals[11] = x12;
1154  d.vals[12] = x13;
1155  d.vals[13] = x14;
1156  d.vals[14] = x15;
1157  d.vals[15] = x16;
1158  d.vals[16] = x17;
1159  d.vals[17] = x18;
1160  d.vals[18] = x19;
1161  d.vals[19] = x20;
1162  d.vals[20] = x21;
1163  d.vals[21] = x22;
1164  d.vals[22] = x23;
1165  d.vals[23] = x24;
1166  d.vals[24] = x25;
1167  d.vals[25] = x26;
1168  d.vals[26] = x27;
1169  d.vals[27] = x28;
1170  d.vals[28] = x29;
1171  d.vals[29] = x30;
1172  return d;
1173 }
1174 inline Operator<Internal::Data<31, double> > Data(double x1, double x2, double x3, double x4, double x5, double x6, double x7, double x8, double x9, double x10, double x11, double x12, double x13, double x14, double x15, double x16, double x17, double x18, double x19, double x20, double x21, double x22, double x23, double x24, double x25, double x26, double x27, double x28, double x29, double x30, double x31){
1176  d.vals[0] = x1;
1177  d.vals[1] = x2;
1178  d.vals[2] = x3;
1179  d.vals[3] = x4;
1180  d.vals[4] = x5;
1181  d.vals[5] = x6;
1182  d.vals[6] = x7;
1183  d.vals[7] = x8;
1184  d.vals[8] = x9;
1185  d.vals[9] = x10;
1186  d.vals[10] = x11;
1187  d.vals[11] = x12;
1188  d.vals[12] = x13;
1189  d.vals[13] = x14;
1190  d.vals[14] = x15;
1191  d.vals[15] = x16;
1192  d.vals[16] = x17;
1193  d.vals[17] = x18;
1194  d.vals[18] = x19;
1195  d.vals[19] = x20;
1196  d.vals[20] = x21;
1197  d.vals[21] = x22;
1198  d.vals[22] = x23;
1199  d.vals[23] = x24;
1200  d.vals[24] = x25;
1201  d.vals[25] = x26;
1202  d.vals[26] = x27;
1203  d.vals[27] = x28;
1204  d.vals[28] = x29;
1205  d.vals[29] = x30;
1206  d.vals[30] = x31;
1207  return d;
1208 }
1209 template<typename Precision> inline Operator<Internal::Data<31, Precision> > Data(const Precision& x1, const Precision& x2, const Precision& x3, const Precision& x4, const Precision& x5, const Precision& x6, const Precision& x7, const Precision& x8, const Precision& x9, const Precision& x10, const Precision& x11, const Precision& x12, const Precision& x13, const Precision& x14, const Precision& x15, const Precision& x16, const Precision& x17, const Precision& x18, const Precision& x19, const Precision& x20, const Precision& x21, const Precision& x22, const Precision& x23, const Precision& x24, const Precision& x25, const Precision& x26, const Precision& x27, const Precision& x28, const Precision& x29, const Precision& x30, const Precision& x31){
1211  d.vals[0] = x1;
1212  d.vals[1] = x2;
1213  d.vals[2] = x3;
1214  d.vals[3] = x4;
1215  d.vals[4] = x5;
1216  d.vals[5] = x6;
1217  d.vals[6] = x7;
1218  d.vals[7] = x8;
1219  d.vals[8] = x9;
1220  d.vals[9] = x10;
1221  d.vals[10] = x11;
1222  d.vals[11] = x12;
1223  d.vals[12] = x13;
1224  d.vals[13] = x14;
1225  d.vals[14] = x15;
1226  d.vals[15] = x16;
1227  d.vals[16] = x17;
1228  d.vals[17] = x18;
1229  d.vals[18] = x19;
1230  d.vals[19] = x20;
1231  d.vals[20] = x21;
1232  d.vals[21] = x22;
1233  d.vals[22] = x23;
1234  d.vals[23] = x24;
1235  d.vals[24] = x25;
1236  d.vals[25] = x26;
1237  d.vals[26] = x27;
1238  d.vals[27] = x28;
1239  d.vals[28] = x29;
1240  d.vals[29] = x30;
1241  d.vals[30] = x31;
1242  return d;
1243 }
1244 inline Operator<Internal::Data<32, double> > Data(double x1, double x2, double x3, double x4, double x5, double x6, double x7, double x8, double x9, double x10, double x11, double x12, double x13, double x14, double x15, double x16, double x17, double x18, double x19, double x20, double x21, double x22, double x23, double x24, double x25, double x26, double x27, double x28, double x29, double x30, double x31, double x32){
1246  d.vals[0] = x1;
1247  d.vals[1] = x2;
1248  d.vals[2] = x3;
1249  d.vals[3] = x4;
1250  d.vals[4] = x5;
1251  d.vals[5] = x6;
1252  d.vals[6] = x7;
1253  d.vals[7] = x8;
1254  d.vals[8] = x9;
1255  d.vals[9] = x10;
1256  d.vals[10] = x11;
1257  d.vals[11] = x12;
1258  d.vals[12] = x13;
1259  d.vals[13] = x14;
1260  d.vals[14] = x15;
1261  d.vals[15] = x16;
1262  d.vals[16] = x17;
1263  d.vals[17] = x18;
1264  d.vals[18] = x19;
1265  d.vals[19] = x20;
1266  d.vals[20] = x21;
1267  d.vals[21] = x22;
1268  d.vals[22] = x23;
1269  d.vals[23] = x24;
1270  d.vals[24] = x25;
1271  d.vals[25] = x26;
1272  d.vals[26] = x27;
1273  d.vals[27] = x28;
1274  d.vals[28] = x29;
1275  d.vals[29] = x30;
1276  d.vals[30] = x31;
1277  d.vals[31] = x32;
1278  return d;
1279 }
1280 template<typename Precision> inline Operator<Internal::Data<32, Precision> > Data(const Precision& x1, const Precision& x2, const Precision& x3, const Precision& x4, const Precision& x5, const Precision& x6, const Precision& x7, const Precision& x8, const Precision& x9, const Precision& x10, const Precision& x11, const Precision& x12, const Precision& x13, const Precision& x14, const Precision& x15, const Precision& x16, const Precision& x17, const Precision& x18, const Precision& x19, const Precision& x20, const Precision& x21, const Precision& x22, const Precision& x23, const Precision& x24, const Precision& x25, const Precision& x26, const Precision& x27, const Precision& x28, const Precision& x29, const Precision& x30, const Precision& x31, const Precision& x32){
1282  d.vals[0] = x1;
1283  d.vals[1] = x2;
1284  d.vals[2] = x3;
1285  d.vals[3] = x4;
1286  d.vals[4] = x5;
1287  d.vals[5] = x6;
1288  d.vals[6] = x7;
1289  d.vals[7] = x8;
1290  d.vals[8] = x9;
1291  d.vals[9] = x10;
1292  d.vals[10] = x11;
1293  d.vals[11] = x12;
1294  d.vals[12] = x13;
1295  d.vals[13] = x14;
1296  d.vals[14] = x15;
1297  d.vals[15] = x16;
1298  d.vals[16] = x17;
1299  d.vals[17] = x18;
1300  d.vals[18] = x19;
1301  d.vals[19] = x20;
1302  d.vals[20] = x21;
1303  d.vals[21] = x22;
1304  d.vals[22] = x23;
1305  d.vals[23] = x24;
1306  d.vals[24] = x25;
1307  d.vals[25] = x26;
1308  d.vals[26] = x27;
1309  d.vals[27] = x28;
1310  d.vals[28] = x29;
1311  d.vals[29] = x30;
1312  d.vals[30] = x31;
1313  d.vals[31] = x32;
1314  return d;
1315 }
1316 inline Operator<Internal::Data<33, double> > Data(double x1, double x2, double x3, double x4, double x5, double x6, double x7, double x8, double x9, double x10, double x11, double x12, double x13, double x14, double x15, double x16, double x17, double x18, double x19, double x20, double x21, double x22, double x23, double x24, double x25, double x26, double x27, double x28, double x29, double x30, double x31, double x32, double x33){
1318  d.vals[0] = x1;
1319  d.vals[1] = x2;
1320  d.vals[2] = x3;
1321  d.vals[3] = x4;
1322  d.vals[4] = x5;
1323  d.vals[5] = x6;
1324  d.vals[6] = x7;
1325  d.vals[7] = x8;
1326  d.vals[8] = x9;
1327  d.vals[9] = x10;
1328  d.vals[10] = x11;
1329  d.vals[11] = x12;
1330  d.vals[12] = x13;
1331  d.vals[13] = x14;
1332  d.vals[14] = x15;
1333  d.vals[15] = x16;
1334  d.vals[16] = x17;
1335  d.vals[17] = x18;
1336  d.vals[18] = x19;
1337  d.vals[19] = x20;
1338  d.vals[20] = x21;
1339  d.vals[21] = x22;
1340  d.vals[22] = x23;
1341  d.vals[23] = x24;
1342  d.vals[24] = x25;
1343  d.vals[25] = x26;
1344  d.vals[26] = x27;
1345  d.vals[27] = x28;
1346  d.vals[28] = x29;
1347  d.vals[29] = x30;
1348  d.vals[30] = x31;
1349  d.vals[31] = x32;
1350  d.vals[32] = x33;
1351  return d;
1352 }
1353 template<typename Precision> inline Operator<Internal::Data<33, Precision> > Data(const Precision& x1, const Precision& x2, const Precision& x3, const Precision& x4, const Precision& x5, const Precision& x6, const Precision& x7, const Precision& x8, const Precision& x9, const Precision& x10, const Precision& x11, const Precision& x12, const Precision& x13, const Precision& x14, const Precision& x15, const Precision& x16, const Precision& x17, const Precision& x18, const Precision& x19, const Precision& x20, const Precision& x21, const Precision& x22, const Precision& x23, const Precision& x24, const Precision& x25, const Precision& x26, const Precision& x27, const Precision& x28, const Precision& x29, const Precision& x30, const Precision& x31, const Precision& x32, const Precision& x33){
1355  d.vals[0] = x1;
1356  d.vals[1] = x2;
1357  d.vals[2] = x3;
1358  d.vals[3] = x4;
1359  d.vals[4] = x5;
1360  d.vals[5] = x6;
1361  d.vals[6] = x7;
1362  d.vals[7] = x8;
1363  d.vals[8] = x9;
1364  d.vals[9] = x10;
1365  d.vals[10] = x11;
1366  d.vals[11] = x12;
1367  d.vals[12] = x13;
1368  d.vals[13] = x14;
1369  d.vals[14] = x15;
1370  d.vals[15] = x16;
1371  d.vals[16] = x17;
1372  d.vals[17] = x18;
1373  d.vals[18] = x19;
1374  d.vals[19] = x20;
1375  d.vals[20] = x21;
1376  d.vals[21] = x22;
1377  d.vals[22] = x23;
1378  d.vals[23] = x24;
1379  d.vals[24] = x25;
1380  d.vals[25] = x26;
1381  d.vals[26] = x27;
1382  d.vals[27] = x28;
1383  d.vals[28] = x29;
1384  d.vals[29] = x30;
1385  d.vals[30] = x31;
1386  d.vals[31] = x32;
1387  d.vals[32] = x33;
1388  return d;
1389 }
1390 inline Operator<Internal::Data<34, double> > Data(double x1, double x2, double x3, double x4, double x5, double x6, double x7, double x8, double x9, double x10, double x11, double x12, double x13, double x14, double x15, double x16, double x17, double x18, double x19, double x20, double x21, double x22, double x23, double x24, double x25, double x26, double x27, double x28, double x29, double x30, double x31, double x32, double x33, double x34){
1392  d.vals[0] = x1;
1393  d.vals[1] = x2;
1394  d.vals[2] = x3;
1395  d.vals[3] = x4;
1396  d.vals[4] = x5;
1397  d.vals[5] = x6;
1398  d.vals[6] = x7;
1399  d.vals[7] = x8;
1400  d.vals[8] = x9;
1401  d.vals[9] = x10;
1402  d.vals[10] = x11;
1403  d.vals[11] = x12;
1404  d.vals[12] = x13;
1405  d.vals[13] = x14;
1406  d.vals[14] = x15;
1407  d.vals[15] = x16;
1408  d.vals[16] = x17;
1409  d.vals[17] = x18;
1410  d.vals[18] = x19;
1411  d.vals[19] = x20;
1412  d.vals[20] = x21;
1413  d.vals[21] = x22;
1414  d.vals[22] = x23;
1415  d.vals[23] = x24;
1416  d.vals[24] = x25;
1417  d.vals[25] = x26;
1418  d.vals[26] = x27;
1419  d.vals[27] = x28;
1420  d.vals[28] = x29;
1421  d.vals[29] = x30;
1422  d.vals[30] = x31;
1423  d.vals[31] = x32;
1424  d.vals[32] = x33;
1425  d.vals[33] = x34;
1426  return d;
1427 }
1428 template<typename Precision> inline Operator<Internal::Data<34, Precision> > Data(const Precision& x1, const Precision& x2, const Precision& x3, const Precision& x4, const Precision& x5, const Precision& x6, const Precision& x7, const Precision& x8, const Precision& x9, const Precision& x10, const Precision& x11, const Precision& x12, const Precision& x13, const Precision& x14, const Precision& x15, const Precision& x16, const Precision& x17, const Precision& x18, const Precision& x19, const Precision& x20, const Precision& x21, const Precision& x22, const Precision& x23, const Precision& x24, const Precision& x25, const Precision& x26, const Precision& x27, const Precision& x28, const Precision& x29, const Precision& x30, const Precision& x31, const Precision& x32, const Precision& x33, const Precision& x34){
1430  d.vals[0] = x1;
1431  d.vals[1] = x2;
1432  d.vals[2] = x3;
1433  d.vals[3] = x4;
1434  d.vals[4] = x5;
1435  d.vals[5] = x6;
1436  d.vals[6] = x7;
1437  d.vals[7] = x8;
1438  d.vals[8] = x9;
1439  d.vals[9] = x10;
1440  d.vals[10] = x11;
1441  d.vals[11] = x12;
1442  d.vals[12] = x13;
1443  d.vals[13] = x14;
1444  d.vals[14] = x15;
1445  d.vals[15] = x16;
1446  d.vals[16] = x17;
1447  d.vals[17] = x18;
1448  d.vals[18] = x19;
1449  d.vals[19] = x20;
1450  d.vals[20] = x21;
1451  d.vals[21] = x22;
1452  d.vals[22] = x23;
1453  d.vals[23] = x24;
1454  d.vals[24] = x25;
1455  d.vals[25] = x26;
1456  d.vals[26] = x27;
1457  d.vals[27] = x28;
1458  d.vals[28] = x29;
1459  d.vals[29] = x30;
1460  d.vals[30] = x31;
1461  d.vals[31] = x32;
1462  d.vals[32] = x33;
1463  d.vals[33] = x34;
1464  return d;
1465 }
1466 inline Operator<Internal::Data<35, double> > Data(double x1, double x2, double x3, double x4, double x5, double x6, double x7, double x8, double x9, double x10, double x11, double x12, double x13, double x14, double x15, double x16, double x17, double x18, double x19, double x20, double x21, double x22, double x23, double x24, double x25, double x26, double x27, double x28, double x29, double x30, double x31, double x32, double x33, double x34, double x35){
1468  d.vals[0] = x1;
1469  d.vals[1] = x2;
1470  d.vals[2] = x3;
1471  d.vals[3] = x4;
1472  d.vals[4] = x5;
1473  d.vals[5] = x6;
1474  d.vals[6] = x7;
1475  d.vals[7] = x8;
1476  d.vals[8] = x9;
1477  d.vals[9] = x10;
1478  d.vals[10] = x11;
1479  d.vals[11] = x12;
1480  d.vals[12] = x13;
1481  d.vals[13] = x14;
1482  d.vals[14] = x15;
1483  d.vals[15] = x16;
1484  d.vals[16] = x17;
1485  d.vals[17] = x18;
1486  d.vals[18] = x19;
1487  d.vals[19] = x20;
1488  d.vals[20] = x21;
1489  d.vals[21] = x22;
1490  d.vals[22] = x23;
1491  d.vals[23] = x24;
1492  d.vals[24] = x25;
1493  d.vals[25] = x26;
1494  d.vals[26] = x27;
1495  d.vals[27] = x28;
1496  d.vals[28] = x29;
1497  d.vals[29] = x30;
1498  d.vals[30] = x31;
1499  d.vals[31] = x32;
1500  d.vals[32] = x33;
1501  d.vals[33] = x34;
1502  d.vals[34] = x35;
1503  return d;
1504 }
1505 template<typename Precision> inline Operator<Internal::Data<35, Precision> > Data(const Precision& x1, const Precision& x2, const Precision& x3, const Precision& x4, const Precision& x5, const Precision& x6, const Precision& x7, const Precision& x8, const Precision& x9, const Precision& x10, const Precision& x11, const Precision& x12, const Precision& x13, const Precision& x14, const Precision& x15, const Precision& x16, const Precision& x17, const Precision& x18, const Precision& x19, const Precision& x20, const Precision& x21, const Precision& x22, const Precision& x23, const Precision& x24, const Precision& x25, const Precision& x26, const Precision& x27, const Precision& x28, const Precision& x29, const Precision& x30, const Precision& x31, const Precision& x32, const Precision& x33, const Precision& x34, const Precision& x35){
1507  d.vals[0] = x1;
1508  d.vals[1] = x2;
1509  d.vals[2] = x3;
1510  d.vals[3] = x4;
1511  d.vals[4] = x5;
1512  d.vals[5] = x6;
1513  d.vals[6] = x7;
1514  d.vals[7] = x8;
1515  d.vals[8] = x9;
1516  d.vals[9] = x10;
1517  d.vals[10] = x11;
1518  d.vals[11] = x12;
1519  d.vals[12] = x13;
1520  d.vals[13] = x14;
1521  d.vals[14] = x15;
1522  d.vals[15] = x16;
1523  d.vals[16] = x17;
1524  d.vals[17] = x18;
1525  d.vals[18] = x19;
1526  d.vals[19] = x20;
1527  d.vals[20] = x21;
1528  d.vals[21] = x22;
1529  d.vals[22] = x23;
1530  d.vals[23] = x24;
1531  d.vals[24] = x25;
1532  d.vals[25] = x26;
1533  d.vals[26] = x27;
1534  d.vals[27] = x28;
1535  d.vals[28] = x29;
1536  d.vals[29] = x30;
1537  d.vals[30] = x31;
1538  d.vals[31] = x32;
1539  d.vals[32] = x33;
1540  d.vals[33] = x34;
1541  d.vals[34] = x35;
1542  return d;
1543 }
1544 inline Operator<Internal::Data<36, double> > Data(double x1, double x2, double x3, double x4, double x5, double x6, double x7, double x8, double x9, double x10, double x11, double x12, double x13, double x14, double x15, double x16, double x17, double x18, double x19, double x20, double x21, double x22, double x23, double x24, double x25, double x26, double x27, double x28, double x29, double x30, double x31, double x32, double x33, double x34, double x35, double x36){
1546  d.vals[0] = x1;
1547  d.vals[1] = x2;
1548  d.vals[2] = x3;
1549  d.vals[3] = x4;
1550  d.vals[4] = x5;
1551  d.vals[5] = x6;
1552  d.vals[6] = x7;
1553  d.vals[7] = x8;
1554  d.vals[8] = x9;
1555  d.vals[9] = x10;
1556  d.vals[10] = x11;
1557  d.vals[11] = x12;
1558  d.vals[12] = x13;
1559  d.vals[13] = x14;
1560  d.vals[14] = x15;
1561  d.vals[15] = x16;
1562  d.vals[16] = x17;
1563  d.vals[17] = x18;
1564  d.vals[18] = x19;
1565  d.vals[19] = x20;
1566  d.vals[20] = x21;
1567  d.vals[21] = x22;
1568  d.vals[22] = x23;
1569  d.vals[23] = x24;
1570  d.vals[24] = x25;
1571  d.vals[25] = x26;
1572  d.vals[26] = x27;
1573  d.vals[27] = x28;
1574  d.vals[28] = x29;
1575  d.vals[29] = x30;
1576  d.vals[30] = x31;
1577  d.vals[31] = x32;
1578  d.vals[32] = x33;
1579  d.vals[33] = x34;
1580  d.vals[34] = x35;
1581  d.vals[35] = x36;
1582  return d;
1583 }
1584 template<typename Precision> inline Operator<Internal::Data<36, Precision> > Data(const Precision& x1, const Precision& x2, const Precision& x3, const Precision& x4, const Precision& x5, const Precision& x6, const Precision& x7, const Precision& x8, const Precision& x9, const Precision& x10, const Precision& x11, const Precision& x12, const Precision& x13, const Precision& x14, const Precision& x15, const Precision& x16, const Precision& x17, const Precision& x18, const Precision& x19, const Precision& x20, const Precision& x21, const Precision& x22, const Precision& x23, const Precision& x24, const Precision& x25, const Precision& x26, const Precision& x27, const Precision& x28, const Precision& x29, const Precision& x30, const Precision& x31, const Precision& x32, const Precision& x33, const Precision& x34, const Precision& x35, const Precision& x36){
1586  d.vals[0] = x1;
1587  d.vals[1] = x2;
1588  d.vals[2] = x3;
1589  d.vals[3] = x4;
1590  d.vals[4] = x5;
1591  d.vals[5] = x6;
1592  d.vals[6] = x7;
1593  d.vals[7] = x8;
1594  d.vals[8] = x9;
1595  d.vals[9] = x10;
1596  d.vals[10] = x11;
1597  d.vals[11] = x12;
1598  d.vals[12] = x13;
1599  d.vals[13] = x14;
1600  d.vals[14] = x15;
1601  d.vals[15] = x16;
1602  d.vals[16] = x17;
1603  d.vals[17] = x18;
1604  d.vals[18] = x19;
1605  d.vals[19] = x20;
1606  d.vals[20] = x21;
1607  d.vals[21] = x22;
1608  d.vals[22] = x23;
1609  d.vals[23] = x24;
1610  d.vals[24] = x25;
1611  d.vals[25] = x26;
1612  d.vals[26] = x27;
1613  d.vals[27] = x28;
1614  d.vals[28] = x29;
1615  d.vals[29] = x30;
1616  d.vals[30] = x31;
1617  d.vals[31] = x32;
1618  d.vals[32] = x33;
1619  d.vals[33] = x34;
1620  d.vals[34] = x35;
1621  d.vals[35] = x36;
1622  return d;
1623 }
1624 inline Operator<Internal::Data<37, double> > Data(double x1, double x2, double x3, double x4, double x5, double x6, double x7, double x8, double x9, double x10, double x11, double x12, double x13, double x14, double x15, double x16, double x17, double x18, double x19, double x20, double x21, double x22, double x23, double x24, double x25, double x26, double x27, double x28, double x29, double x30, double x31, double x32, double x33, double x34, double x35, double x36, double x37){
1626  d.vals[0] = x1;
1627  d.vals[1] = x2;
1628  d.vals[2] = x3;
1629  d.vals[3] = x4;
1630  d.vals[4] = x5;
1631  d.vals[5] = x6;
1632  d.vals[6] = x7;
1633  d.vals[7] = x8;
1634  d.vals[8] = x9;
1635  d.vals[9] = x10;
1636  d.vals[10] = x11;
1637  d.vals[11] = x12;
1638  d.vals[12] = x13;
1639  d.vals[13] = x14;
1640  d.vals[14] = x15;
1641  d.vals[15] = x16;
1642  d.vals[16] = x17;
1643  d.vals[17] = x18;
1644  d.vals[18] = x19;
1645  d.vals[19] = x20;
1646  d.vals[20] = x21;
1647  d.vals[21] = x22;
1648  d.vals[22] = x23;
1649  d.vals[23] = x24;
1650  d.vals[24] = x25;
1651  d.vals[25] = x26;
1652  d.vals[26] = x27;
1653  d.vals[27] = x28;
1654  d.vals[28] = x29;
1655  d.vals[29] = x30;
1656  d.vals[30] = x31;
1657  d.vals[31] = x32;
1658  d.vals[32] = x33;
1659  d.vals[33] = x34;
1660  d.vals[34] = x35;
1661  d.vals[35] = x36;
1662  d.vals[36] = x37;
1663  return d;
1664 }
1665 template<typename Precision> inline Operator<Internal::Data<37, Precision> > Data(const Precision& x1, const Precision& x2, const Precision& x3, const Precision& x4, const Precision& x5, const Precision& x6, const Precision& x7, const Precision& x8, const Precision& x9, const Precision& x10, const Precision& x11, const Precision& x12, const Precision& x13, const Precision& x14, const Precision& x15, const Precision& x16, const Precision& x17, const Precision& x18, const Precision& x19, const Precision& x20, const Precision& x21, const Precision& x22, const Precision& x23, const Precision& x24, const Precision& x25, const Precision& x26, const Precision& x27, const Precision& x28, const Precision& x29, const Precision& x30, const Precision& x31, const Precision& x32, const Precision& x33, const Precision& x34, const Precision& x35, const Precision& x36, const Precision& x37){
1667  d.vals[0] = x1;
1668  d.vals[1] = x2;
1669  d.vals[2] = x3;
1670  d.vals[3] = x4;
1671  d.vals[4] = x5;
1672  d.vals[5] = x6;
1673  d.vals[6] = x7;
1674  d.vals[7] = x8;
1675  d.vals[8] = x9;
1676  d.vals[9] = x10;
1677  d.vals[10] = x11;
1678  d.vals[11] = x12;
1679  d.vals[12] = x13;
1680  d.vals[13] = x14;
1681  d.vals[14] = x15;
1682  d.vals[15] = x16;
1683  d.vals[16] = x17;
1684  d.vals[17] = x18;
1685  d.vals[18] = x19;
1686  d.vals[19] = x20;
1687  d.vals[20] = x21;
1688  d.vals[21] = x22;
1689  d.vals[22] = x23;
1690  d.vals[23] = x24;
1691  d.vals[24] = x25;
1692  d.vals[25] = x26;
1693  d.vals[26] = x27;
1694  d.vals[27] = x28;
1695  d.vals[28] = x29;
1696  d.vals[29] = x30;
1697  d.vals[30] = x31;
1698  d.vals[31] = x32;
1699  d.vals[32] = x33;
1700  d.vals[33] = x34;
1701  d.vals[34] = x35;
1702  d.vals[35] = x36;
1703  d.vals[36] = x37;
1704  return d;
1705 }
1706 inline Operator<Internal::Data<38, double> > Data(double x1, double x2, double x3, double x4, double x5, double x6, double x7, double x8, double x9, double x10, double x11, double x12, double x13, double x14, double x15, double x16, double x17, double x18, double x19, double x20, double x21, double x22, double x23, double x24, double x25, double x26, double x27, double x28, double x29, double x30, double x31, double x32, double x33, double x34, double x35, double x36, double x37, double x38){
1708  d.vals[0] = x1;
1709  d.vals[1] = x2;
1710  d.vals[2] = x3;
1711  d.vals[3] = x4;
1712  d.vals[4] = x5;
1713  d.vals[5] = x6;
1714  d.vals[6] = x7;
1715  d.vals[7] = x8;
1716  d.vals[8] = x9;
1717  d.vals[9] = x10;
1718  d.vals[10] = x11;
1719  d.vals[11] = x12;
1720  d.vals[12] = x13;
1721  d.vals[13] = x14;
1722  d.vals[14] = x15;
1723  d.vals[15] = x16;
1724  d.vals[16] = x17;
1725  d.vals[17] = x18;
1726  d.vals[18] = x19;
1727  d.vals[19] = x20;
1728  d.vals[20] = x21;
1729  d.vals[21] = x22;
1730  d.vals[22] = x23;
1731  d.vals[23] = x24;
1732  d.vals[24] = x25;
1733  d.vals[25] = x26;
1734  d.vals[26] = x27;
1735  d.vals[27] = x28;
1736  d.vals[28] = x29;
1737  d.vals[29] = x30;
1738  d.vals[30] = x31;
1739  d.vals[31] = x32;
1740  d.vals[32] = x33;
1741  d.vals[33] = x34;
1742  d.vals[34] = x35;
1743  d.vals[35] = x36;
1744  d.vals[36] = x37;
1745  d.vals[37] = x38;
1746  return d;
1747 }
1748 template<typename Precision> inline Operator<Internal::Data<38, Precision> > Data(const Precision& x1, const Precision& x2, const Precision& x3, const Precision& x4, const Precision& x5, const Precision& x6, const Precision& x7, const Precision& x8, const Precision& x9, const Precision& x10, const Precision& x11, const Precision& x12, const Precision& x13, const Precision& x14, const Precision& x15, const Precision& x16, const Precision& x17, const Precision& x18, const Precision& x19, const Precision& x20, const Precision& x21, const Precision& x22, const Precision& x23, const Precision& x24, const Precision& x25, const Precision& x26, const Precision& x27, const Precision& x28, const Precision& x29, const Precision& x30, const Precision& x31, const Precision& x32, const Precision& x33, const Precision& x34, const Precision& x35, const Precision& x36, const Precision& x37, const Precision& x38){
1750  d.vals[0] = x1;
1751  d.vals[1] = x2;
1752  d.vals[2] = x3;
1753  d.vals[3] = x4;
1754  d.vals[4] = x5;
1755  d.vals[5] = x6;
1756  d.vals[6] = x7;
1757  d.vals[7] = x8;
1758  d.vals[8] = x9;
1759  d.vals[9] = x10;
1760  d.vals[10] = x11;
1761  d.vals[11] = x12;
1762  d.vals[12] = x13;
1763  d.vals[13] = x14;
1764  d.vals[14] = x15;
1765  d.vals[15] = x16;
1766  d.vals[16] = x17;
1767  d.vals[17] = x18;
1768  d.vals[18] = x19;
1769  d.vals[19] = x20;
1770  d.vals[20] = x21;
1771  d.vals[21] = x22;
1772  d.vals[22] = x23;
1773  d.vals[23] = x24;
1774  d.vals[24] = x25;
1775  d.vals[25] = x26;
1776  d.vals[26] = x27;
1777  d.vals[27] = x28;
1778  d.vals[28] = x29;
1779  d.vals[29] = x30;
1780  d.vals[30] = x31;
1781  d.vals[31] = x32;
1782  d.vals[32] = x33;
1783  d.vals[33] = x34;
1784  d.vals[34] = x35;
1785  d.vals[35] = x36;
1786  d.vals[36] = x37;
1787  d.vals[37] = x38;
1788  return d;
1789 }
1790 inline Operator<Internal::Data<39, double> > Data(double x1, double x2, double x3, double x4, double x5, double x6, double x7, double x8, double x9, double x10, double x11, double x12, double x13, double x14, double x15, double x16, double x17, double x18, double x19, double x20, double x21, double x22, double x23, double x24, double x25, double x26, double x27, double x28, double x29, double x30, double x31, double x32, double x33, double x34, double x35, double x36, double x37, double x38, double x39){
1792  d.vals[0] = x1;
1793  d.vals[1] = x2;
1794  d.vals[2] = x3;
1795  d.vals[3] = x4;
1796  d.vals[4] = x5;
1797  d.vals[5] = x6;
1798  d.vals[6] = x7;
1799  d.vals[7] = x8;
1800  d.vals[8] = x9;
1801  d.vals[9] = x10;
1802  d.vals[10] = x11;
1803  d.vals[11] = x12;
1804  d.vals[12] = x13;
1805  d.vals[13] = x14;
1806  d.vals[14] = x15;
1807  d.vals[15] = x16;
1808  d.vals[16] = x17;
1809  d.vals[17] = x18;
1810  d.vals[18] = x19;
1811  d.vals[19] = x20;
1812  d.vals[20] = x21;
1813  d.vals[21] = x22;
1814  d.vals[22] = x23;
1815  d.vals[23] = x24;
1816  d.vals[24] = x25;
1817  d.vals[25] = x26;
1818  d.vals[26] = x27;
1819  d.vals[27] = x28;
1820  d.vals[28] = x29;
1821  d.vals[29] = x30;
1822  d.vals[30] = x31;
1823  d.vals[31] = x32;
1824  d.vals[32] = x33;
1825  d.vals[33] = x34;
1826  d.vals[34] = x35;
1827  d.vals[35] = x36;
1828  d.vals[36] = x37;
1829  d.vals[37] = x38;
1830  d.vals[38] = x39;
1831  return d;
1832 }
1833 template<typename Precision> inline Operator<Internal::Data<39, Precision> > Data(const Precision& x1, const Precision& x2, const Precision& x3, const Precision& x4, const Precision& x5, const Precision& x6, const Precision& x7, const Precision& x8, const Precision& x9, const Precision& x10, const Precision& x11, const Precision& x12, const Precision& x13, const Precision& x14, const Precision& x15, const Precision& x16, const Precision& x17, const Precision& x18, const Precision& x19, const Precision& x20, const Precision& x21, const Precision& x22, const Precision& x23, const Precision& x24, const Precision& x25, const Precision& x26, const Precision& x27, const Precision& x28, const Precision& x29, const Precision& x30, const Precision& x31, const Precision& x32, const Precision& x33, const Precision& x34, const Precision& x35, const Precision& x36, const Precision& x37, const Precision& x38, const Precision& x39){
1835  d.vals[0] = x1;
1836  d.vals[1] = x2;
1837  d.vals[2] = x3;
1838  d.vals[3] = x4;
1839  d.vals[4] = x5;
1840  d.vals[5] = x6;
1841  d.vals[6] = x7;
1842  d.vals[7] = x8;
1843  d.vals[8] = x9;
1844  d.vals[9] = x10;
1845  d.vals[10] = x11;
1846  d.vals[11] = x12;
1847  d.vals[12] = x13;
1848  d.vals[13] = x14;
1849  d.vals[14] = x15;
1850  d.vals[15] = x16;
1851  d.vals[16] = x17;
1852  d.vals[17] = x18;
1853  d.vals[18] = x19;
1854  d.vals[19] = x20;
1855  d.vals[20] = x21;
1856  d.vals[21] = x22;
1857  d.vals[22] = x23;
1858  d.vals[23] = x24;
1859  d.vals[24] = x25;
1860  d.vals[25] = x26;
1861  d.vals[26] = x27;
1862  d.vals[27] = x28;
1863  d.vals[28] = x29;
1864  d.vals[29] = x30;
1865  d.vals[30] = x31;
1866  d.vals[31] = x32;
1867  d.vals[32] = x33;
1868  d.vals[33] = x34;
1869  d.vals[34] = x35;
1870  d.vals[35] = x36;
1871  d.vals[36] = x37;
1872  d.vals[37] = x38;
1873  d.vals[38] = x39;
1874  return d;
1875 }
1876 inline Operator<Internal::Data<40, double> > Data(double x1, double x2, double x3, double x4, double x5, double x6, double x7, double x8, double x9, double x10, double x11, double x12, double x13, double x14, double x15, double x16, double x17, double x18, double x19, double x20, double x21, double x22, double x23, double x24, double x25, double x26, double x27, double x28, double x29, double x30, double x31, double x32, double x33, double x34, double x35, double x36, double x37, double x38, double x39, double x40){
1878  d.vals[0] = x1;
1879  d.vals[1] = x2;
1880  d.vals[2] = x3;
1881  d.vals[3] = x4;
1882  d.vals[4] = x5;
1883  d.vals[5] = x6;
1884  d.vals[6] = x7;
1885  d.vals[7] = x8;
1886  d.vals[8] = x9;
1887  d.vals[9] = x10;
1888  d.vals[10] = x11;
1889  d.vals[11] = x12;
1890  d.vals[12] = x13;
1891  d.vals[13] = x14;
1892  d.vals[14] = x15;
1893  d.vals[15] = x16;
1894  d.vals[16] = x17;
1895  d.vals[17] = x18;
1896  d.vals[18] = x19;
1897  d.vals[19] = x20;
1898  d.vals[20] = x21;
1899  d.vals[21] = x22;
1900  d.vals[22] = x23;
1901  d.vals[23] = x24;
1902  d.vals[24] = x25;
1903  d.vals[25] = x26;
1904  d.vals[26] = x27;
1905  d.vals[27] = x28;
1906  d.vals[28] = x29;
1907  d.vals[29] = x30;
1908  d.vals[30] = x31;
1909  d.vals[31] = x32;
1910  d.vals[32] = x33;
1911  d.vals[33] = x34;
1912  d.vals[34] = x35;
1913  d.vals[35] = x36;
1914  d.vals[36] = x37;
1915  d.vals[37] = x38;
1916  d.vals[38] = x39;
1917  d.vals[39] = x40;
1918  return d;
1919 }
1920 template<typename Precision> inline Operator<Internal::Data<40, Precision> > Data(const Precision& x1, const Precision& x2, const Precision& x3, const Precision& x4, const Precision& x5, const Precision& x6, const Precision& x7, const Precision& x8, const Precision& x9, const Precision& x10, const Precision& x11, const Precision& x12, const Precision& x13, const Precision& x14, const Precision& x15, const Precision& x16, const Precision& x17, const Precision& x18, const Precision& x19, const Precision& x20, const Precision& x21, const Precision& x22, const Precision& x23, const Precision& x24, const Precision& x25, const Precision& x26, const Precision& x27, const Precision& x28, const Precision& x29, const Precision& x30, const Precision& x31, const Precision& x32, const Precision& x33, const Precision& x34, const Precision& x35, const Precision& x36, const Precision& x37, const Precision& x38, const Precision& x39, const Precision& x40){
1922  d.vals[0] = x1;
1923  d.vals[1] = x2;
1924  d.vals[2] = x3;
1925  d.vals[3] = x4;
1926  d.vals[4] = x5;
1927  d.vals[5] = x6;
1928  d.vals[6] = x7;
1929  d.vals[7] = x8;
1930  d.vals[8] = x9;
1931  d.vals[9] = x10;
1932  d.vals[10] = x11;
1933  d.vals[11] = x12;
1934  d.vals[12] = x13;
1935  d.vals[13] = x14;
1936  d.vals[14] = x15;
1937  d.vals[15] = x16;
1938  d.vals[16] = x17;
1939  d.vals[17] = x18;
1940  d.vals[18] = x19;
1941  d.vals[19] = x20;
1942  d.vals[20] = x21;
1943  d.vals[21] = x22;
1944  d.vals[22] = x23;
1945  d.vals[23] = x24;
1946  d.vals[24] = x25;
1947  d.vals[25] = x26;
1948  d.vals[26] = x27;
1949  d.vals[27] = x28;
1950  d.vals[28] = x29;
1951  d.vals[29] = x30;
1952  d.vals[30] = x31;
1953  d.vals[31] = x32;
1954  d.vals[32] = x33;
1955  d.vals[33] = x34;
1956  d.vals[34] = x35;
1957  d.vals[35] = x36;
1958  d.vals[36] = x37;
1959  d.vals[37] = x38;
1960  d.vals[38] = x39;
1961  d.vals[39] = x40;
1962  return d;
1963 }
1964 inline Operator<Internal::Data<41, double> > Data(double x1, double x2, double x3, double x4, double x5, double x6, double x7, double x8, double x9, double x10, double x11, double x12, double x13, double x14, double x15, double x16, double x17, double x18, double x19, double x20, double x21, double x22, double x23, double x24, double x25, double x26, double x27, double x28, double x29, double x30, double x31, double x32, double x33, double x34, double x35, double x36, double x37, double x38, double x39, double x40, double x41){
1966  d.vals[0] = x1;
1967  d.vals[1] = x2;
1968  d.vals[2] = x3;
1969  d.vals[3] = x4;
1970  d.vals[4] = x5;
1971  d.vals[5] = x6;
1972  d.vals[6] = x7;
1973  d.vals[7] = x8;
1974  d.vals[8] = x9;
1975  d.vals[9] = x10;
1976  d.vals[10] = x11;
1977  d.vals[11] = x12;
1978  d.vals[12] = x13;
1979  d.vals[13] = x14;
1980  d.vals[14] = x15;
1981  d.vals[15] = x16;
1982  d.vals[16] = x17;
1983  d.vals[17] = x18;
1984  d.vals[18] = x19;
1985  d.vals[19] = x20;
1986  d.vals[20] = x21;
1987  d.vals[21] = x22;
1988  d.vals[22] = x23;
1989  d.vals[23] = x24;
1990  d.vals[24] = x25;
1991  d.vals[25] = x26;
1992  d.vals[26] = x27;
1993  d.vals[27] = x28;
1994  d.vals[28] = x29;
1995  d.vals[29] = x30;
1996  d.vals[30] = x31;
1997  d.vals[31] = x32;
1998  d.vals[32] = x33;
1999  d.vals[33] = x34;
2000  d.vals[34] = x35;
2001  d.vals[35] = x36;
2002  d.vals[36] = x37;
2003  d.vals[37] = x38;
2004  d.vals[38] = x39;
2005  d.vals[39] = x40;
2006  d.vals[40] = x41;
2007  return d;
2008 }
2009 template<typename Precision> inline Operator<Internal::Data<41, Precision> > Data(const Precision& x1, const Precision& x2, const Precision& x3, const Precision& x4, const Precision& x5, const Precision& x6, const Precision& x7, const Precision& x8, const Precision& x9, const Precision& x10, const Precision& x11, const Precision& x12, const Precision& x13, const Precision& x14, const Precision& x15, const Precision& x16, const Precision& x17, const Precision& x18, const Precision& x19, const Precision& x20, const Precision& x21, const Precision& x22, const Precision& x23, const Precision& x24, const Precision& x25, const Precision& x26, const Precision& x27, const Precision& x28, const Precision& x29, const Precision& x30, const Precision& x31, const Precision& x32, const Precision& x33, const Precision& x34, const Precision& x35, const Precision& x36, const Precision& x37, const Precision& x38, const Precision& x39, const Precision& x40, const Precision& x41){
2011  d.vals[0] = x1;
2012  d.vals[1] = x2;
2013  d.vals[2] = x3;
2014  d.vals[3] = x4;
2015  d.vals[4] = x5;
2016  d.vals[5] = x6;
2017  d.vals[6] = x7;
2018  d.vals[7] = x8;
2019  d.vals[8] = x9;
2020  d.vals[9] = x10;
2021  d.vals[10] = x11;
2022  d.vals[11] = x12;
2023  d.vals[12] = x13;
2024  d.vals[13] = x14;
2025  d.vals[14] = x15;
2026  d.vals[15] = x16;
2027  d.vals[16] = x17;
2028  d.vals[17] = x18;
2029  d.vals[18] = x19;
2030  d.vals[19] = x20;
2031  d.vals[20] = x21;
2032  d.vals[21] = x22;
2033  d.vals[22] = x23;
2034  d.vals[23] = x24;
2035  d.vals[24] = x25;
2036  d.vals[25] = x26;
2037  d.vals[26] = x27;
2038  d.vals[27] = x28;
2039  d.vals[28] = x29;
2040  d.vals[29] = x30;
2041  d.vals[30] = x31;
2042  d.vals[31] = x32;
2043  d.vals[32] = x33;
2044  d.vals[33] = x34;
2045  d.vals[34] = x35;
2046  d.vals[35] = x36;
2047  d.vals[36] = x37;
2048  d.vals[37] = x38;
2049  d.vals[38] = x39;
2050  d.vals[39] = x40;
2051  d.vals[40] = x41;
2052  return d;
2053 }
2054 inline Operator<Internal::Data<42, double> > Data(double x1, double x2, double x3, double x4, double x5, double x6, double x7, double x8, double x9, double x10, double x11, double x12, double x13, double x14, double x15, double x16, double x17, double x18, double x19, double x20, double x21, double x22, double x23, double x24, double x25, double x26, double x27, double x28, double x29, double x30, double x31, double x32, double x33, double x34, double x35, double x36, double x37, double x38, double x39, double x40, double x41, double x42){
2056  d.vals[0] = x1;
2057  d.vals[1] = x2;
2058  d.vals[2] = x3;
2059  d.vals[3] = x4;
2060  d.vals[4] = x5;
2061  d.vals[5] = x6;
2062  d.vals[6] = x7;
2063  d.vals[7] = x8;
2064  d.vals[8] = x9;
2065  d.vals[9] = x10;
2066  d.vals[10] = x11;
2067  d.vals[11] = x12;
2068  d.vals[12] = x13;
2069  d.vals[13] = x14;
2070  d.vals[14] = x15;
2071  d.vals[15] = x16;
2072  d.vals[16] = x17;
2073  d.vals[17] = x18;
2074  d.vals[18] = x19;
2075  d.vals[19] = x20;
2076  d.vals[20] = x21;
2077  d.vals[21] = x22;
2078  d.vals[22] = x23;
2079  d.vals[23] = x24;
2080  d.vals[24] = x25;
2081  d.vals[25] = x26;
2082  d.vals[26] = x27;
2083  d.vals[27] = x28;
2084  d.vals[28] = x29;
2085  d.vals[29] = x30;
2086  d.vals[30] = x31;
2087  d.vals[31] = x32;
2088  d.vals[32] = x33;
2089  d.vals[33] = x34;
2090  d.vals[34] = x35;
2091  d.vals[35] = x36;
2092  d.vals[36] = x37;
2093  d.vals[37] = x38;
2094  d.vals[38] = x39;
2095  d.vals[39] = x40;
2096  d.vals[40] = x41;
2097  d.vals[41] = x42;
2098  return d;
2099 }
2100 template<typename Precision> inline Operator<Internal::Data<42, Precision> > Data(const Precision& x1, const Precision& x2, const Precision& x3, const Precision& x4, const Precision& x5, const Precision& x6, const Precision& x7, const Precision& x8, const Precision& x9, const Precision& x10, const Precision& x11, const Precision& x12, const Precision& x13, const Precision& x14, const Precision& x15, const Precision& x16, const Precision& x17, const Precision& x18, const Precision& x19, const Precision& x20, const Precision& x21, const Precision& x22, const Precision& x23, const Precision& x24, const Precision& x25, const Precision& x26, const Precision& x27, const Precision& x28, const Precision& x29, const Precision& x30, const Precision& x31, const Precision& x32, const Precision& x33, const Precision& x34, const Precision& x35, const Precision& x36, const Precision& x37, const Precision& x38, const Precision& x39, const Precision& x40, const Precision& x41, const Precision& x42){
2102  d.vals[0] = x1;
2103  d.vals[1] = x2;
2104  d.vals[2] = x3;
2105  d.vals[3] = x4;
2106  d.vals[4] = x5;
2107  d.vals[5] = x6;
2108  d.vals[6] = x7;
2109  d.vals[7] = x8;
2110  d.vals[8] = x9;
2111  d.vals[9] = x10;
2112  d.vals[10] = x11;
2113  d.vals[11] = x12;
2114  d.vals[12] = x13;
2115  d.vals[13] = x14;
2116  d.vals[14] = x15;
2117  d.vals[15] = x16;
2118  d.vals[16] = x17;
2119  d.vals[17] = x18;
2120  d.vals[18] = x19;
2121  d.vals[19] = x20;
2122  d.vals[20] = x21;
2123  d.vals[21] = x22;
2124  d.vals[22] = x23;
2125  d.vals[23] = x24;
2126  d.vals[24] = x25;
2127  d.vals[25] = x26;
2128  d.vals[26] = x27;
2129  d.vals[27] = x28;
2130  d.vals[28] = x29;
2131  d.vals[29] = x30;
2132  d.vals[30] = x31;
2133  d.vals[31] = x32;
2134  d.vals[32] = x33;
2135  d.vals[33] = x34;
2136  d.vals[34] = x35;
2137  d.vals[35] = x36;
2138  d.vals[36] = x37;
2139  d.vals[37] = x38;
2140  d.vals[38] = x39;
2141  d.vals[39] = x40;
2142  d.vals[40] = x41;
2143  d.vals[41] = x42;
2144  return d;
2145 }
2146 inline Operator<Internal::Data<43, double> > Data(double x1, double x2, double x3, double x4, double x5, double x6, double x7, double x8, double x9, double x10, double x11, double x12, double x13, double x14, double x15, double x16, double x17, double x18, double x19, double x20, double x21, double x22, double x23, double x24, double x25, double x26, double x27, double x28, double x29, double x30, double x31, double x32, double x33, double x34, double x35, double x36, double x37, double x38, double x39, double x40, double x41, double x42, double x43){
2148  d.vals[0] = x1;
2149  d.vals[1] = x2;
2150  d.vals[2] = x3;
2151  d.vals[3] = x4;
2152  d.vals[4] = x5;
2153  d.vals[5] = x6;
2154  d.vals[6] = x7;
2155  d.vals[7] = x8;
2156  d.vals[8] = x9;
2157  d.vals[9] = x10;
2158  d.vals[10] = x11;
2159  d.vals[11] = x12;
2160  d.vals[12] = x13;
2161  d.vals[13] = x14;
2162  d.vals[14] = x15;
2163  d.vals[15] = x16;
2164  d.vals[16] = x17;
2165  d.vals[17] = x18;
2166  d.vals[18] = x19;
2167  d.vals[19] = x20;
2168  d.vals[20] = x21;
2169  d.vals[21] = x22;
2170  d.vals[22] = x23;
2171  d.vals[23] = x24;
2172  d.vals[24] = x25;
2173  d.vals[25] = x26;
2174  d.vals[26] = x27;
2175  d.vals[27] = x28;
2176  d.vals[28] = x29;
2177  d.vals[29] = x30;
2178  d.vals[30] = x31;
2179  d.vals[31] = x32;
2180  d.vals[32] = x33;
2181  d.vals[33] = x34;
2182  d.vals[34] = x35;
2183  d.vals[35] = x36;
2184  d.vals[36] = x37;
2185  d.vals[37] = x38;
2186  d.vals[38] = x39;
2187  d.vals[39] = x40;
2188  d.vals[40] = x41;
2189  d.vals[41] = x42;
2190  d.vals[42] = x43;
2191  return d;
2192 }
2193 template<typename Precision> inline Operator<Internal::Data<43, Precision> > Data(const Precision& x1, const Precision& x2, const Precision& x3, const Precision& x4, const Precision& x5, const Precision& x6, const Precision& x7, const Precision& x8, const Precision& x9, const Precision& x10, const Precision& x11, const Precision& x12, const Precision& x13, const Precision& x14, const Precision& x15, const Precision& x16, const Precision& x17, const Precision& x18, const Precision& x19, const Precision& x20, const Precision& x21, const Precision& x22, const Precision& x23, const Precision& x24, const Precision& x25, const Precision& x26, const Precision& x27, const Precision& x28, const Precision& x29, const Precision& x30, const Precision& x31, const Precision& x32, const Precision& x33, const Precision& x34, const Precision& x35, const Precision& x36, const Precision& x37, const Precision& x38, const Precision& x39, const Precision& x40, const Precision& x41, const Precision& x42, const Precision& x43){
2195  d.vals[0] = x1;
2196  d.vals[1] = x2;
2197  d.vals[2] = x3;
2198  d.vals[3] = x4;
2199  d.vals[4] = x5;
2200  d.vals[5] = x6;
2201  d.vals[6] = x7;
2202  d.vals[7] = x8;
2203  d.vals[8] = x9;
2204  d.vals[9] = x10;
2205  d.vals[10] = x11;
2206  d.vals[11] = x12;
2207  d.vals[12] = x13;
2208  d.vals[13] = x14;
2209  d.vals[14] = x15;
2210  d.vals[15] = x16;
2211  d.vals[16] = x17;
2212  d.vals[17] = x18;
2213  d.vals[18] = x19;
2214  d.vals[19] = x20;
2215  d.vals[20] = x21;
2216  d.vals[21] = x22;
2217  d.vals[22] = x23;
2218  d.vals[23] = x24;
2219  d.vals[24] = x25;
2220  d.vals[25] = x26;
2221  d.vals[26] = x27;
2222  d.vals[27] = x28;
2223  d.vals[28] = x29;
2224  d.vals[29] = x30;
2225  d.vals[30] = x31;
2226  d.vals[31] = x32;
2227  d.vals[32] = x33;
2228  d.vals[33] = x34;
2229  d.vals[34] = x35;
2230  d.vals[35] = x36;
2231  d.vals[36] = x37;
2232  d.vals[37] = x38;
2233  d.vals[38] = x39;
2234  d.vals[39] = x40;
2235  d.vals[40] = x41;
2236  d.vals[41] = x42;
2237  d.vals[42] = x43;
2238  return d;
2239 }
2240 inline Operator<Internal::Data<44, double> > Data(double x1, double x2, double x3, double x4, double x5, double x6, double x7, double x8, double x9, double x10, double x11, double x12, double x13, double x14, double x15, double x16, double x17, double x18, double x19, double x20, double x21, double x22, double x23, double x24, double x25, double x26, double x27, double x28, double x29, double x30, double x31, double x32, double x33, double x34, double x35, double x36, double x37, double x38, double x39, double x40, double x41, double x42, double x43, double x44){
2242  d.vals[0] = x1;
2243  d.vals[1] = x2;
2244  d.vals[2] = x3;
2245  d.vals[3] = x4;
2246  d.vals[4] = x5;
2247  d.vals[5] = x6;
2248  d.vals[6] = x7;
2249  d.vals[7] = x8;
2250  d.vals[8] = x9;
2251  d.vals[9] = x10;
2252  d.vals[10] = x11;
2253  d.vals[11] = x12;
2254  d.vals[12] = x13;
2255  d.vals[13] = x14;
2256  d.vals[14] = x15;
2257  d.vals[15] = x16;
2258  d.vals[16] = x17;
2259  d.vals[17] = x18;
2260  d.vals[18] = x19;
2261  d.vals[19] = x20;
2262  d.vals[20] = x21;
2263  d.vals[21] = x22;
2264  d.vals[22] = x23;
2265  d.vals[23] = x24;
2266  d.vals[24] = x25;
2267  d.vals[25] = x26;
2268  d.vals[26] = x27;
2269  d.vals[27] = x28;
2270  d.vals[28] = x29;
2271  d.vals[29] = x30;
2272  d.vals[30] = x31;
2273  d.vals[31] = x32;
2274  d.vals[32] = x33;
2275  d.vals[33] = x34;
2276  d.vals[34] = x35;
2277  d.vals[35] = x36;
2278  d.vals[36] = x37;
2279  d.vals[37] = x38;
2280  d.vals[38] = x39;
2281  d.vals[39] = x40;
2282  d.vals[40] = x41;
2283  d.vals[41] = x42;
2284  d.vals[42] = x43;
2285  d.vals[43] = x44;
2286  return d;
2287 }
2288 template<typename Precision> inline Operator<Internal::Data<44, Precision> > Data(const Precision& x1, const Precision& x2, const Precision& x3, const Precision& x4, const Precision& x5, const Precision& x6, const Precision& x7, const Precision& x8, const Precision& x9, const Precision& x10, const Precision& x11, const Precision& x12, const Precision& x13, const Precision& x14, const Precision& x15, const Precision& x16, const Precision& x17, const Precision& x18, const Precision& x19, const Precision& x20, const Precision& x21, const Precision& x22, const Precision& x23, const Precision& x24, const Precision& x25, const Precision& x26, const Precision& x27, const Precision& x28, const Precision& x29, const Precision& x30, const Precision& x31, const Precision& x32, const Precision& x33, const Precision& x34, const Precision& x35, const Precision& x36, const Precision& x37, const Precision& x38, const Precision& x39, const Precision& x40, const Precision& x41, const Precision& x42, const Precision& x43, const Precision& x44){
2290  d.vals[0] = x1;
2291  d.vals[1] = x2;
2292  d.vals[2] = x3;
2293  d.vals[3] = x4;
2294  d.vals[4] = x5;
2295  d.vals[5] = x6;
2296  d.vals[6] = x7;
2297  d.vals[7] = x8;
2298  d.vals[8] = x9;
2299  d.vals[9] = x10;
2300  d.vals[10] = x11;
2301  d.vals[11] = x12;
2302  d.vals[12] = x13;
2303  d.vals[13] = x14;
2304  d.vals[14] = x15;
2305  d.vals[15] = x16;
2306  d.vals[16] = x17;
2307  d.vals[17] = x18;
2308  d.vals[18] = x19;
2309  d.vals[19] = x20;
2310  d.vals[20] = x21;
2311  d.vals[21] = x22;
2312  d.vals[22] = x23;
2313  d.vals[23] = x24;
2314  d.vals[24] = x25;
2315  d.vals[25] = x26;
2316  d.vals[26] = x27;
2317  d.vals[27] = x28;
2318  d.vals[28] = x29;
2319  d.vals[29] = x30;
2320  d.vals[30] = x31;
2321  d.vals[31] = x32;
2322  d.vals[32] = x33;
2323  d.vals[33] = x34;
2324  d.vals[34] = x35;
2325  d.vals[35] = x36;
2326  d.vals[36] = x37;
2327  d.vals[37] = x38;
2328  d.vals[38] = x39;
2329  d.vals[39] = x40;
2330  d.vals[40] = x41;
2331  d.vals[41] = x42;
2332  d.vals[42] = x43;
2333  d.vals[43] = x44;
2334  return d;
2335 }
2336 inline Operator<Internal::Data<45, double> > Data(double x1, double x2, double x3, double x4, double x5, double x6, double x7, double x8, double x9, double x10, double x11, double x12, double x13, double x14, double x15, double x16, double x17, double x18, double x19, double x20, double x21, double x22, double x23, double x24, double x25, double x26, double x27, double x28, double x29, double x30, double x31, double x32, double x33, double x34, double x35, double x36, double x37, double x38, double x39, double x40, double x41, double x42, double x43, double x44, double x45){
2338  d.vals[0] = x1;
2339  d.vals[1] = x2;
2340  d.vals[2] = x3;
2341  d.vals[3] = x4;
2342  d.vals[4] = x5;
2343  d.vals[5] = x6;
2344  d.vals[6] = x7;
2345  d.vals[7] = x8;
2346  d.vals[8] = x9;
2347  d.vals[9] = x10;
2348  d.vals[10] = x11;
2349  d.vals[11] = x12;
2350  d.vals[12] = x13;
2351  d.vals[13] = x14;
2352  d.vals[14] = x15;
2353  d.vals[15] = x16;
2354  d.vals[16] = x17;
2355  d.vals[17] = x18;
2356  d.vals[18] = x19;
2357  d.vals[19] = x20;
2358  d.vals[20] = x21;
2359  d.vals[21] = x22;
2360  d.vals[22] = x23;
2361  d.vals[23] = x24;
2362  d.vals[24] = x25;
2363  d.vals[25] = x26;
2364  d.vals[26] = x27;
2365  d.vals[27] = x28;
2366  d.vals[28] = x29;
2367  d.vals[29] = x30;
2368  d.vals[30] = x31;
2369  d.vals[31] = x32;
2370  d.vals[32] = x33;
2371  d.vals[33] = x34;
2372  d.vals[34] = x35;
2373  d.vals[35] = x36;
2374  d.vals[36] = x37;
2375  d.vals[37] = x38;
2376  d.vals[38] = x39;
2377  d.vals[39] = x40;
2378  d.vals[40] = x41;
2379  d.vals[41] = x42;
2380  d.vals[42] = x43;
2381  d.vals[43] = x44;
2382  d.vals[44] = x45;
2383  return d;
2384 }
2385 template<typename Precision> inline Operator<Internal::Data<45, Precision> > Data(const Precision& x1, const Precision& x2, const Precision& x3, const Precision& x4, const Precision& x5, const Precision& x6, const Precision& x7, const Precision& x8, const Precision& x9, const Precision& x10, const Precision& x11, const Precision& x12, const Precision& x13, const Precision& x14, const Precision& x15, const Precision& x16, const Precision& x17, const Precision& x18, const Precision& x19, const Precision& x20, const Precision& x21, const Precision& x22, const Precision& x23, const Precision& x24, const Precision& x25, const Precision& x26, const Precision& x27, const Precision& x28, const Precision& x29, const Precision& x30, const Precision& x31, const Precision& x32, const Precision& x33, const Precision& x34, const Precision& x35, const Precision& x36, const Precision& x37, const Precision& x38, const Precision& x39, const Precision& x40, const Precision& x41, const Precision& x42, const Precision& x43, const Precision& x44, const Precision& x45){
2387  d.vals[0] = x1;
2388  d.vals[1] = x2;
2389  d.vals[2] = x3;
2390  d.vals[3] = x4;
2391  d.vals[4] = x5;
2392  d.vals[5] = x6;
2393  d.vals[6] = x7;
2394  d.vals[7] = x8;
2395  d.vals[8] = x9;
2396  d.vals[9] = x10;
2397  d.vals[10] = x11;
2398  d.vals[11] = x12;
2399  d.vals[12] = x13;
2400  d.vals[13] = x14;
2401  d.vals[14] = x15;
2402  d.vals[15] = x16;
2403  d.vals[16] = x17;
2404  d.vals[17] = x18;
2405  d.vals[18] = x19;
2406  d.vals[19] = x20;
2407  d.vals[20] = x21;
2408  d.vals[21] = x22;
2409  d.vals[22] = x23;
2410  d.vals[23] = x24;
2411  d.vals[24] = x25;
2412  d.vals[25] = x26;
2413  d.vals[26] = x27;
2414  d.vals[27] = x28;
2415  d.vals[28] = x29;
2416  d.vals[29] = x30;
2417  d.vals[30] = x31;
2418  d.vals[31] = x32;
2419  d.vals[32] = x33;
2420  d.vals[33] = x34;
2421  d.vals[34] = x35;
2422  d.vals[35] = x36;
2423  d.vals[36] = x37;
2424  d.vals[37] = x38;
2425  d.vals[38] = x39;
2426  d.vals[39] = x40;
2427  d.vals[40] = x41;
2428  d.vals[41] = x42;
2429  d.vals[42] = x43;
2430  d.vals[43] = x44;
2431  d.vals[44] = x45;
2432  return d;
2433 }
2434 inline Operator<Internal::Data<46, double> > Data(double x1, double x2, double x3, double x4, double x5, double x6, double x7, double x8, double x9, double x10, double x11, double x12, double x13, double x14, double x15, double x16, double x17, double x18, double x19, double x20, double x21, double x22, double x23, double x24, double x25, double x26, double x27, double x28, double x29, double x30, double x31, double x32, double x33, double x34, double x35, double x36, double x37, double x38, double x39, double x40, double x41, double x42, double x43, double x44, double x45, double x46){
2436  d.vals[0] = x1;
2437  d.vals[1] = x2;
2438  d.vals[2] = x3;
2439  d.vals[3] = x4;
2440  d.vals[4] = x5;
2441  d.vals[5] = x6;
2442  d.vals[6] = x7;
2443  d.vals[7] = x8;
2444  d.vals[8] = x9;
2445  d.vals[9] = x10;
2446  d.vals[10] = x11;
2447  d.vals[11] = x12;
2448  d.vals[12] = x13;
2449  d.vals[13] = x14;
2450  d.vals[14] = x15;
2451  d.vals[15] = x16;
2452  d.vals[16] = x17;
2453  d.vals[17] = x18;
2454  d.vals[18] = x19;
2455  d.vals[19] = x20;
2456  d.vals[20] = x21;
2457  d.vals[21] = x22;
2458  d.vals[22] = x23;
2459  d.vals[23] = x24;
2460  d.vals[24] = x25;
2461  d.vals[25] = x26;
2462  d.vals[26] = x27;
2463  d.vals[27] = x28;
2464  d.vals[28] = x29;
2465  d.vals[29] = x30;
2466  d.vals[30] = x31;
2467  d.vals[31] = x32;
2468  d.vals[32] = x33;
2469  d.vals[33] = x34;
2470  d.vals[34] = x35;
2471  d.vals[35] = x36;
2472  d.vals[36] = x37;
2473  d.vals[37] = x38;
2474  d.vals[38] = x39;
2475  d.vals[39] = x40;
2476  d.vals[40] = x41;
2477  d.vals[41] = x42;
2478  d.vals[42] = x43;
2479  d.vals[43] = x44;
2480  d.vals[44] = x45;
2481  d.vals[45] = x46;
2482  return d;
2483 }
2484 template<typename Precision> inline Operator<Internal::Data<46, Precision> > Data(const Precision& x1, const Precision& x2, const Precision& x3, const Precision& x4, const Precision& x5, const Precision& x6, const Precision& x7, const Precision& x8, const Precision& x9, const Precision& x10, const Precision& x11, const Precision& x12, const Precision& x13, const Precision& x14, const Precision& x15, const Precision& x16, const Precision& x17, const Precision& x18, const Precision& x19, const Precision& x20, const Precision& x21, const Precision& x22, const Precision& x23, const Precision& x24, const Precision& x25, const Precision& x26, const Precision& x27, const Precision& x28, const Precision& x29, const Precision& x30, const Precision& x31, const Precision& x32, const Precision& x33, const Precision& x34, const Precision& x35, const Precision& x36, const Precision& x37, const Precision& x38, const Precision& x39, const Precision& x40, const Precision& x41, const Precision& x42, const Precision& x43, const Precision& x44, const Precision& x45, const Precision& x46){
2486  d.vals[0] = x1;
2487  d.vals[1] = x2;
2488  d.vals[2] = x3;
2489  d.vals[3] = x4;
2490  d.vals[4] = x5;
2491  d.vals[5] = x6;
2492  d.vals[6] = x7;
2493  d.vals[7] = x8;
2494  d.vals[8] = x9;
2495  d.vals[9] = x10;
2496  d.vals[10] = x11;
2497  d.vals[11] = x12;
2498  d.vals[12] = x13;
2499  d.vals[13] = x14;
2500  d.vals[14] = x15;
2501  d.vals[15] = x16;
2502  d.vals[16] = x17;
2503  d.vals[17] = x18;
2504  d.vals[18] = x19;
2505  d.vals[19] = x20;
2506  d.vals[20] = x21;
2507  d.vals[21] = x22;
2508  d.vals[22] = x23;
2509  d.vals[23] = x24;
2510  d.vals[24] = x25;
2511  d.vals[25] = x26;
2512  d.vals[26] = x27;
2513  d.vals[27] = x28;
2514  d.vals[28] = x29;
2515  d.vals[29] = x30;
2516  d.vals[30] = x31;
2517  d.vals[31] = x32;
2518  d.vals[32] = x33;
2519  d.vals[33] = x34;
2520  d.vals[34] = x35;
2521  d.vals[35] = x36;
2522  d.vals[36] = x37;
2523  d.vals[37] = x38;
2524  d.vals[38] = x39;
2525  d.vals[39] = x40;
2526  d.vals[40] = x41;
2527  d.vals[41] = x42;
2528  d.vals[42] = x43;
2529  d.vals[43] = x44;
2530  d.vals[44] = x45;
2531  d.vals[45] = x46;
2532  return d;
2533 }
2534 inline Operator<Internal::Data<47, double> > Data(double x1, double x2, double x3, double x4, double x5, double x6, double x7, double x8, double x9, double x10, double x11, double x12, double x13, double x14, double x15, double x16, double x17, double x18, double x19, double x20, double x21, double x22, double x23, double x24, double x25, double x26, double x27, double x28, double x29, double x30, double x31, double x32, double x33, double x34, double x35, double x36, double x37, double x38, double x39, double x40, double x41, double x42, double x43, double x44, double x45, double x46, double x47){
2536  d.vals[0] = x1;
2537  d.vals[1] = x2;
2538  d.vals[2] = x3;
2539  d.vals[3] = x4;
2540  d.vals[4] = x5;
2541  d.vals[5] = x6;
2542  d.vals[6] = x7;
2543  d.vals[7] = x8;
2544  d.vals[8] = x9;
2545  d.vals[9] = x10;
2546  d.vals[10] = x11;
2547  d.vals[11] = x12;
2548  d.vals[12] = x13;
2549  d.vals[13] = x14;
2550  d.vals[14] = x15;
2551  d.vals[15] = x16;
2552  d.vals[16] = x17;
2553  d.vals[17] = x18;
2554  d.vals[18] = x19;
2555  d.vals[19] = x20;
2556  d.vals[20] = x21;
2557  d.vals[21] = x22;
2558  d.vals[22] = x23;
2559  d.vals[23] = x24;
2560  d.vals[24] = x25;
2561  d.vals[25] = x26;
2562  d.vals[26] = x27;
2563  d.vals[27] = x28;
2564  d.vals[28] = x29;
2565  d.vals[29] = x30;
2566  d.vals[30] = x31;
2567  d.vals[31] = x32;
2568  d.vals[32] = x33;
2569  d.vals[33] = x34;
2570  d.vals[34] = x35;
2571  d.vals[35] = x36;
2572  d.vals[36] = x37;
2573  d.vals[37] = x38;
2574  d.vals[38] = x39;
2575  d.vals[39] = x40;
2576  d.vals[40] = x41;
2577  d.vals[41] = x42;
2578  d.vals[42] = x43;
2579  d.vals[43] = x44;
2580  d.vals[44] = x45;
2581  d.vals[45] = x46;
2582  d.vals[46] = x47;
2583  return d;
2584 }
2585 template<typename Precision> inline Operator<Internal::Data<47, Precision> > Data(const Precision& x1, const Precision& x2, const Precision& x3, const Precision& x4, const Precision& x5, const Precision& x6, const Precision& x7, const Precision& x8, const Precision& x9, const Precision& x10, const Precision& x11, const Precision& x12, const Precision& x13, const Precision& x14, const Precision& x15, const Precision& x16, const Precision& x17, const Precision& x18, const Precision& x19, const Precision& x20, const Precision& x21, const Precision& x22, const Precision& x23, const Precision& x24, const Precision& x25, const Precision& x26, const Precision& x27, const Precision& x28, const Precision& x29, const Precision& x30, const Precision& x31, const Precision& x32, const Precision& x33, const Precision& x34, const Precision& x35, const Precision& x36, const Precision& x37, const Precision& x38, const Precision& x39, const Precision& x40, const Precision& x41, const Precision& x42, const Precision& x43, const Precision& x44, const Precision& x45, const Precision& x46, const Precision& x47){
2587  d.vals[0] = x1;
2588  d.vals[1] = x2;
2589  d.vals[2] = x3;
2590  d.vals[3] = x4;
2591  d.vals[4] = x5;
2592  d.vals[5] = x6;
2593  d.vals[6] = x7;
2594  d.vals[7] = x8;
2595  d.vals[8] = x9;
2596  d.vals[9] = x10;
2597  d.vals[10] = x11;
2598  d.vals[11] = x12;
2599  d.vals[12] = x13;
2600  d.vals[13] = x14;
2601  d.vals[14] = x15;
2602  d.vals[15] = x16;
2603  d.vals[16] = x17;
2604  d.vals[17] = x18;
2605  d.vals[18] = x19;
2606  d.vals[19] = x20;
2607  d.vals[20] = x21;
2608  d.vals[21] = x22;
2609  d.vals[22] = x23;
2610  d.vals[23] = x24;
2611  d.vals[24] = x25;
2612  d.vals[25] = x26;
2613  d.vals[26] = x27;
2614  d.vals[27] = x28;
2615  d.vals[28] = x29;
2616  d.vals[29] = x30;
2617  d.vals[30] = x31;
2618  d.vals[31] = x32;
2619  d.vals[32] = x33;
2620  d.vals[33] = x34;
2621  d.vals[34] = x35;
2622  d.vals[35] = x36;
2623  d.vals[36] = x37;
2624  d.vals[37] = x38;
2625  d.vals[38] = x39;
2626  d.vals[39] = x40;
2627  d.vals[40] = x41;
2628  d.vals[41] = x42;
2629  d.vals[42] = x43;
2630  d.vals[43] = x44;
2631  d.vals[44] = x45;
2632  d.vals[45] = x46;
2633  d.vals[46] = x47;
2634  return d;
2635 }
2636 inline Operator<Internal::Data<48, double> > Data(double x1, double x2, double x3, double x4, double x5, double x6, double x7, double x8, double x9, double x10, double x11, double x12, double x13, double x14, double x15, double x16, double x17, double x18, double x19, double x20, double x21, double x22, double x23, double x24, double x25, double x26, double x27, double x28, double x29, double x30, double x31, double x32, double x33, double x34, double x35, double x36, double x37, double x38, double x39, double x40, double x41, double x42, double x43, double x44, double x45, double x46, double x47, double x48){
2638  d.vals[0] = x1;
2639  d.vals[1] = x2;
2640  d.vals[2] = x3;
2641  d.vals[3] = x4;
2642  d.vals[4] = x5;
2643  d.vals[5] = x6;
2644  d.vals[6] = x7;
2645  d.vals[7] = x8;
2646  d.vals[8] = x9;
2647  d.vals[9] = x10;
2648  d.vals[10] = x11;
2649  d.vals[11] = x12;
2650  d.vals[12] = x13;
2651  d.vals[13] = x14;
2652  d.vals[14] = x15;
2653  d.vals[15] = x16;
2654  d.vals[16] = x17;
2655  d.vals[17] = x18;
2656  d.vals[18] = x19;
2657  d.vals[19] = x20;
2658  d.vals[20] = x21;
2659  d.vals[21] = x22;
2660  d.vals[22] = x23;
2661  d.vals[23] = x24;
2662  d.vals[24] = x25;
2663  d.vals[25] = x26;
2664  d.vals[26] = x27;
2665  d.vals[27] = x28;
2666  d.vals[28] = x29;
2667  d.vals[29] = x30;
2668  d.vals[30] = x31;
2669  d.vals[31] = x32;
2670  d.vals[32] = x33;
2671  d.vals[33] = x34;
2672  d.vals[34] = x35;
2673  d.vals[35] = x36;
2674  d.vals[36] = x37;
2675  d.vals[37] = x38;
2676  d.vals[38] = x39;
2677  d.vals[39] = x40;
2678  d.vals[40] = x41;
2679  d.vals[41] = x42;
2680  d.vals[42] = x43;
2681  d.vals[43] = x44;
2682  d.vals[44] = x45;
2683  d.vals[45] = x46;
2684  d.vals[46] = x47;
2685  d.vals[47] = x48;
2686  return d;
2687 }
2688 template<typename Precision> inline Operator<Internal::Data<48, Precision> > Data(const Precision& x1, const Precision& x2, const Precision& x3, const Precision& x4, const Precision& x5, const Precision& x6, const Precision& x7, const Precision& x8, const Precision& x9, const Precision& x10, const Precision& x11, const Precision& x12, const Precision& x13, const Precision& x14, const Precision& x15, const Precision& x16, const Precision& x17, const Precision& x18, const Precision& x19, const Precision& x20, const Precision& x21, const Precision& x22, const Precision& x23, const Precision& x24, const Precision& x25, const Precision& x26, const Precision& x27, const Precision& x28, const Precision& x29, const Precision& x30, const Precision& x31, const Precision& x32, const Precision& x33, const Precision& x34, const Precision& x35, const Precision& x36, const Precision& x37, const Precision& x38, const Precision& x39, const Precision& x40, const Precision& x41, const Precision& x42, const Precision& x43, const Precision& x44, const Precision& x45, const Precision& x46, const Precision& x47, const Precision& x48){
2690  d.vals[0] = x1;
2691  d.vals[1] = x2;
2692  d.vals[2] = x3;
2693  d.vals[3] = x4;
2694  d.vals[4] = x5;
2695  d.vals[5] = x6;
2696  d.vals[6] = x7;
2697  d.vals[7] = x8;
2698  d.vals[8] = x9;
2699  d.vals[9] = x10;
2700  d.vals[10] = x11;
2701  d.vals[11] = x12;
2702  d.vals[12] = x13;
2703  d.vals[13] = x14;
2704  d.vals[14] = x15;
2705  d.vals[15] = x16;
2706  d.vals[16] = x17;
2707  d.vals[17] = x18;
2708  d.vals[18] = x19;
2709  d.vals[19] = x20;
2710  d.vals[20] = x21;
2711  d.vals[21] = x22;
2712  d.vals[22] = x23;
2713  d.vals[23] = x24;
2714  d.vals[24] = x25;
2715  d.vals[25] = x26;
2716  d.vals[26] = x27;
2717  d.vals[27] = x28;
2718  d.vals[28] = x29;
2719  d.vals[29] = x30;
2720  d.vals[30] = x31;
2721  d.vals[31] = x32;
2722  d.vals[32] = x33;
2723  d.vals[33] = x34;
2724  d.vals[34] = x35;
2725  d.vals[35] = x36;
2726  d.vals[36] = x37;
2727  d.vals[37] = x38;
2728  d.vals[38] = x39;
2729  d.vals[39] = x40;
2730  d.vals[40] = x41;
2731  d.vals[41] = x42;
2732  d.vals[42] = x43;
2733  d.vals[43] = x44;
2734  d.vals[44] = x45;
2735  d.vals[45] = x46;
2736  d.vals[46] = x47;
2737  d.vals[47] = x48;
2738  return d;
2739 }
2740 inline Operator<Internal::Data<49, double> > Data(double x1, double x2, double x3, double x4, double x5, double x6, double x7, double x8, double x9, double x10, double x11, double x12, double x13, double x14, double x15, double x16, double x17, double x18, double x19, double x20, double x21, double x22, double x23, double x24, double x25, double x26, double x27, double x28, double x29, double x30, double x31, double x32, double x33, double x34, double x35, double x36, double x37, double x38, double x39, double x40, double x41, double x42, double x43, double x44, double x45, double x46, double x47, double x48, double x49){
2742  d.vals[0] = x1;
2743  d.vals[1] = x2;
2744  d.vals[2] = x3;
2745  d.vals[3] = x4;
2746  d.vals[4] = x5;
2747  d.vals[5] = x6;
2748  d.vals[6] = x7;
2749  d.vals[7] = x8;
2750  d.vals[8] = x9;
2751  d.vals[9] = x10;
2752  d.vals[10] = x11;
2753  d.vals[11] = x12;
2754  d.vals[12] = x13;
2755  d.vals[13] = x14;
2756  d.vals[14] = x15;
2757  d.vals[15] = x16;
2758  d.vals[16] = x17;
2759  d.vals[17] = x18;
2760  d.vals[18] = x19;
2761  d.vals[19] = x20;
2762  d.vals[20] = x21;
2763  d.vals[21] = x22;
2764  d.vals[22] = x23;
2765  d.vals[23] = x24;
2766  d.vals[24] = x25;
2767  d.vals[25] = x26;
2768  d.vals[26] = x27;
2769  d.vals[27] = x28;
2770  d.vals[28] = x29;
2771  d.vals[29] = x30;
2772  d.vals[30] = x31;
2773  d.vals[31] = x32;
2774  d.vals[32] = x33;
2775  d.vals[33] = x34;
2776  d.vals[34] = x35;
2777  d.vals[35] = x36;
2778  d.vals[36] = x37;
2779  d.vals[37] = x38;
2780  d.vals[38] = x39;
2781  d.vals[39] = x40;
2782  d.vals[40] = x41;
2783  d.vals[41] = x42;
2784  d.vals[42] = x43;
2785  d.vals[43] = x44;
2786  d.vals[44] = x45;
2787  d.vals[45] = x46;
2788  d.vals[46] = x47;
2789  d.vals[47] = x48;
2790  d.vals[48] = x49;
2791  return d;
2792 }
2793 template<typename Precision> inline Operator<Internal::Data<49, Precision> > Data(const Precision& x1, const Precision& x2, const Precision& x3, const Precision& x4, const Precision& x5, const Precision& x6, const Precision& x7, const Precision& x8, const Precision& x9, const Precision& x10, const Precision& x11, const Precision& x12, const Precision& x13, const Precision& x14, const Precision& x15, const Precision& x16, const Precision& x17, const Precision& x18, const Precision& x19, const Precision& x20, const Precision& x21, const Precision& x22, const Precision& x23, const Precision& x24, const Precision& x25, const Precision& x26, const Precision& x27, const Precision& x28, const Precision& x29, const Precision& x30, const Precision& x31, const Precision& x32, const Precision& x33, const Precision& x34, const Precision& x35, const Precision& x36, const Precision& x37, const Precision& x38, const Precision& x39, const Precision& x40, const Precision& x41, const Precision& x42, const Precision& x43, const Precision& x44, const Precision& x45, const Precision& x46, const Precision& x47, const Precision& x48, const Precision& x49){
2795  d.vals[0] = x1;
2796  d.vals[1] = x2;
2797  d.vals[2] = x3;
2798  d.vals[3] = x4;
2799  d.vals[4] = x5;
2800  d.vals[5] = x6;
2801  d.vals[6] = x7;
2802  d.vals[7] = x8;
2803  d.vals[8] = x9;
2804  d.vals[9] = x10;
2805  d.vals[10] = x11;
2806  d.vals[11] = x12;
2807  d.vals[12] = x13;
2808  d.vals[13] = x14;
2809  d.vals[14] = x15;
2810  d.vals[15] = x16;
2811  d.vals[16] = x17;
2812  d.vals[17] = x18;
2813  d.vals[18] = x19;
2814  d.vals[19] = x20;
2815  d.vals[20] = x21;
2816  d.vals[21] = x22;
2817  d.vals[22] = x23;
2818  d.vals[23] = x24;
2819  d.vals[24] = x25;
2820  d.vals[25] = x26;
2821  d.vals[26] = x27;
2822  d.vals[27] = x28;
2823  d.vals[28] = x29;
2824  d.vals[29] = x30;
2825  d.vals[30] = x31;
2826  d.vals[31] = x32;
2827  d.vals[32] = x33;
2828  d.vals[33] = x34;
2829  d.vals[34] = x35;
2830  d.vals[35] = x36;
2831  d.vals[36] = x37;
2832  d.vals[37] = x38;
2833  d.vals[38] = x39;
2834  d.vals[39] = x40;
2835  d.vals[40] = x41;
2836  d.vals[41] = x42;
2837  d.vals[42] = x43;
2838  d.vals[43] = x44;
2839  d.vals[44] = x45;
2840  d.vals[45] = x46;
2841  d.vals[46] = x47;
2842  d.vals[47] = x48;
2843  d.vals[48] = x49;
2844  return d;
2845 }
2846 inline Operator<Internal::Data<50, double> > Data(double x1, double x2, double x3, double x4, double x5, double x6, double x7, double x8, double x9, double x10, double x11, double x12, double x13, double x14, double x15, double x16, double x17, double x18, double x19, double x20, double x21, double x22, double x23, double x24, double x25, double x26, double x27, double x28, double x29, double x30, double x31, double x32, double x33, double x34, double x35, double x36, double x37, double x38, double x39, double x40, double x41, double x42, double x43, double x44, double x45, double x46, double x47, double x48, double x49, double x50){
2848  d.vals[0] = x1;
2849  d.vals[1] = x2;
2850  d.vals[2] = x3;
2851  d.vals[3] = x4;
2852  d.vals[4] = x5;
2853  d.vals[5] = x6;
2854  d.vals[6] = x7;
2855  d.vals[7] = x8;
2856  d.vals[8] = x9;
2857  d.vals[9] = x10;
2858  d.vals[10] = x11;
2859  d.vals[11] = x12;
2860  d.vals[12] = x13;
2861  d.vals[13] = x14;
2862  d.vals[14] = x15;
2863  d.vals[15] = x16;
2864  d.vals[16] = x17;
2865  d.vals[17] = x18;
2866  d.vals[18] = x19;
2867  d.vals[19] = x20;
2868  d.vals[20] = x21;
2869  d.vals[21] = x22;
2870  d.vals[22] = x23;
2871  d.vals[23] = x24;
2872  d.vals[24] = x25;
2873  d.vals[25] = x26;
2874  d.vals[26] = x27;
2875  d.vals[27] = x28;
2876  d.vals[28] = x29;
2877  d.vals[29] = x30;
2878  d.vals[30] = x31;
2879  d.vals[31] = x32;
2880  d.vals[32] = x33;
2881  d.vals[33] = x34;
2882  d.vals[34] = x35;
2883  d.vals[35] = x36;
2884  d.vals[36] = x37;
2885  d.vals[37] = x38;
2886  d.vals[38] = x39;
2887  d.vals[39] = x40;
2888  d.vals[40] = x41;
2889  d.vals[41] = x42;
2890  d.vals[42] = x43;
2891  d.vals[43] = x44;
2892  d.vals[44] = x45;
2893  d.vals[45] = x46;
2894  d.vals[46] = x47;
2895  d.vals[47] = x48;
2896  d.vals[48] = x49;
2897  d.vals[49] = x50;
2898  return d;
2899 }
2900 template<typename Precision> inline Operator<Internal::Data<50, Precision> > Data(const Precision& x1, const Precision& x2, const Precision& x3, const Precision& x4, const Precision& x5, const Precision& x6, const Precision& x7, const Precision& x8, const Precision& x9, const Precision& x10, const Precision& x11, const Precision& x12, const Precision& x13, const Precision& x14, const Precision& x15, const Precision& x16, const Precision& x17, const Precision& x18, const Precision& x19, const Precision& x20, const Precision& x21, const Precision& x22, const Precision& x23, const Precision& x24, const Precision& x25, const Precision& x26, const Precision& x27, const Precision& x28, const Precision& x29, const Precision& x30, const Precision& x31, const Precision& x32, const Precision& x33, const Precision& x34, const Precision& x35, const Precision& x36, const Precision& x37, const Precision& x38, const Precision& x39, const Precision& x40, const Precision& x41, const Precision& x42, const Precision& x43, const Precision& x44, const Precision& x45, const Precision& x46, const Precision& x47, const Precision& x48, const Precision& x49, const Precision& x50){
2902  d.vals[0] = x1;
2903  d.vals[1] = x2;
2904  d.vals[2] = x3;
2905  d.vals[3] = x4;
2906  d.vals[4] = x5;
2907  d.vals[5] = x6;
2908  d.vals[6] = x7;
2909  d.vals[7] = x8;
2910  d.vals[8] = x9;
2911  d.vals[9] = x10;
2912  d.vals[10] = x11;
2913  d.vals[11] = x12;
2914  d.vals[12] = x13;
2915  d.vals[13] = x14;
2916  d.vals[14] = x15;
2917  d.vals[15] = x16;
2918  d.vals[16] = x17;
2919  d.vals[17] = x18;
2920  d.vals[18] = x19;
2921  d.vals[19] = x20;
2922  d.vals[20] = x21;
2923  d.vals[21] = x22;
2924  d.vals[22] = x23;
2925  d.vals[23] = x24;
2926  d.vals[24] = x25;
2927  d.vals[25] = x26;
2928  d.vals[26] = x27;
2929  d.vals[27] = x28;
2930  d.vals[28] = x29;
2931  d.vals[29] = x30;
2932  d.vals[30] = x31;
2933  d.vals[31] = x32;
2934  d.vals[32] = x33;
2935  d.vals[33] = x34;
2936  d.vals[34] = x35;
2937  d.vals[35] = x36;
2938  d.vals[36] = x37;
2939  d.vals[37] = x38;
2940  d.vals[38] = x39;
2941  d.vals[39] = x40;
2942  d.vals[40] = x41;
2943  d.vals[41] = x42;
2944  d.vals[42] = x43;
2945  d.vals[43] = x44;
2946  d.vals[44] = x45;
2947  d.vals[45] = x46;
2948  d.vals[46] = x47;
2949  d.vals[47] = x48;
2950  d.vals[48] = x49;
2951  d.vals[49] = x50;
2952  return d;
2953 }
2954 inline Operator<Internal::Data<51, double> > Data(double x1, double x2, double x3, double x4, double x5, double x6, double x7, double x8, double x9, double x10, double x11, double x12, double x13, double x14, double x15, double x16, double x17, double x18, double x19, double x20, double x21, double x22, double x23, double x24, double x25, double x26, double x27, double x28, double x29, double x30, double x31, double x32, double x33, double x34, double x35, double x36, double x37, double x38, double x39, double x40, double x41, double x42, double x43, double x44, double x45, double x46, double x47, double x48, double x49, double x50, double x51){
2956  d.vals[0] = x1;
2957  d.vals[1] = x2;
2958  d.vals[2] = x3;
2959  d.vals[3] = x4;
2960  d.vals[4] = x5;
2961  d.vals[5] = x6;
2962  d.vals[6] = x7;
2963  d.vals[7] = x8;
2964  d.vals[8] = x9;
2965  d.vals[9] = x10;
2966  d.vals[10] = x11;
2967  d.vals[11] = x12;
2968  d.vals[12] = x13;
2969  d.vals[13] = x14;
2970  d.vals[14] = x15;
2971  d.vals[15] = x16;
2972  d.vals[16] = x17;
2973  d.vals[17] = x18;
2974  d.vals[18] = x19;
2975  d.vals[19] = x20;
2976  d.vals[20] = x21;
2977  d.vals[21] = x22;
2978  d.vals[22] = x23;
2979  d.vals[23] = x24;
2980  d.vals[24] = x25;
2981  d.vals[25] = x26;
2982  d.vals[26] = x27;
2983  d.vals[27] = x28;
2984  d.vals[28] = x29;
2985  d.vals[29] = x30;
2986  d.vals[30] = x31;
2987  d.vals[31] = x32;
2988  d.vals[32] = x33;
2989  d.vals[33] = x34;
2990  d.vals[34] = x35;
2991  d.vals[35] = x36;
2992  d.vals[36] = x37;
2993  d.vals[37] = x38;
2994  d.vals[38] = x39;
2995  d.vals[39] = x40;
2996  d.vals[40] = x41;
2997  d.vals[41] = x42;
2998  d.vals[42] = x43;
2999  d.vals[43] = x44;
3000  d.vals[44] = x45;
3001  d.vals[45] = x46;
3002  d.vals[46] = x47;
3003  d.vals[47] = x48;
3004  d.vals[48] = x49;
3005  d.vals[49] = x50;
3006  d.vals[50] = x51;
3007  return d;
3008 }
3009 template<typename Precision> inline Operator<Internal::Data<51, Precision> > Data(const Precision& x1, const Precision& x2, const Precision& x3, const Precision& x4, const Precision& x5, const Precision& x6, const Precision& x7, const Precision& x8, const Precision& x9, const Precision& x10, const Precision& x11, const Precision& x12, const Precision& x13, const Precision& x14, const Precision& x15, const Precision& x16, const Precision& x17, const Precision& x18, const Precision& x19, const Precision& x20, const Precision& x21, const Precision& x22, const Precision& x23, const Precision& x24, const Precision& x25, const Precision& x26, const Precision& x27, const Precision& x28, const Precision& x29, const Precision& x30, const Precision& x31, const Precision& x32, const Precision& x33, const Precision& x34, const Precision& x35, const Precision& x36, const Precision& x37, const Precision& x38, const Precision& x39, const Precision& x40, const Precision& x41, const Precision& x42, const Precision& x43, const Precision& x44, const Precision& x45, const Precision& x46, const Precision& x47, const Precision& x48, const Precision& x49, const Precision& x50, const Precision& x51){
3011  d.vals[0] = x1;
3012  d.vals[1] = x2;
3013  d.vals[2] = x3;
3014  d.vals[3] = x4;
3015  d.vals[4] = x5;
3016  d.vals[5] = x6;
3017  d.vals[6] = x7;
3018  d.vals[7] = x8;
3019  d.vals[8] = x9;
3020  d.vals[9] = x10;
3021  d.vals[10] = x11;
3022  d.vals[11] = x12;
3023  d.vals[12] = x13;
3024  d.vals[13] = x14;
3025  d.vals[14] = x15;
3026  d.vals[15] = x16;
3027  d.vals[16] = x17;
3028  d.vals[17] = x18;
3029  d.vals[18] = x19;
3030  d.vals[19] = x20;
3031  d.vals[20] = x21;
3032  d.vals[21] = x22;
3033  d.vals[22] = x23;
3034  d.vals[23] = x24;
3035  d.vals[24] = x25;
3036  d.vals[25] = x26;
3037  d.vals[26] = x27;
3038  d.vals[27] = x28;
3039  d.vals[28] = x29;
3040  d.vals[29] = x30;
3041  d.vals[30] = x31;
3042  d.vals[31] = x32;
3043  d.vals[32] = x33;
3044  d.vals[33] = x34;
3045  d.vals[34] = x35;
3046  d.vals[35] = x36;
3047  d.vals[36] = x37;
3048  d.vals[37] = x38;
3049  d.vals[38] = x39;
3050  d.vals[39] = x40;
3051  d.vals[40] = x41;
3052  d.vals[41] = x42;
3053  d.vals[42] = x43;
3054  d.vals[43] = x44;
3055  d.vals[44] = x45;
3056  d.vals[45] = x46;
3057  d.vals[46] = x47;
3058  d.vals[47] = x48;
3059  d.vals[48] = x49;
3060  d.vals[49] = x50;
3061  d.vals[50] = x51;
3062  return d;
3063 }
3064 inline Operator<Internal::Data<52, double> > Data(double x1, double x2, double x3, double x4, double x5, double x6, double x7, double x8, double x9, double x10, double x11, double x12, double x13, double x14, double x15, double x16, double x17, double x18, double x19, double x20, double x21, double x22, double x23, double x24, double x25, double x26, double x27, double x28, double x29, double x30, double x31, double x32, double x33, double x34, double x35, double x36, double x37, double x38, double x39, double x40, double x41, double x42, double x43, double x44, double x45, double x46, double x47, double x48, double x49, double x50, double x51, double x52){
3066  d.vals[0] = x1;
3067  d.vals[1] = x2;
3068  d.vals[2] = x3;
3069  d.vals[3] = x4;
3070  d.vals[4] = x5;
3071  d.vals[5] = x6;
3072  d.vals[6] = x7;
3073  d.vals[7] = x8;
3074  d.vals[8] = x9;
3075  d.vals[9] = x10;
3076  d.vals[10] = x11;
3077  d.vals[11] = x12;
3078  d.vals[12] = x13;
3079  d.vals[13] = x14;
3080  d.vals[14] = x15;
3081  d.vals[15] = x16;
3082  d.vals[16] = x17;
3083  d.vals[17] = x18;
3084  d.vals[18] = x19;
3085  d.vals[19] = x20;
3086  d.vals[20] = x21;
3087  d.vals[21] = x22;
3088  d.vals[22] = x23;
3089  d.vals[23] = x24;
3090  d.vals[24] = x25;
3091  d.vals[25] = x26;
3092  d.vals[26] = x27;
3093  d.vals[27] = x28;
3094  d.vals[28] = x29;
3095  d.vals[29] = x30;
3096  d.vals[30] = x31;
3097  d.vals[31] = x32;
3098  d.vals[32] = x33;
3099  d.vals[33] = x34;
3100  d.vals[34] = x35;
3101  d.vals[35] = x36;
3102  d.vals[36] = x37;
3103  d.vals[37] = x38;
3104  d.vals[38] = x39;
3105  d.vals[39] = x40;
3106  d.vals[40] = x41;
3107  d.vals[41] = x42;
3108  d.vals[42] = x43;
3109  d.vals[43] = x44;
3110  d.vals[44] = x45;
3111  d.vals[45] = x46;
3112  d.vals[46] = x47;
3113  d.vals[47] = x48;
3114  d.vals[48] = x49;
3115  d.vals[49] = x50;
3116  d.vals[50] = x51;
3117  d.vals[51] = x52;
3118  return d;
3119 }
3120 template<typename Precision> inline Operator<Internal::Data<52, Precision> > Data(const Precision& x1, const Precision& x2, const Precision& x3, const Precision& x4, const Precision& x5, const Precision& x6, const Precision& x7, const Precision& x8, const Precision& x9, const Precision& x10, const Precision& x11, const Precision& x12, const Precision& x13, const Precision& x14, const Precision& x15, const Precision& x16, const Precision& x17, const Precision& x18, const Precision& x19, const Precision& x20, const Precision& x21, const Precision& x22, const Precision& x23, const Precision& x24, const Precision& x25, const Precision& x26, const Precision& x27, const Precision& x28, const Precision& x29, const Precision& x30, const Precision& x31, const Precision& x32, const Precision& x33, const Precision& x34, const Precision& x35, const Precision& x36, const Precision& x37, const Precision& x38, const Precision& x39, const Precision& x40, const Precision& x41, const Precision& x42, const Precision& x43, const Precision& x44, const Precision& x45, const Precision& x46, const Precision& x47, const Precision& x48, const Precision& x49, const Precision& x50, const Precision& x51, const Precision& x52){
3122  d.vals[0] = x1;
3123  d.vals[1] = x2;
3124  d.vals[2] = x3;
3125  d.vals[3] = x4;
3126  d.vals[4] = x5;
3127  d.vals[5] = x6;
3128  d.vals[6] = x7;
3129  d.vals[7] = x8;
3130  d.vals[8] = x9;
3131  d.vals[9] = x10;
3132  d.vals[10] = x11;
3133  d.vals[11] = x12;
3134  d.vals[12] = x13;
3135  d.vals[13] = x14;
3136  d.vals[14] = x15;
3137  d.vals[15] = x16;
3138  d.vals[16] = x17;
3139  d.vals[17] = x18;
3140  d.vals[18] = x19;
3141  d.vals[19] = x20;
3142  d.vals[20] = x21;
3143  d.vals[21] = x22;
3144  d.vals[22] = x23;
3145  d.vals[23] = x24;
3146  d.vals[24] = x25;
3147  d.vals[25] = x26;
3148  d.vals[26] = x27;
3149  d.vals[27] = x28;
3150  d.vals[28] = x29;
3151  d.vals[29] = x30;
3152  d.vals[30] = x31;
3153  d.vals[31] = x32;
3154  d.vals[32] = x33;
3155  d.vals[33] = x34;
3156  d.vals[34] = x35;
3157  d.vals[35] = x36;
3158  d.vals[36] = x37;
3159  d.vals[37] = x38;
3160  d.vals[38] = x39;
3161  d.vals[39] = x40;
3162  d.vals[40] = x41;
3163  d.vals[41] = x42;
3164  d.vals[42] = x43;
3165  d.vals[43] = x44;
3166  d.vals[44] = x45;
3167  d.vals[45] = x46;
3168  d.vals[46] = x47;
3169  d.vals[47] = x48;
3170  d.vals[48] = x49;
3171  d.vals[49] = x50;
3172  d.vals[50] = x51;
3173  d.vals[51] = x52;
3174  return d;
3175 }
3176 inline Operator<Internal::Data<53, double> > Data(double x1, double x2, double x3, double x4, double x5, double x6, double x7, double x8, double x9, double x10, double x11, double x12, double x13, double x14, double x15, double x16, double x17, double x18, double x19, double x20, double x21, double x22, double x23, double x24, double x25, double x26, double x27, double x28, double x29, double x30, double x31, double x32, double x33, double x34, double x35, double x36, double x37, double x38, double x39, double x40, double x41, double x42, double x43, double x44, double x45, double x46, double x47, double x48, double x49, double x50, double x51, double x52, double x53){
3178  d.vals[0] = x1;
3179  d.vals[1] = x2;
3180  d.vals[2] = x3;
3181  d.vals[3] = x4;
3182  d.vals[4] = x5;
3183  d.vals[5] = x6;
3184  d.vals[6] = x7;
3185  d.vals[7] = x8;
3186  d.vals[8] = x9;
3187  d.vals[9] = x10;
3188  d.vals[10] = x11;
3189  d.vals[11] = x12;
3190  d.vals[12] = x13;
3191  d.vals[13] = x14;
3192  d.vals[14] = x15;
3193  d.vals[15] = x16;
3194  d.vals[16] = x17;
3195  d.vals[17] = x18;
3196  d.vals[18] = x19;
3197  d.vals[19] = x20;
3198  d.vals[20] = x21;
3199  d.vals[21] = x22;
3200  d.vals[22] = x23;
3201  d.vals[23] = x24;
3202  d.vals[24] = x25;
3203  d.vals[25] = x26;
3204  d.vals[26] = x27;
3205  d.vals[27] = x28;
3206  d.vals[28] = x29;
3207  d.vals[29] = x30;
3208  d.vals[30] = x31;
3209  d.vals[31] = x32;
3210  d.vals[32] = x33;
3211  d.vals[33] = x34;
3212  d.vals[34] = x35;
3213  d.vals[35] = x36;
3214  d.vals[36] = x37;
3215  d.vals[37] = x38;
3216  d.vals[38] = x39;
3217  d.vals[39] = x40;
3218  d.vals[40] = x41;
3219  d.vals[41] = x42;
3220  d.vals[42] = x43;
3221  d.vals[43] = x44;
3222  d.vals[44] = x45;
3223  d.vals[45] = x46;
3224  d.vals[46] = x47;
3225  d.vals[47] = x48;
3226  d.vals[48] = x49;
3227  d.vals[49] = x50;
3228  d.vals[50] = x51;
3229  d.vals[51] = x52;
3230  d.vals[52] = x53;
3231  return d;
3232 }
3233 template<typename Precision> inline Operator<Internal::Data<53, Precision> > Data(const Precision& x1, const Precision& x2, const Precision& x3, const Precision& x4, const Precision& x5, const Precision& x6, const Precision& x7, const Precision& x8, const Precision& x9, const Precision& x10, const Precision& x11, const Precision& x12, const Precision& x13, const Precision& x14, const Precision& x15, const Precision& x16, const Precision& x17, const Precision& x18, const Precision& x19, const Precision& x20, const Precision& x21, const Precision& x22, const Precision& x23, const Precision& x24, const Precision& x25, const Precision& x26, const Precision& x27, const Precision& x28, const Precision& x29, const Precision& x30, const Precision& x31, const Precision& x32, const Precision& x33, const Precision& x34, const Precision& x35, const Precision& x36, const Precision& x37, const Precision& x38, const Precision& x39, const Precision& x40, const Precision& x41, const Precision& x42, const Precision& x43, const Precision& x44, const Precision& x45, const Precision& x46, const Precision& x47, const Precision& x48, const Precision& x49, const Precision& x50, const Precision& x51, const Precision& x52, const Precision& x53){
3235  d.vals[0] = x1;
3236  d.vals[1] = x2;
3237  d.vals[2] = x3;
3238  d.vals[3] = x4;
3239  d.vals[4] = x5;
3240  d.vals[5] = x6;
3241  d.vals[6] = x7;
3242  d.vals[7] = x8;
3243  d.vals[8] = x9;
3244  d.vals[9] = x10;
3245  d.vals[10] = x11;
3246  d.vals[11] = x12;
3247  d.vals[12] = x13;
3248  d.vals[13] = x14;
3249  d.vals[14] = x15;
3250  d.vals[15] = x16;
3251  d.vals[16] = x17;
3252  d.vals[17] = x18;
3253  d.vals[18] = x19;
3254  d.vals[19] = x20;
3255  d.vals[20] = x21;
3256  d.vals[21] = x22;
3257  d.vals[22] = x23;
3258  d.vals[23] = x24;
3259  d.vals[24] = x25;
3260  d.vals[25] = x26;
3261  d.vals[26] = x27;
3262  d.vals[27] = x28;
3263  d.vals[28] = x29;
3264  d.vals[29] = x30;
3265  d.vals[30] = x31;
3266  d.vals[31] = x32;
3267  d.vals[32] = x33;
3268  d.vals[33] = x34;
3269  d.vals[34] = x35;
3270  d.vals[35] = x36;
3271  d.vals[36] = x37;
3272  d.vals[37] = x38;
3273  d.vals[38] = x39;
3274  d.vals[39] = x40;
3275  d.vals[40] = x41;
3276  d.vals[41] = x42;
3277  d.vals[42] = x43;
3278  d.vals[43] = x44;
3279  d.vals[44] = x45;
3280  d.vals[45] = x46;
3281  d.vals[46] = x47;
3282  d.vals[47] = x48;
3283  d.vals[48] = x49;
3284  d.vals[49] = x50;
3285  d.vals[50] = x51;
3286  d.vals[51] = x52;
3287  d.vals[52] = x53;
3288  return d;
3289 }
3290 inline Operator<Internal::Data<54, double> > Data(double x1, double x2, double x3, double x4, double x5, double x6, double x7, double x8, double x9, double x10, double x11, double x12, double x13, double x14, double x15, double x16, double x17, double x18, double x19, double x20, double x21, double x22, double x23, double x24, double x25, double x26, double x27, double x28, double x29, double x30, double x31, double x32, double x33, double x34, double x35, double x36, double x37, double x38, double x39, double x40, double x41, double x42, double x43, double x44, double x45, double x46, double x47, double x48, double x49, double x50, double x51, double x52, double x53, double x54){
3292  d.vals[0] = x1;
3293  d.vals[1] = x2;
3294  d.vals[2] = x3;
3295  d.vals[3] = x4;
3296  d.vals[4] = x5;
3297  d.vals[5] = x6;
3298  d.vals[6] = x7;
3299  d.vals[7] = x8;
3300  d.vals[8] = x9;
3301  d.vals[9] = x10;
3302  d.vals[10] = x11;
3303  d.vals[11] = x12;
3304  d.vals[12] = x13;
3305  d.vals[13] = x14;
3306  d.vals[14] = x15;
3307  d.vals[15] = x16;
3308  d.vals[16] = x17;
3309  d.vals[17] = x18;
3310  d.vals[18] = x19;
3311  d.vals[19] = x20;
3312  d.vals[20] = x21;
3313  d.vals[21] = x22;
3314  d.vals[22] = x23;
3315  d.vals[23] = x24;
3316  d.vals[24] = x25;
3317  d.vals[25] = x26;
3318  d.vals[26] = x27;
3319  d.vals[27] = x28;
3320  d.vals[28] = x29;
3321  d.vals[29] = x30;
3322  d.vals[30] = x31;
3323  d.vals[31] = x32;
3324  d.vals[32] = x33;
3325  d.vals[33] = x34;
3326  d.vals[34] = x35;
3327  d.vals[35] = x36;
3328  d.vals[36] = x37;
3329  d.vals[37] = x38;
3330  d.vals[38] = x39;
3331  d.vals[39] = x40;
3332  d.vals[40] = x41;
3333  d.vals[41] = x42;
3334  d.vals[42] = x43;
3335  d.vals[43] = x44;
3336  d.vals[44] = x45;
3337  d.vals[45] = x46;
3338  d.vals[46] = x47;
3339  d.vals[47] = x48;
3340  d.vals[48] = x49;
3341  d.vals[49] = x50;
3342  d.vals[50] = x51;
3343  d.vals[51] = x52;
3344  d.vals[52] = x53;
3345  d.vals[53] = x54;
3346  return d;
3347 }
3348 template<typename Precision> inline Operator<Internal::Data<54, Precision> > Data(const Precision& x1, const Precision& x2, const Precision& x3, const Precision& x4, const Precision& x5, const Precision& x6, const Precision& x7, const Precision& x8, const Precision& x9, const Precision& x10, const Precision& x11, const Precision& x12, const Precision& x13, const Precision& x14, const Precision& x15, const Precision& x16, const Precision& x17, const Precision& x18, const Precision& x19, const Precision& x20, const Precision& x21, const Precision& x22, const Precision& x23, const Precision& x24, const Precision& x25, const Precision& x26, const Precision& x27, const Precision& x28, const Precision& x29, const Precision& x30, const Precision& x31, const Precision& x32, const Precision& x33, const Precision& x34, const Precision& x35, const Precision& x36, const Precision& x37, const Precision& x38, const Precision& x39, const Precision& x40, const Precision& x41, const Precision& x42, const Precision& x43, const Precision& x44, const Precision& x45, const Precision& x46, const Precision& x47, const Precision& x48, const Precision& x49, const Precision& x50, const Precision& x51, const Precision& x52, const Precision& x53, const Precision& x54){
3350  d.vals[0] = x1;
3351  d.vals[1] = x2;
3352  d.vals[2] = x3;
3353  d.vals[3] = x4;
3354  d.vals[4] = x5;
3355  d.vals[5] = x6;
3356  d.vals[6] = x7;
3357  d.vals[7] = x8;
3358  d.vals[8] = x9;
3359  d.vals[9] = x10;
3360  d.vals[10] = x11;
3361  d.vals[11] = x12;
3362  d.vals[12] = x13;
3363  d.vals[13] = x14;
3364  d.vals[14] = x15;
3365  d.vals[15] = x16;
3366  d.vals[16] = x17;
3367  d.vals[17] = x18;
3368  d.vals[18] = x19;
3369  d.vals[19] = x20;
3370  d.vals[20] = x21;
3371  d.vals[21] = x22;
3372  d.vals[22] = x23;
3373  d.vals[23] = x24;
3374  d.vals[24] = x25;
3375  d.vals[25] = x26;
3376  d.vals[26] = x27;
3377  d.vals[27] = x28;
3378  d.vals[28] = x29;
3379  d.vals[29] = x30;
3380  d.vals[30] = x31;
3381  d.vals[31] = x32;
3382  d.vals[32] = x33;
3383  d.vals[33] = x34;
3384  d.vals[34] = x35;
3385  d.vals[35] = x36;
3386  d.vals[36] = x37;
3387  d.vals[37] = x38;
3388  d.vals[38] = x39;
3389  d.vals[39] = x40;
3390  d.vals[40] = x41;
3391  d.vals[41] = x42;
3392  d.vals[42] = x43;
3393  d.vals[43] = x44;
3394  d.vals[44] = x45;
3395  d.vals[45] = x46;
3396  d.vals[46] = x47;
3397  d.vals[47] = x48;
3398  d.vals[48] = x49;
3399  d.vals[49] = x50;
3400  d.vals[50] = x51;
3401  d.vals[51] = x52;
3402  d.vals[52] = x53;
3403  d.vals[53] = x54;
3404  return d;
3405 }
3406 inline Operator<Internal::Data<55, double> > Data(double x1, double x2, double x3, double x4, double x5, double x6, double x7, double x8, double x9, double x10, double x11, double x12, double x13, double x14, double x15, double x16, double x17, double x18, double x19, double x20, double x21, double x22, double x23, double x24, double x25, double x26, double x27, double x28, double x29, double x30, double x31, double x32, double x33, double x34, double x35, double x36, double x37, double x38, double x39, double x40, double x41, double x42, double x43, double x44, double x45, double x46, double x47, double x48, double x49, double x50, double x51, double x52, double x53, double x54, double x55){
3408  d.vals[0] = x1;
3409  d.vals[1] = x2;
3410  d.vals[2] = x3;
3411  d.vals[3] = x4;
3412  d.vals[4] = x5;
3413  d.vals[5] = x6;
3414  d.vals[6] = x7;
3415  d.vals[7] = x8;
3416  d.vals[8] = x9;
3417  d.vals[9] = x10;
3418  d.vals[10] = x11;
3419  d.vals[11] = x12;
3420  d.vals[12] = x13;
3421  d.vals[13] = x14;
3422  d.vals[14] = x15;
3423  d.vals[15] = x16;
3424  d.vals[16] = x17;
3425  d.vals[17] = x18;
3426  d.vals[18] = x19;
3427  d.vals[19] = x20;
3428  d.vals[20] = x21;
3429  d.vals[21] = x22;
3430  d.vals[22] = x23;
3431  d.vals[23] = x24;
3432  d.vals[24] = x25;
3433  d.vals[25] = x26;
3434  d.vals[26] = x27;
3435  d.vals[27] = x28;
3436  d.vals[28] = x29;
3437  d.vals[29] = x30;
3438  d.vals[30] = x31;
3439  d.vals[31] = x32;
3440  d.vals[32] = x33;
3441  d.vals[33] = x34;
3442  d.vals[34] = x35;
3443  d.vals[35] = x36;
3444  d.vals[36] = x37;
3445  d.vals[37] = x38;
3446  d.vals[38] = x39;
3447  d.vals[39] = x40;
3448  d.vals[40] = x41;
3449  d.vals[41] = x42;
3450  d.vals[42] = x43;
3451  d.vals[43] = x44;
3452  d.vals[44] = x45;
3453  d.vals[45] = x46;
3454  d.vals[46] = x47;
3455  d.vals[47] = x48;
3456  d.vals[48] = x49;
3457  d.vals[49] = x50;
3458  d.vals[50] = x51;
3459  d.vals[51] = x52;
3460  d.vals[52] = x53;
3461  d.vals[53] = x54;
3462  d.vals[54] = x55;
3463  return d;
3464 }
3465 template<typename Precision> inline Operator<Internal::Data<55, Precision> > Data(const Precision& x1, const Precision& x2, const Precision& x3, const Precision& x4, const Precision& x5, const Precision& x6, const Precision& x7, const Precision& x8, const Precision& x9, const Precision& x10, const Precision& x11, const Precision& x12, const Precision& x13, const Precision& x14, const Precision& x15, const Precision& x16, const Precision& x17, const Precision& x18, const Precision& x19, const Precision& x20, const Precision& x21, const Precision& x22, const Precision& x23, const Precision& x24, const Precision& x25, const Precision& x26, const Precision& x27, const Precision& x28, const Precision& x29, const Precision& x30, const Precision& x31, const Precision& x32, const Precision& x33, const Precision& x34, const Precision& x35, const Precision& x36, const Precision& x37, const Precision& x38, const Precision& x39, const Precision& x40, const Precision& x41, const Precision& x42, const Precision& x43, const Precision& x44, const Precision& x45, const Precision& x46, const Precision& x47, const Precision& x48, const Precision& x49, const Precision& x50, const Precision& x51, const Precision& x52, const Precision& x53, const Precision& x54, const Precision& x55){
3467  d.vals[0] = x1;
3468  d.vals[1] = x2;
3469  d.vals[2] = x3;
3470  d.vals[3] = x4;
3471  d.vals[4] = x5;
3472  d.vals[5] = x6;
3473  d.vals[6] = x7;
3474  d.vals[7] = x8;
3475  d.vals[8] = x9;
3476  d.vals[9] = x10;
3477  d.vals[10] = x11;
3478  d.vals[11] = x12;
3479  d.vals[12] = x13;
3480  d.vals[13] = x14;
3481  d.vals[14] = x15;
3482  d.vals[15] = x16;
3483  d.vals[16] = x17;
3484  d.vals[17] = x18;
3485  d.vals[18] = x19;
3486  d.vals[19] = x20;
3487  d.vals[20] = x21;
3488  d.vals[21] = x22;
3489  d.vals[22] = x23;
3490  d.vals[23] = x24;
3491  d.vals[24] = x25;
3492  d.vals[25] = x26;
3493  d.vals[26] = x27;
3494  d.vals[27] = x28;
3495  d.vals[28] = x29;
3496  d.vals[29] = x30;
3497  d.vals[30] = x31;
3498  d.vals[31] = x32;
3499  d.vals[32] = x33;
3500  d.vals[33] = x34;
3501  d.vals[34] = x35;
3502  d.vals[35] = x36;
3503  d.vals[36] = x37;
3504  d.vals[37] = x38;
3505  d.vals[38] = x39;
3506  d.vals[39] = x40;
3507  d.vals[40] = x41;
3508  d.vals[41] = x42;
3509  d.vals[42] = x43;
3510  d.vals[43] = x44;
3511  d.vals[44] = x45;
3512  d.vals[45] = x46;
3513  d.vals[46] = x47;
3514  d.vals[47] = x48;
3515  d.vals[48] = x49;
3516  d.vals[49] = x50;
3517  d.vals[50] = x51;
3518  d.vals[51] = x52;
3519  d.vals[52] = x53;
3520  d.vals[53] = x54;
3521  d.vals[54] = x55;
3522  return d;
3523 }
3524 inline Operator<Internal::Data<56, double> > Data(double x1, double x2, double x3, double x4, double x5, double x6, double x7, double x8, double x9, double x10, double x11, double x12, double x13, double x14, double x15, double x16, double x17, double x18, double x19, double x20, double x21, double x22, double x23, double x24, double x25, double x26, double x27, double x28, double x29, double x30, double x31, double x32, double x33, double x34, double x35, double x36, double x37, double x38, double x39, double x40, double x41, double x42, double x43, double x44, double x45, double x46, double x47, double x48, double x49, double x50, double x51, double x52, double x53, double x54, double x55, double x56){
3526  d.vals[0] = x1;
3527  d.vals[1] = x2;
3528  d.vals[2] = x3;
3529  d.vals[3] = x4;
3530  d.vals[4] = x5;
3531  d.vals[5] = x6;
3532  d.vals[6] = x7;
3533  d.vals[7] = x8;
3534  d.vals[8] = x9;
3535  d.vals[9] = x10;
3536  d.vals[10] = x11;
3537  d.vals[11] = x12;
3538  d.vals[12] = x13;
3539  d.vals[13] = x14;
3540  d.vals[14] = x15;
3541  d.vals[15] = x16;
3542  d.vals[16] = x17;
3543  d.vals[17] = x18;
3544  d.vals[18] = x19;
3545  d.vals[19] = x20;
3546  d.vals[20] = x21;
3547  d.vals[21] = x22;
3548  d.vals[22] = x23;
3549  d.vals[23] = x24;
3550  d.vals[24] = x25;
3551  d.vals[25] = x26;
3552  d.vals[26] = x27;
3553  d.vals[27] = x28;
3554  d.vals[28] = x29;
3555  d.vals[29] = x30;
3556  d.vals[30] = x31;
3557  d.vals[31] = x32;
3558  d.vals[32] = x33;
3559  d.vals[33] = x34;
3560  d.vals[34] = x35;
3561  d.vals[35] = x36;
3562  d.vals[36] = x37;
3563  d.vals[37] = x38;
3564  d.vals[38] = x39;
3565  d.vals[39] = x40;
3566  d.vals[40] = x41;
3567  d.vals[41] = x42;
3568  d.vals[42] = x43;
3569  d.vals[43] = x44;
3570  d.vals[44] = x45;
3571  d.vals[45] = x46;
3572  d.vals[46] = x47;
3573  d.vals[47] = x48;
3574  d.vals[48] = x49;
3575  d.vals[49] = x50;
3576  d.vals[50] = x51;
3577  d.vals[51] = x52;
3578  d.vals[52] = x53;
3579  d.vals[53] = x54;
3580  d.vals[54] = x55;
3581  d.vals[55] = x56;
3582  return d;
3583 }
3584 template<typename Precision> inline Operator<Internal::Data<56, Precision> > Data(const Precision& x1, const Precision& x2, const Precision& x3, const Precision& x4, const Precision& x5, const Precision& x6, const Precision& x7, const Precision& x8, const Precision& x9, const Precision& x10, const Precision& x11, const Precision& x12, const Precision& x13, const Precision& x14, const Precision& x15, const Precision& x16, const Precision& x17, const Precision& x18, const Precision& x19, const Precision& x20, const Precision& x21, const Precision& x22, const Precision& x23, const Precision& x24, const Precision& x25, const Precision& x26, const Precision& x27, const Precision& x28, const Precision& x29, const Precision& x30, const Precision& x31, const Precision& x32, const Precision& x33, const Precision& x34, const Precision& x35, const Precision& x36, const Precision& x37, const Precision& x38, const Precision& x39, const Precision& x40, const Precision& x41, const Precision& x42, const Precision& x43, const Precision& x44, const Precision& x45, const Precision& x46, const Precision& x47, const Precision& x48, const Precision& x49, const Precision& x50, const Precision& x51, const Precision& x52, const Precision& x53, const Precision& x54, const Precision& x55, const Precision& x56){
3586  d.vals[0] = x1;
3587  d.vals[1] = x2;
3588  d.vals[2] = x3;
3589  d.vals[3] = x4;
3590  d.vals[4] = x5;
3591  d.vals[5] = x6;
3592  d.vals[6] = x7;
3593  d.vals[7] = x8;
3594  d.vals[8] = x9;
3595  d.vals[9] = x10;
3596  d.vals[10] = x11;
3597  d.vals[11] = x12;
3598  d.vals[12] = x13;
3599  d.vals[13] = x14;
3600  d.vals[14] = x15;
3601  d.vals[15] = x16;
3602  d.vals[16] = x17;
3603  d.vals[17] = x18;
3604  d.vals[18] = x19;
3605  d.vals[19] = x20;
3606  d.vals[20] = x21;
3607  d.vals[21] = x22;
3608  d.vals[22] = x23;
3609  d.vals[23] = x24;
3610  d.vals[24] = x25;
3611  d.vals[25] = x26;
3612  d.vals[26] = x27;
3613  d.vals[27] = x28;
3614  d.vals[28] = x29;
3615  d.vals[29] = x30;
3616  d.vals[30] = x31;
3617  d.vals[31] = x32;
3618  d.vals[32] = x33;
3619  d.vals[33] = x34;
3620  d.vals[34] = x35;
3621  d.vals[35] = x36;
3622  d.vals[36] = x37;
3623  d.vals[37] = x38;
3624  d.vals[38] = x39;
3625  d.vals[39] = x40;
3626  d.vals[40] = x41;
3627  d.vals[41] = x42;
3628  d.vals[42] = x43;
3629  d.vals[43] = x44;
3630  d.vals[44] = x45;
3631  d.vals[45] = x46;
3632  d.vals[46] = x47;
3633  d.vals[47] = x48;
3634  d.vals[48] = x49;
3635  d.vals[49] = x50;
3636  d.vals[50] = x51;
3637  d.vals[51] = x52;
3638  d.vals[52] = x53;
3639  d.vals[53] = x54;
3640  d.vals[54] = x55;
3641  d.vals[55] = x56;
3642  return d;
3643 }
3644 inline Operator<Internal::Data<57, double> > Data(double x1, double x2, double x3, double x4, double x5, double x6, double x7, double x8, double x9, double x10, double x11, double x12, double x13, double x14, double x15, double x16, double x17, double x18, double x19, double x20, double x21, double x22, double x23, double x24, double x25, double x26, double x27, double x28, double x29, double x30, double x31, double x32, double x33, double x34, double x35, double x36, double x37, double x38, double x39, double x40, double x41, double x42, double x43, double x44, double x45, double x46, double x47, double x48, double x49, double x50, double x51, double x52, double x53, double x54, double x55, double x56, double x57){
3646  d.vals[0] = x1;
3647  d.vals[1] = x2;
3648  d.vals[2] = x3;
3649  d.vals[3] = x4;
3650  d.vals[4] = x5;
3651  d.vals[5] = x6;
3652  d.vals[6] = x7;
3653  d.vals[7] = x8;
3654  d.vals[8] = x9;
3655  d.vals[9] = x10;
3656  d.vals[10] = x11;
3657  d.vals[11] = x12;
3658  d.vals[12] = x13;
3659  d.vals[13] = x14;
3660  d.vals[14] = x15;
3661  d.vals[15] = x16;
3662  d.vals[16] = x17;
3663  d.vals[17] = x18;
3664  d.vals[18] = x19;
3665  d.vals[19] = x20;
3666  d.vals[20] = x21;
3667  d.vals[21] = x22;
3668  d.vals[22] = x23;
3669  d.vals[23] = x24;
3670  d.vals[24] = x25;
3671  d.vals[25] = x26;
3672  d.vals[26] = x27;
3673  d.vals[27] = x28;
3674  d.vals[28] = x29;
3675  d.vals[29] = x30;
3676  d.vals[30] = x31;
3677  d.vals[31] = x32;
3678  d.vals[32] = x33;
3679  d.vals[33] = x34;
3680  d.vals[34] = x35;
3681  d.vals[35] = x36;
3682  d.vals[36] = x37;
3683  d.vals[37] = x38;
3684  d.vals[38] = x39;
3685  d.vals[39] = x40;
3686  d.vals[40] = x41;
3687  d.vals[41] = x42;
3688  d.vals[42] = x43;
3689  d.vals[43] = x44;
3690  d.vals[44] = x45;
3691  d.vals[45] = x46;
3692  d.vals[46] = x47;
3693  d.vals[47] = x48;
3694  d.vals[48] = x49;
3695  d.vals[49] = x50;
3696  d.vals[50] = x51;
3697  d.vals[51] = x52;
3698  d.vals[52] = x53;
3699  d.vals[53] = x54;
3700  d.vals[54] = x55;
3701  d.vals[55] = x56;
3702  d.vals[56] = x57;
3703  return d;
3704 }
3705 template<typename Precision> inline Operator<Internal::Data<57, Precision> > Data(const Precision& x1, const Precision& x2, const Precision& x3, const Precision& x4, const Precision& x5, const Precision& x6, const Precision& x7, const Precision& x8, const Precision& x9, const Precision& x10, const Precision& x11, const Precision& x12, const Precision& x13, const Precision& x14, const Precision& x15, const Precision& x16, const Precision& x17, const Precision& x18, const Precision& x19, const Precision& x20, const Precision& x21, const Precision& x22, const Precision& x23, const Precision& x24, const Precision& x25, const Precision& x26, const Precision& x27, const Precision& x28, const Precision& x29, const Precision& x30, const Precision& x31, const Precision& x32, const Precision& x33, const Precision& x34, const Precision& x35, const Precision& x36, const Precision& x37, const Precision& x38, const Precision& x39, const Precision& x40, const Precision& x41, const Precision& x42, const Precision& x43, const Precision& x44, const Precision& x45, const Precision& x46, const Precision& x47, const Precision& x48, const Precision& x49, const Precision& x50, const Precision& x51, const Precision& x52, const Precision& x53, const Precision& x54, const Precision& x55, const Precision& x56, const Precision& x57){
3707  d.vals[0] = x1;
3708  d.vals[1] = x2;
3709  d.vals[2] = x3;
3710  d.vals[3] = x4;
3711  d.vals[4] = x5;
3712  d.vals[5] = x6;
3713  d.vals[6] = x7;
3714  d.vals[7] = x8;
3715  d.vals[8] = x9;
3716  d.vals[9] = x10;
3717  d.vals[10] = x11;
3718  d.vals[11] = x12;
3719  d.vals[12] = x13;
3720  d.vals[13] = x14;
3721  d.vals[14] = x15;
3722  d.vals[15] = x16;
3723  d.vals[16] = x17;
3724  d.vals[17] = x18;
3725  d.vals[18] = x19;
3726  d.vals[19] = x20;
3727  d.vals[20] = x21;
3728  d.vals[21] = x22;
3729  d.vals[22] = x23;
3730  d.vals[23] = x24;
3731  d.vals[24] = x25;
3732  d.vals[25] = x26;
3733  d.vals[26] = x27;
3734  d.vals[27] = x28;
3735  d.vals[28] = x29;
3736  d.vals[29] = x30;
3737  d.vals[30] = x31;
3738  d.vals[31] = x32;
3739  d.vals[32] = x33;
3740  d.vals[33] = x34;
3741  d.vals[34] = x35;
3742  d.vals[35] = x36;
3743  d.vals[36] = x37;
3744  d.vals[37] = x38;
3745  d.vals[38] = x39;
3746  d.vals[39] = x40;
3747  d.vals[40] = x41;
3748  d.vals[41] = x42;
3749  d.vals[42] = x43;
3750  d.vals[43] = x44;
3751  d.vals[44] = x45;
3752  d.vals[45] = x46;
3753  d.vals[46] = x47;
3754  d.vals[47] = x48;
3755  d.vals[48] = x49;
3756  d.vals[49] = x50;
3757  d.vals[50] = x51;
3758  d.vals[51] = x52;
3759  d.vals[52] = x53;
3760  d.vals[53] = x54;
3761  d.vals[54] = x55;
3762  d.vals[55] = x56;
3763  d.vals[56] = x57;
3764  return d;
3765 }
3766 inline Operator<Internal::Data<58, double> > Data(double x1, double x2, double x3, double x4, double x5, double x6, double x7, double x8, double x9, double x10, double x11, double x12, double x13, double x14, double x15, double x16, double x17, double x18, double x19, double x20, double x21, double x22, double x23, double x24, double x25, double x26, double x27, double x28, double x29, double x30, double x31, double x32, double x33, double x34, double x35, double x36, double x37, double x38, double x39, double x40, double x41, double x42, double x43, double x44, double x45, double x46, double x47, double x48, double x49, double x50, double x51, double x52, double x53, double x54, double x55, double x56, double x57, double x58){
3768  d.vals[0] = x1;
3769  d.vals[1] = x2;
3770  d.vals[2] = x3;
3771  d.vals[3] = x4;
3772  d.vals[4] = x5;
3773  d.vals[5] = x6;
3774  d.vals[6] = x7;
3775  d.vals[7] = x8;
3776  d.vals[8] = x9;
3777  d.vals[9] = x10;
3778  d.vals[10] = x11;
3779  d.vals[11] = x12;
3780  d.vals[12] = x13;
3781  d.vals[13] = x14;
3782  d.vals[14] = x15;
3783  d.vals[15] = x16;
3784  d.vals[16] = x17;
3785  d.vals[17] = x18;
3786  d.vals[18] = x19;
3787  d.vals[19] = x20;
3788  d.vals[20] = x21;
3789  d.vals[21] = x22;
3790  d.vals[22] = x23;
3791  d.vals[23] = x24;
3792  d.vals[24] = x25;
3793  d.vals[25] = x26;
3794  d.vals[26] = x27;
3795  d.vals[27] = x28;
3796  d.vals[28] = x29;
3797  d.vals[29] = x30;
3798  d.vals[30] = x31;
3799  d.vals[31] = x32;
3800  d.vals[32] = x33;
3801  d.vals[33] = x34;
3802  d.vals[34] = x35;
3803  d.vals[35] = x36;
3804  d.vals[36] = x37;
3805  d.vals[37] = x38;
3806  d.vals[38] = x39;
3807  d.vals[39] = x40;
3808  d.vals[40] = x41;
3809  d.vals[41] = x42;
3810  d.vals[42] = x43;
3811  d.vals[43] = x44;
3812  d.vals[44] = x45;
3813  d.vals[45] = x46;
3814  d.vals[46] = x47;
3815  d.vals[47] = x48;
3816  d.vals[48] = x49;
3817  d.vals[49] = x50;
3818  d.vals[50] = x51;
3819  d.vals[51] = x52;
3820  d.vals[52] = x53;
3821  d.vals[53] = x54;
3822  d.vals[54] = x55;
3823  d.vals[55] = x56;
3824  d.vals[56] = x57;
3825  d.vals[57] = x58;
3826  return d;
3827 }
3828 template<typename Precision> inline Operator<Internal::Data<58, Precision> > Data(const Precision& x1, const Precision& x2, const Precision& x3, const Precision& x4, const Precision& x5, const Precision& x6, const Precision& x7, const Precision& x8, const Precision& x9, const Precision& x10, const Precision& x11, const Precision& x12, const Precision& x13, const Precision& x14, const Precision& x15, const Precision& x16, const Precision& x17, const Precision& x18, const Precision& x19, const Precision& x20, const Precision& x21, const Precision& x22, const Precision& x23, const Precision& x24, const Precision& x25, const Precision& x26, const Precision& x27, const Precision& x28, const Precision& x29, const Precision& x30, const Precision& x31, const Precision& x32, const Precision& x33, const Precision& x34, const Precision& x35, const Precision& x36, const Precision& x37, const Precision& x38, const Precision& x39, const Precision& x40, const Precision& x41, const Precision& x42, const Precision& x43, const Precision& x44, const Precision& x45, const Precision& x46, const Precision& x47, const Precision& x48, const Precision& x49, const Precision& x50, const Precision& x51, const Precision& x52, const Precision& x53, const Precision& x54, const Precision& x55, const Precision& x56, const Precision& x57, const Precision& x58){
3830  d.vals[0] = x1;
3831  d.vals[1] = x2;
3832  d.vals[2] = x3;
3833  d.vals[3] = x4;
3834  d.vals[4] = x5;
3835  d.vals[5] = x6;
3836  d.vals[6] = x7;
3837  d.vals[7] = x8;
3838  d.vals[8] = x9;
3839  d.vals[9] = x10;
3840  d.vals[10] = x11;
3841  d.vals[11] = x12;
3842  d.vals[12] = x13;
3843  d.vals[13] = x14;
3844  d.vals[14] = x15;
3845  d.vals[15] = x16;
3846  d.vals[16] = x17;
3847  d.vals[17] = x18;
3848  d.vals[18] = x19;
3849  d.vals[19] = x20;
3850  d.vals[20] = x21;
3851  d.vals[21] = x22;
3852  d.vals[22] = x23;
3853  d.vals[23] = x24;
3854  d.vals[24] = x25;
3855  d.vals[25] = x26;
3856  d.vals[26] = x27;
3857  d.vals[27] = x28;
3858  d.vals[28] = x29;
3859  d.vals[29] = x30;
3860  d.vals[30] = x31;
3861  d.vals[31] = x32;
3862  d.vals[32] = x33;
3863  d.vals[33] = x34;
3864  d.vals[34] = x35;
3865  d.vals[35] = x36;
3866  d.vals[36] = x37;
3867  d.vals[37] = x38;
3868  d.vals[38] = x39;
3869  d.vals[39] = x40;
3870  d.vals[40] = x41;
3871  d.vals[41] = x42;
3872  d.vals[42] = x43;
3873  d.vals[43] = x44;
3874  d.vals[44] = x45;
3875  d.vals[45] = x46;
3876  d.vals[46] = x47;
3877  d.vals[47] = x48;
3878  d.vals[48] = x49;
3879  d.vals[49] = x50;
3880  d.vals[50] = x51;
3881  d.vals[51] = x52;
3882  d.vals[52] = x53;
3883  d.vals[53] = x54;
3884  d.vals[54] = x55;
3885  d.vals[55] = x56;
3886  d.vals[56] = x57;
3887  d.vals[57] = x58;
3888  return d;
3889 }
3890 inline Operator<Internal::Data<59, double> > Data(double x1, double x2, double x3, double x4, double x5, double x6, double x7, double x8, double x9, double x10, double x11, double x12, double x13, double x14, double x15, double x16, double x17, double x18, double x19, double x20, double x21, double x22, double x23, double x24, double x25, double x26, double x27, double x28, double x29, double x30, double x31, double x32, double x33, double x34, double x35, double x36, double x37, double x38, double x39, double x40, double x41, double x42, double x43, double x44, double x45, double x46, double x47, double x48, double x49, double x50, double x51, double x52, double x53, double x54, double x55, double x56, double x57, double x58, double x59){
3892  d.vals[0] = x1;
3893  d.vals[1] = x2;
3894  d.vals[2] = x3;
3895  d.vals[3] = x4;
3896  d.vals[4] = x5;
3897  d.vals[5] = x6;
3898  d.vals[6] = x7;
3899  d.vals[7] = x8;
3900  d.vals[8] = x9;
3901  d.vals[9] = x10;
3902  d.vals[10] = x11;
3903  d.vals[11] = x12;
3904  d.vals[12] = x13;
3905  d.vals[13] = x14;
3906  d.vals[14] = x15;
3907  d.vals[15] = x16;
3908  d.vals[16] = x17;
3909  d.vals[17] = x18;
3910  d.vals[18] = x19;
3911  d.vals[19] = x20;
3912  d.vals[20] = x21;
3913  d.vals[21] = x22;
3914  d.vals[22] = x23;
3915  d.vals[23] = x24;
3916  d.vals[24] = x25;
3917  d.vals[25] = x26;
3918  d.vals[26] = x27;
3919  d.vals[27] = x28;
3920  d.vals[28] = x29;
3921  d.vals[29] = x30;
3922  d.vals[30] = x31;
3923  d.vals[31] = x32;
3924  d.vals[32] = x33;
3925  d.vals[33] = x34;
3926  d.vals[34] = x35;
3927  d.vals[35] = x36;
3928  d.vals[36] = x37;
3929  d.vals[37] = x38;
3930  d.vals[38] = x39;
3931  d.vals[39] = x40;
3932  d.vals[40] = x41;
3933  d.vals[41] = x42;
3934  d.vals[42] = x43;
3935  d.vals[43] = x44;
3936  d.vals[44] = x45;
3937  d.vals[45] = x46;
3938  d.vals[46] = x47;
3939  d.vals[47] = x48;
3940  d.vals[48] = x49;
3941  d.vals[49] = x50;
3942  d.vals[50] = x51;
3943  d.vals[51] = x52;
3944  d.vals[52] = x53;
3945  d.vals[53] = x54;
3946  d.vals[54] = x55;
3947  d.vals[55] = x56;
3948  d.vals[56] = x57;
3949  d.vals[57] = x58;
3950  d.vals[58] = x59;
3951  return d;
3952 }
3953 template<typename Precision> inline Operator<Internal::Data<59, Precision> > Data(const Precision& x1, const Precision& x2, const Precision& x3, const Precision& x4, const Precision& x5, const Precision& x6, const Precision& x7, const Precision& x8, const Precision& x9, const Precision& x10, const Precision& x11, const Precision& x12, const Precision& x13, const Precision& x14, const Precision& x15, const Precision& x16, const Precision& x17, const Precision& x18, const Precision& x19, const Precision& x20, const Precision& x21, const Precision& x22, const Precision& x23, const Precision& x24, const Precision& x25, const Precision& x26, const Precision& x27, const Precision& x28, const Precision& x29, const Precision& x30, const Precision& x31, const Precision& x32, const Precision& x33, const Precision& x34, const Precision& x35, const Precision& x36, const Precision& x37, const Precision& x38, const Precision& x39, const Precision& x40, const Precision& x41, const Precision& x42, const Precision& x43, const Precision& x44, const Precision& x45, const Precision& x46, const Precision& x47, const Precision& x48, const Precision& x49, const Precision& x50, const Precision& x51, const Precision& x52, const Precision& x53, const Precision& x54, const Precision& x55, const Precision& x56, const Precision& x57, const Precision& x58, const Precision& x59){
3955  d.vals[0] = x1;
3956  d.vals[1] = x2;
3957  d.vals[2] = x3;
3958  d.vals[3] = x4;
3959  d.vals[4] = x5;
3960  d.vals[5] = x6;
3961  d.vals[6] = x7;
3962  d.vals[7] = x8;
3963  d.vals[8] = x9;
3964  d.vals[9] = x10;
3965  d.vals[10] = x11;
3966  d.vals[11] = x12;
3967  d.vals[12] = x13;
3968  d.vals[13] = x14;
3969  d.vals[14] = x15;
3970  d.vals[15] = x16;
3971  d.vals[16] = x17;
3972  d.vals[17] = x18;
3973  d.vals[18] = x19;
3974  d.vals[19] = x20;
3975  d.vals[20] = x21;
3976  d.vals[21] = x22;
3977  d.vals[22] = x23;
3978  d.vals[23] = x24;
3979  d.vals[24] = x25;
3980  d.vals[25] = x26;
3981  d.vals[26] = x27;
3982  d.vals[27] = x28;
3983  d.vals[28] = x29;
3984  d.vals[29] = x30;
3985  d.vals[30] = x31;
3986  d.vals[31] = x32;
3987  d.vals[32] = x33;
3988  d.vals[33] = x34;
3989  d.vals[34] = x35;
3990  d.vals[35] = x36;
3991  d.vals[36] = x37;
3992  d.vals[37] = x38;
3993  d.vals[38] = x39;
3994  d.vals[39] = x40;
3995  d.vals[40] = x41;
3996  d.vals[41] = x42;
3997  d.vals[42] = x43;
3998  d.vals[43] = x44;
3999  d.vals[44] = x45;
4000  d.vals[45] = x46;
4001  d.vals[46] = x47;
4002  d.vals[47] = x48;
4003  d.vals[48] = x49;
4004  d.vals[49] = x50;
4005  d.vals[50] = x51;
4006  d.vals[51] = x52;
4007  d.vals[52] = x53;
4008  d.vals[53] = x54;
4009  d.vals[54] = x55;
4010  d.vals[55] = x56;
4011  d.vals[56] = x57;
4012  d.vals[57] = x58;
4013  d.vals[58] = x59;
4014  return d;
4015 }
4016 inline Operator<Internal::Data<60, double> > Data(double x1, double x2, double x3, double x4, double x5, double x6, double x7, double x8, double x9, double x10, double x11, double x12, double x13, double x14, double x15, double x16, double x17, double x18, double x19, double x20, double x21, double x22, double x23, double x24, double x25, double x26, double x27, double x28, double x29, double x30, double x31, double x32, double x33, double x34, double x35, double x36, double x37, double x38, double x39, double x40, double x41, double x42, double x43, double x44, double x45, double x46, double x47, double x48, double x49, double x50, double x51, double x52, double x53, double x54, double x55, double x56, double x57, double x58, double x59, double x60){
4018  d.vals[0] = x1;
4019  d.vals[1] = x2;
4020  d.vals[2] = x3;
4021  d.vals[3] = x4;
4022  d.vals[4] = x5;
4023  d.vals[5] = x6;
4024  d.vals[6] = x7;
4025  d.vals[7] = x8;
4026  d.vals[8] = x9;
4027  d.vals[9] = x10;
4028  d.vals[10] = x11;
4029  d.vals[11] = x12;
4030  d.vals[12] = x13;
4031  d.vals[13] = x14;
4032  d.vals[14] = x15;
4033  d.vals[15] = x16;
4034  d.vals[16] = x17;
4035  d.vals[17] = x18;
4036  d.vals[18] = x19;
4037  d.vals[19] = x20;
4038  d.vals[20] = x21;
4039  d.vals[21] = x22;
4040  d.vals[22] = x23;
4041  d.vals[23] = x24;
4042  d.vals[24] = x25;
4043  d.vals[25] = x26;
4044  d.vals[26] = x27;
4045  d.vals[27] = x28;
4046  d.vals[28] = x29;
4047  d.vals[29] = x30;
4048  d.vals[30] = x31;
4049  d.vals[31] = x32;
4050  d.vals[32] = x33;
4051  d.vals[33] = x34;
4052  d.vals[34] = x35;
4053  d.vals[35] = x36;
4054  d.vals[36] = x37;
4055  d.vals[37] = x38;
4056  d.vals[38] = x39;
4057  d.vals[39] = x40;
4058  d.vals[40] = x41;
4059  d.vals[41] = x42;
4060  d.vals[42] = x43;
4061  d.vals[43] = x44;
4062  d.vals[44] = x45;
4063  d.vals[45] = x46;
4064  d.vals[46] = x47;
4065  d.vals[47] = x48;
4066  d.vals[48] = x49;
4067  d.vals[49] = x50;
4068  d.vals[50] = x51;
4069  d.vals[51] = x52;
4070  d.vals[52] = x53;
4071  d.vals[53] = x54;
4072  d.vals[54] = x55;
4073  d.vals[55] = x56;
4074  d.vals[56] = x57;
4075  d.vals[57] = x58;
4076  d.vals[58] = x59;
4077  d.vals[59] = x60;
4078  return d;
4079 }
4080 template<typename Precision> inline Operator<Internal::Data<60, Precision> > Data(const Precision& x1, const Precision& x2, const Precision& x3, const Precision& x4, const Precision& x5, const Precision& x6, const Precision& x7, const Precision& x8, const Precision& x9, const Precision& x10, const Precision& x11, const Precision& x12, const Precision& x13, const Precision& x14, const Precision& x15, const Precision& x16, const Precision& x17, const Precision& x18, const Precision& x19, const Precision& x20, const Precision& x21, const Precision& x22, const Precision& x23, const Precision& x24, const Precision& x25, const Precision& x26, const Precision& x27, const Precision& x28, const Precision& x29, const Precision& x30, const Precision& x31, const Precision& x32, const Precision& x33, const Precision& x34, const Precision& x35, const Precision& x36, const Precision& x37, const Precision& x38, const Precision& x39, const Precision& x40, const Precision& x41, const Precision& x42, const Precision& x43, const Precision& x44, const Precision& x45, const Precision& x46, const Precision& x47, const Precision& x48, const Precision& x49, const Precision& x50, const Precision& x51, const Precision& x52, const Precision& x53, const Precision& x54, const Precision& x55, const Precision& x56, const Precision& x57, const Precision& x58, const Precision& x59, const Precision& x60){
4082  d.vals[0] = x1;
4083  d.vals[1] = x2;
4084  d.vals[2] = x3;
4085  d.vals[3] = x4;
4086  d.vals[4] = x5;
4087  d.vals[5] = x6;
4088  d.vals[6] = x7;
4089  d.vals[7] = x8;
4090  d.vals[8] = x9;
4091  d.vals[9] = x10;
4092  d.vals[10] = x11;
4093  d.vals[11] = x12;
4094  d.vals[12] = x13;
4095  d.vals[13] = x14;
4096  d.vals[14] = x15;
4097  d.vals[15] = x16;
4098  d.vals[16] = x17;
4099  d.vals[17] = x18;
4100  d.vals[18] = x19;
4101  d.vals[19] = x20;
4102  d.vals[20] = x21;
4103  d.vals[21] = x22;
4104  d.vals[22] = x23;
4105  d.vals[23] = x24;
4106  d.vals[24] = x25;
4107  d.vals[25] = x26;
4108  d.vals[26] = x27;
4109  d.vals[27] = x28;
4110  d.vals[28] = x29;
4111  d.vals[29] = x30;
4112  d.vals[30] = x31;
4113  d.vals[31] = x32;
4114  d.vals[32] = x33;
4115  d.vals[33] = x34;
4116  d.vals[34] = x35;
4117  d.vals[35] = x36;
4118  d.vals[36] = x37;
4119  d.vals[37] = x38;
4120  d.vals[38] = x39;
4121  d.vals[39] = x40;
4122  d.vals[40] = x41;
4123  d.vals[41] = x42;
4124  d.vals[42] = x43;
4125  d.vals[43] = x44;
4126  d.vals[44] = x45;
4127  d.vals[45] = x46;
4128  d.vals[46] = x47;
4129  d.vals[47] = x48;
4130  d.vals[48] = x49;
4131  d.vals[49] = x50;
4132  d.vals[50] = x51;
4133  d.vals[51] = x52;
4134  d.vals[52] = x53;
4135  d.vals[53] = x54;
4136  d.vals[54] = x55;
4137  d.vals[55] = x56;
4138  d.vals[56] = x57;
4139  d.vals[57] = x58;
4140  d.vals[58] = x59;
4141  d.vals[59] = x60;
4142  return d;
4143 }
4144 inline Operator<Internal::Data<61, double> > Data(double x1, double x2, double x3, double x4, double x5, double x6, double x7, double x8, double x9, double x10, double x11, double x12, double x13, double x14, double x15, double x16, double x17, double x18, double x19, double x20, double x21, double x22, double x23, double x24, double x25, double x26, double x27, double x28, double x29, double x30, double x31, double x32, double x33, double x34, double x35, double x36, double x37, double x38, double x39, double x40, double x41, double x42, double x43, double x44, double x45, double x46, double x47, double x48, double x49, double x50, double x51, double x52, double x53, double x54, double x55, double x56, double x57, double x58, double x59, double x60, double x61){
4146  d.vals[0] = x1;
4147  d.vals[1] = x2;
4148  d.vals[2] = x3;
4149  d.vals[3] = x4;
4150  d.vals[4] = x5;
4151  d.vals[5] = x6;
4152  d.vals[6] = x7;
4153  d.vals[7] = x8;
4154  d.vals[8] = x9;
4155  d.vals[9] = x10;
4156  d.vals[10] = x11;
4157  d.vals[11] = x12;
4158  d.vals[12] = x13;
4159  d.vals[13] = x14;
4160  d.vals[14] = x15;
4161  d.vals[15] = x16;
4162  d.vals[16] = x17;
4163  d.vals[17] = x18;
4164  d.vals[18] = x19;
4165  d.vals[19] = x20;
4166  d.vals[20] = x21;
4167  d.vals[21] = x22;
4168  d.vals[22] = x23;
4169  d.vals[23] = x24;
4170  d.vals[24] = x25;
4171  d.vals[25] = x26;
4172  d.vals[26] = x27;
4173  d.vals[27] = x28;
4174  d.vals[28] = x29;
4175  d.vals[29] = x30;
4176  d.vals[30] = x31;
4177  d.vals[31] = x32;
4178  d.vals[32] = x33;
4179  d.vals[33] = x34;
4180  d.vals[34] = x35;
4181  d.vals[35] = x36;
4182  d.vals[36] = x37;
4183  d.vals[37] = x38;
4184  d.vals[38] = x39;
4185  d.vals[39] = x40;
4186  d.vals[40] = x41;
4187  d.vals[41] = x42;
4188  d.vals[42] = x43;
4189  d.vals[43] = x44;
4190  d.vals[44] = x45;
4191  d.vals[45] = x46;
4192  d.vals[46] = x47;
4193  d.vals[47] = x48;
4194  d.vals[48] = x49;
4195  d.vals[49] = x50;
4196  d.vals[50] = x51;
4197  d.vals[51] = x52;
4198  d.vals[52] = x53;
4199  d.vals[53] = x54;
4200  d.vals[54] = x55;
4201  d.vals[55] = x56;
4202  d.vals[56] = x57;
4203  d.vals[57] = x58;
4204  d.vals[58] = x59;
4205  d.vals[59] = x60;
4206  d.vals[60] = x61;
4207  return d;
4208 }
4209 template<typename Precision> inline Operator<Internal::Data<61, Precision> > Data(const Precision& x1, const Precision& x2, const Precision& x3, const Precision& x4, const Precision& x5, const Precision& x6, const Precision& x7, const Precision& x8, const Precision& x9, const Precision& x10, const Precision& x11, const Precision& x12, const Precision& x13, const Precision& x14, const Precision& x15, const Precision& x16, const Precision& x17, const Precision& x18, const Precision& x19, const Precision& x20, const Precision& x21, const Precision& x22, const Precision& x23, const Precision& x24, const Precision& x25, const Precision& x26, const Precision& x27, const Precision& x28, const Precision& x29, const Precision& x30, const Precision& x31, const Precision& x32, const Precision& x33, const Precision& x34, const Precision& x35, const Precision& x36, const Precision& x37, const Precision& x38, const Precision& x39, const Precision& x40, const Precision& x41, const Precision& x42, const Precision& x43, const Precision& x44, const Precision& x45, const Precision& x46, const Precision& x47, const Precision& x48, const Precision& x49, const Precision& x50, const Precision& x51, const Precision& x52, const Precision& x53, const Precision& x54, const Precision& x55, const Precision& x56, const Precision& x57, const Precision& x58, const Precision& x59, const Precision& x60, const Precision& x61){
4211  d.vals[0] = x1;
4212  d.vals[1] = x2;
4213  d.vals[2] = x3;
4214  d.vals[3] = x4;
4215  d.vals[4] = x5;
4216  d.vals[5] = x6;
4217  d.vals[6] = x7;
4218  d.vals[7] = x8;
4219  d.vals[8] = x9;
4220  d.vals[9] = x10;
4221  d.vals[10] = x11;
4222  d.vals[11] = x12;
4223  d.vals[12] = x13;
4224  d.vals[13] = x14;
4225  d.vals[14] = x15;
4226  d.vals[15] = x16;
4227  d.vals[16] = x17;
4228  d.vals[17] = x18;
4229  d.vals[18] = x19;
4230  d.vals[19] = x20;
4231  d.vals[20] = x21;
4232  d.vals[21] = x22;
4233  d.vals[22] = x23;
4234  d.vals[23] = x24;
4235  d.vals[24] = x25;
4236  d.vals[25] = x26;
4237  d.vals[26] = x27;
4238  d.vals[27] = x28;
4239  d.vals[28] = x29;
4240  d.vals[29] = x30;
4241  d.vals[30] = x31;
4242  d.vals[31] = x32;
4243  d.vals[32] = x33;
4244  d.vals[33] = x34;
4245  d.vals[34] = x35;
4246  d.vals[35] = x36;
4247  d.vals[36] = x37;
4248  d.vals[37] = x38;
4249  d.vals[38] = x39;
4250  d.vals[39] = x40;
4251  d.vals[40] = x41;
4252  d.vals[41] = x42;
4253  d.vals[42] = x43;
4254  d.vals[43] = x44;
4255  d.vals[44] = x45;
4256  d.vals[45] = x46;
4257  d.vals[46] = x47;
4258  d.vals[47] = x48;
4259  d.vals[48] = x49;
4260  d.vals[49] = x50;
4261  d.vals[50] = x51;
4262  d.vals[51] = x52;
4263  d.vals[52] = x53;
4264  d.vals[53] = x54;
4265  d.vals[54] = x55;
4266  d.vals[55] = x56;
4267  d.vals[56] = x57;
4268  d.vals[57] = x58;
4269  d.vals[58] = x59;
4270  d.vals[59] = x60;
4271  d.vals[60] = x61;
4272  return d;
4273 }
4274 inline Operator<Internal::Data<62, double> > Data(double x1, double x2, double x3, double x4, double x5, double x6, double x7, double x8, double x9, double x10, double x11, double x12, double x13, double x14, double x15, double x16, double x17, double x18, double x19, double x20, double x21, double x22, double x23, double x24, double x25, double x26, double x27, double x28, double x29, double x30, double x31, double x32, double x33, double x34, double x35, double x36, double x37, double x38, double x39, double x40, double x41, double x42, double x43, double x44, double x45, double x46, double x47, double x48, double x49, double x50, double x51, double x52, double x53, double x54, double x55, double x56, double x57, double x58, double x59, double x60, double x61, double x62){
4276  d.vals[0] = x1;
4277  d.vals[1] = x2;
4278  d.vals[2] = x3;
4279  d.vals[3] = x4;
4280  d.vals[4] = x5;
4281  d.vals[5] = x6;
4282  d.vals[6] = x7;
4283  d.vals[7] = x8;
4284  d.vals[8] = x9;
4285  d.vals[9] = x10;
4286  d.vals[10] = x11;
4287  d.vals[11] = x12;
4288  d.vals[12] = x13;
4289  d.vals[13] = x14;
4290  d.vals[14] = x15;
4291  d.vals[15] = x16;
4292  d.vals[16] = x17;
4293  d.vals[17] = x18;
4294  d.vals[18] = x19;
4295  d.vals[19] = x20;
4296  d.vals[20] = x21;
4297  d.vals[21] = x22;
4298  d.vals[22] = x23;
4299  d.vals[23] = x24;
4300  d.vals[24] = x25;
4301  d.vals[25] = x26;
4302  d.vals[26] = x27;
4303  d.vals[27] = x28;
4304  d.vals[28] = x29;
4305  d.vals[29] = x30;
4306  d.vals[30] = x31;
4307  d.vals[31] = x32;
4308  d.vals[32] = x33;
4309  d.vals[33] = x34;
4310  d.vals[34] = x35;
4311  d.vals[35] = x36;
4312  d.vals[36] = x37;
4313  d.vals[37] = x38;
4314  d.vals[38] = x39;
4315  d.vals[39] = x40;
4316  d.vals[40] = x41;
4317  d.vals[41] = x42;
4318  d.vals[42] = x43;
4319  d.vals[43] = x44;
4320  d.vals[44] = x45;
4321  d.vals[45] = x46;
4322  d.vals[46] = x47;
4323  d.vals[47] = x48;
4324  d.vals[48] = x49;
4325  d.vals[49] = x50;
4326  d.vals[50] = x51;
4327  d.vals[51] = x52;
4328  d.vals[52] = x53;
4329  d.vals[53] = x54;
4330  d.vals[54] = x55;
4331  d.vals[55] = x56;
4332  d.vals[56] = x57;
4333  d.vals[57] = x58;
4334  d.vals[58] = x59;
4335  d.vals[59] = x60;
4336  d.vals[60] = x61;
4337  d.vals[61] = x62;
4338  return d;
4339 }
4340 template<typename Precision> inline Operator<Internal::Data<62, Precision> > Data(const Precision& x1, const Precision& x2, const Precision& x3, const Precision& x4, const Precision& x5, const Precision& x6, const Precision& x7, const Precision& x8, const Precision& x9, const Precision& x10, const Precision& x11, const Precision& x12, const Precision& x13, const Precision& x14, const Precision& x15, const Precision& x16, const Precision& x17, const Precision& x18, const Precision& x19, const Precision& x20, const Precision& x21, const Precision& x22, const Precision& x23, const Precision& x24, const Precision& x25, const Precision& x26, const Precision& x27, const Precision& x28, const Precision& x29, const Precision& x30, const Precision& x31, const Precision& x32, const Precision& x33, const Precision& x34, const Precision& x35, const Precision& x36, const Precision& x37, const Precision& x38, const Precision& x39, const Precision& x40, const Precision& x41, const Precision& x42, const Precision& x43, const Precision& x44, const Precision& x45, const Precision& x46, const Precision& x47, const Precision& x48, const Precision& x49, const Precision& x50, const Precision& x51, const Precision& x52, const Precision& x53, const Precision& x54, const Precision& x55, const Precision& x56, const Precision& x57, const Precision& x58, const Precision& x59, const Precision& x60, const Precision& x61, const Precision& x62){
4342  d.vals[0] = x1;
4343  d.vals[1] = x2;
4344  d.vals[2] = x3;
4345  d.vals[3] = x4;
4346  d.vals[4] = x5;
4347  d.vals[5] = x6;
4348  d.vals[6] = x7;
4349  d.vals[7] = x8;
4350  d.vals[8] = x9;
4351  d.vals[9] = x10;
4352  d.vals[10] = x11;
4353  d.vals[11] = x12;
4354  d.vals[12] = x13;
4355  d.vals[13] = x14;
4356  d.vals[14] = x15;
4357  d.vals[15] = x16;
4358  d.vals[16] = x17;
4359  d.vals[17] = x18;
4360  d.vals[18] = x19;
4361  d.vals[19] = x20;
4362  d.vals[20] = x21;
4363  d.vals[21] = x22;
4364  d.vals[22] = x23;
4365  d.vals[23] = x24;
4366  d.vals[24] = x25;
4367  d.vals[25] = x26;
4368  d.vals[26] = x27;
4369  d.vals[27] = x28;
4370  d.vals[28] = x29;
4371  d.vals[29] = x30;
4372  d.vals[30] = x31;
4373  d.vals[31] = x32;
4374  d.vals[32] = x33;
4375  d.vals[33] = x34;
4376  d.vals[34] = x35;
4377  d.vals[35] = x36;
4378  d.vals[36] = x37;
4379  d.vals[37] = x38;
4380  d.vals[38] = x39;
4381  d.vals[39] = x40;
4382  d.vals[40] = x41;
4383  d.vals[41] = x42;
4384  d.vals[42] = x43;
4385  d.vals[43] = x44;
4386  d.vals[44] = x45;
4387  d.vals[45] = x46;
4388  d.vals[46] = x47;
4389  d.vals[47] = x48;
4390  d.vals[48] = x49;
4391  d.vals[49] = x50;
4392  d.vals[50] = x51;
4393  d.vals[51] = x52;
4394  d.vals[52] = x53;
4395  d.vals[53] = x54;
4396  d.vals[54] = x55;
4397  d.vals[55] = x56;
4398  d.vals[56] = x57;
4399  d.vals[57] = x58;
4400  d.vals[58] = x59;
4401  d.vals[59] = x60;
4402  d.vals[60] = x61;
4403  d.vals[61] = x62;
4404  return d;
4405 }
4406 inline Operator<Internal::Data<63, double> > Data(double x1, double x2, double x3, double x4, double x5, double x6, double x7, double x8, double x9, double x10, double x11, double x12, double x13, double x14, double x15, double x16, double x17, double x18, double x19, double x20, double x21, double x22, double x23, double x24, double x25, double x26, double x27, double x28, double x29, double x30, double x31, double x32, double x33, double x34, double x35, double x36, double x37, double x38, double x39, double x40, double x41, double x42, double x43, double x44, double x45, double x46, double x47, double x48, double x49, double x50, double x51, double x52, double x53, double x54, double x55, double x56, double x57, double x58, double x59, double x60, double x61, double x62, double x63){
4408  d.vals[0] = x1;
4409  d.vals[1] = x2;
4410  d.vals[2] = x3;
4411  d.vals[3] = x4;
4412  d.vals[4] = x5;
4413  d.vals[5] = x6;
4414  d.vals[6] = x7;
4415  d.vals[7] = x8;
4416  d.vals[8] = x9;
4417  d.vals[9] = x10;
4418  d.vals[10] = x11;
4419  d.vals[11] = x12;
4420  d.vals[12] = x13;
4421  d.vals[13] = x14;
4422  d.vals[14] = x15;
4423  d.vals[15] = x16;
4424  d.vals[16] = x17;
4425  d.vals[17] = x18;
4426  d.vals[18] = x19;
4427  d.vals[19] = x20;
4428  d.vals[20] = x21;
4429  d.vals[21] = x22;
4430  d.vals[22] = x23;
4431  d.vals[23] = x24;
4432  d.vals[24] = x25;
4433  d.vals[25] = x26;
4434  d.vals[26] = x27;
4435  d.vals[27] = x28;
4436  d.vals[28] = x29;
4437  d.vals[29] = x30;
4438  d.vals[30] = x31;
4439  d.vals[31] = x32;
4440  d.vals[32] = x33;
4441  d.vals[33] = x34;
4442  d.vals[34] = x35;
4443  d.vals[35] = x36;
4444  d.vals[36] = x37;
4445  d.vals[37] = x38;
4446  d.vals[38] = x39;
4447  d.vals[39] = x40;
4448  d.vals[40] = x41;
4449  d.vals[41] = x42;
4450  d.vals[42] = x43;
4451  d.vals[43] = x44;
4452  d.vals[44] = x45;
4453  d.vals[45] = x46;
4454  d.vals[46] = x47;
4455  d.vals[47] = x48;
4456  d.vals[48] = x49;
4457  d.vals[49] = x50;
4458  d.vals[50] = x51;
4459  d.vals[51] = x52;
4460  d.vals[52] = x53;
4461  d.vals[53] = x54;
4462  d.vals[54] = x55;
4463  d.vals[55] = x56;
4464  d.vals[56] = x57;
4465  d.vals[57] = x58;
4466  d.vals[58] = x59;
4467  d.vals[59] = x60;
4468  d.vals[60] = x61;
4469  d.vals[61] = x62;
4470  d.vals[62] = x63;
4471  return d;
4472 }
4473 template<typename Precision> inline Operator<Internal::Data<63, Precision> > Data(const Precision& x1, const Precision& x2, const Precision& x3, const Precision& x4, const Precision& x5, const Precision& x6, const Precision& x7, const Precision& x8, const Precision& x9, const Precision& x10, const Precision& x11, const Precision& x12, const Precision& x13, const Precision& x14, const Precision& x15, const Precision& x16, const Precision& x17, const Precision& x18, const Precision& x19, const Precision& x20, const Precision& x21, const Precision& x22, const Precision& x23, const Precision& x24, const Precision& x25, const Precision& x26, const Precision& x27, const Precision& x28, const Precision& x29, const Precision& x30, const Precision& x31, const Precision& x32, const Precision& x33, const Precision& x34, const Precision& x35, const Precision& x36, const Precision& x37, const Precision& x38, const Precision& x39, const Precision& x40, const Precision& x41, const Precision& x42, const Precision& x43, const Precision& x44, const Precision& x45, const Precision& x46, const Precision& x47, const Precision& x48, const Precision& x49, const Precision& x50, const Precision& x51, const Precision& x52, const Precision& x53, const Precision& x54, const Precision& x55, const Precision& x56, const Precision& x57, const Precision& x58, const Precision& x59, const Precision& x60, const Precision& x61, const Precision& x62, const Precision& x63){
4475  d.vals[0] = x1;
4476  d.vals[1] = x2;
4477  d.vals[2] = x3;
4478  d.vals[3] = x4;
4479  d.vals[4] = x5;
4480  d.vals[5] = x6;
4481  d.vals[6] = x7;
4482  d.vals[7] = x8;
4483  d.vals[8] = x9;
4484  d.vals[9] = x10;
4485  d.vals[10] = x11;
4486  d.vals[11] = x12;
4487  d.vals[12] = x13;
4488  d.vals[13] = x14;
4489  d.vals[14] = x15;
4490  d.vals[15] = x16;
4491  d.vals[16] = x17;
4492  d.vals[17] = x18;
4493  d.vals[18] = x19;
4494  d.vals[19] = x20;
4495  d.vals[20] = x21;
4496  d.vals[21] = x22;
4497  d.vals[22] = x23;
4498  d.vals[23] = x24;
4499  d.vals[24] = x25;
4500  d.vals[25] = x26;
4501  d.vals[26] = x27;
4502  d.vals[27] = x28;
4503  d.vals[28] = x29;
4504  d.vals[29] = x30;
4505  d.vals[30] = x31;
4506  d.vals[31] = x32;
4507  d.vals[32] = x33;
4508  d.vals[33] = x34;
4509  d.vals[34] = x35;
4510  d.vals[35] = x36;
4511  d.vals[36] = x37;
4512  d.vals[37] = x38;
4513  d.vals[38] = x39;
4514  d.vals[39] = x40;
4515  d.vals[40] = x41;
4516  d.vals[41] = x42;
4517  d.vals[42] = x43;
4518  d.vals[43] = x44;
4519  d.vals[44] = x45;
4520  d.vals[45] = x46;
4521  d.vals[46] = x47;
4522  d.vals[47] = x48;
4523  d.vals[48] = x49;
4524  d.vals[49] = x50;
4525  d.vals[50] = x51;
4526  d.vals[51] = x52;
4527  d.vals[52] = x53;
4528  d.vals[53] = x54;
4529  d.vals[54] = x55;
4530  d.vals[55] = x56;
4531  d.vals[56] = x57;
4532  d.vals[57] = x58;
4533  d.vals[58] = x59;
4534  d.vals[59] = x60;
4535  d.vals[60] = x61;
4536  d.vals[61] = x62;
4537  d.vals[62] = x63;
4538  return d;
4539 }
4540 inline Operator<Internal::Data<64, double> > Data(double x1, double x2, double x3, double x4, double x5, double x6, double x7, double x8, double x9, double x10, double x11, double x12, double x13, double x14, double x15, double x16, double x17, double x18, double x19, double x20, double x21, double x22, double x23, double x24, double x25, double x26, double x27, double x28, double x29, double x30, double x31, double x32, double x33, double x34, double x35, double x36, double x37, double x38, double x39, double x40, double x41, double x42, double x43, double x44, double x45, double x46, double x47, double x48, double x49, double x50, double x51, double x52, double x53, double x54, double x55, double x56, double x57, double x58, double x59, double x60, double x61, double x62, double x63, double x64){
4542  d.vals[0] = x1;
4543  d.vals[1] = x2;
4544  d.vals[2] = x3;
4545  d.vals[3] = x4;
4546  d.vals[4] = x5;
4547  d.vals[5] = x6;
4548  d.vals[6] = x7;
4549  d.vals[7] = x8;
4550  d.vals[8] = x9;
4551  d.vals[9] = x10;
4552  d.vals[10] = x11;
4553  d.vals[11] = x12;
4554  d.vals[12] = x13;
4555  d.vals[13] = x14;
4556  d.vals[14] = x15;
4557  d.vals[15] = x16;
4558  d.vals[16] = x17;
4559  d.vals[17] = x18;
4560  d.vals[18] = x19;
4561  d.vals[19] = x20;
4562  d.vals[20] = x21;
4563  d.vals[21] = x22;
4564  d.vals[22] = x23;
4565  d.vals[23] = x24;
4566  d.vals[24] = x25;
4567  d.vals[25] = x26;
4568  d.vals[26] = x27;
4569  d.vals[27] = x28;
4570  d.vals[28] = x29;
4571  d.vals[29] = x30;
4572  d.vals[30] = x31;
4573  d.vals[31] = x32;
4574  d.vals[32] = x33;
4575  d.vals[33] = x34;
4576  d.vals[34] = x35;
4577  d.vals[35] = x36;
4578  d.vals[36] = x37;
4579  d.vals[37] = x38;
4580  d.vals[38] = x39;
4581  d.vals[39] = x40;
4582  d.vals[40] = x41;
4583  d.vals[41] = x42;
4584  d.vals[42] = x43;
4585  d.vals[43] = x44;
4586  d.vals[44] = x45;
4587  d.vals[45] = x46;
4588  d.vals[46] = x47;
4589  d.vals[47] = x48;
4590  d.vals[48] = x49;
4591  d.vals[49] = x50;
4592  d.vals[50] = x51;
4593  d.vals[51] = x52;
4594  d.vals[52] = x53;
4595  d.vals[53] = x54;
4596  d.vals[54] = x55;
4597  d.vals[55] = x56;
4598  d.vals[56] = x57;
4599  d.vals[57] = x58;
4600  d.vals[58] = x59;
4601  d.vals[59] = x60;
4602  d.vals[60] = x61;
4603  d.vals[61] = x62;
4604  d.vals[62] = x63;
4605  d.vals[63] = x64;
4606  return d;
4607 }
4608 template<typename Precision> inline Operator<Internal::Data<64, Precision> > Data(const Precision& x1, const Precision& x2, const Precision& x3, const Precision& x4, const Precision& x5, const Precision& x6, const Precision& x7, const Precision& x8, const Precision& x9, const Precision& x10, const Precision& x11, const Precision& x12, const Precision& x13, const Precision& x14, const Precision& x15, const Precision& x16, const Precision& x17, const Precision& x18, const Precision& x19, const Precision& x20, const Precision& x21, const Precision& x22, const Precision& x23, const Precision& x24, const Precision& x25, const Precision& x26, const Precision& x27, const Precision& x28, const Precision& x29, const Precision& x30, const Precision& x31, const Precision& x32, const Precision& x33, const Precision& x34, const Precision& x35, const Precision& x36, const Precision& x37, const Precision& x38, const Precision& x39, const Precision& x40, const Precision& x41, const Precision& x42, const Precision& x43, const Precision& x44, const Precision& x45, const Precision& x46, const Precision& x47, const Precision& x48, const Precision& x49, const Precision& x50, const Precision& x51, const Precision& x52, const Precision& x53, const Precision& x54, const Precision& x55, const Precision& x56, const Precision& x57, const Precision& x58, const Precision& x59, const Precision& x60, const Precision& x61, const Precision& x62, const Precision& x63, const Precision& x64){
4610  d.vals[0] = x1;
4611  d.vals[1] = x2;
4612  d.vals[2] = x3;
4613  d.vals[3] = x4;
4614  d.vals[4] = x5;
4615  d.vals[5] = x6;
4616  d.vals[6] = x7;
4617  d.vals[7] = x8;
4618  d.vals[8] = x9;
4619  d.vals[9] = x10;
4620  d.vals[10] = x11;
4621  d.vals[11] = x12;
4622  d.vals[12] = x13;
4623  d.vals[13] = x14;
4624  d.vals[14] = x15;
4625  d.vals[15] = x16;
4626  d.vals[16] = x17;
4627  d.vals[17] = x18;
4628  d.vals[18] = x19;
4629  d.vals[19] = x20;
4630  d.vals[20] = x21;
4631  d.vals[21] = x22;
4632  d.vals[22] = x23;
4633  d.vals[23] = x24;
4634  d.vals[24] = x25;
4635  d.vals[25] = x26;
4636  d.vals[26] = x27;
4637  d.vals[27] = x28;
4638  d.vals[28] = x29;
4639  d.vals[29] = x30;
4640  d.vals[30] = x31;
4641  d.vals[31] = x32;
4642  d.vals[32] = x33;
4643  d.vals[33] = x34;
4644  d.vals[34] = x35;
4645  d.vals[35] = x36;
4646  d.vals[36] = x37;
4647  d.vals[37] = x38;
4648  d.vals[38] = x39;
4649  d.vals[39] = x40;
4650  d.vals[40] = x41;
4651  d.vals[41] = x42;
4652  d.vals[42] = x43;
4653  d.vals[43] = x44;
4654  d.vals[44] = x45;
4655  d.vals[45] = x46;
4656  d.vals[46] = x47;
4657  d.vals[47] = x48;
4658  d.vals[48] = x49;
4659  d.vals[49] = x50;
4660  d.vals[50] = x51;
4661  d.vals[51] = x52;
4662  d.vals[52] = x53;
4663  d.vals[53] = x54;
4664  d.vals[54] = x55;
4665  d.vals[55] = x56;
4666  d.vals[56] = x57;
4667  d.vals[57] = x58;
4668  d.vals[58] = x59;
4669  d.vals[59] = x60;
4670  d.vals[60] = x61;
4671  d.vals[61] = x62;
4672  d.vals[62] = x63;
4673  d.vals[63] = x64;
4674  return d;
4675 }
4676 inline Operator<Internal::Data<65, double> > Data(double x1, double x2, double x3, double x4, double x5, double x6, double x7, double x8, double x9, double x10, double x11, double x12, double x13, double x14, double x15, double x16, double x17, double x18, double x19, double x20, double x21, double x22, double x23, double x24, double x25, double x26, double x27, double x28, double x29, double x30, double x31, double x32, double x33, double x34, double x35, double x36, double x37, double x38, double x39, double x40, double x41, double x42, double x43, double x44, double x45, double x46, double x47, double x48, double x49, double x50, double x51, double x52, double x53, double x54, double x55, double x56, double x57, double x58, double x59, double x60, double x61, double x62, double x63, double x64, double x65){
4678  d.vals[0] = x1;
4679  d.vals[1] = x2;
4680  d.vals[2] = x3;
4681  d.vals[3] = x4;
4682  d.vals[4] = x5;
4683  d.vals[5] = x6;
4684  d.vals[6] = x7;
4685  d.vals[7] = x8;
4686  d.vals[8] = x9;
4687  d.vals[9] = x10;
4688  d.vals[10] = x11;
4689  d.vals[11] = x12;
4690  d.vals[12] = x13;
4691  d.vals[13] = x14;
4692  d.vals[14] = x15;
4693  d.vals[15] = x16;
4694  d.vals[16] = x17;
4695  d.vals[17] = x18;
4696  d.vals[18] = x19;
4697  d.vals[19] = x20;
4698  d.vals[20] = x21;
4699  d.vals[21] = x22;
4700  d.vals[22] = x23;
4701  d.vals[23] = x24;
4702  d.vals[24] = x25;
4703  d.vals[25] = x26;
4704  d.vals[26] = x27;
4705  d.vals[27] = x28;
4706  d.vals[28] = x29;
4707  d.vals[29] = x30;
4708  d.vals[30] = x31;
4709  d.vals[31] = x32;
4710  d.vals[32] = x33;
4711  d.vals[33] = x34;
4712  d.vals[34] = x35;
4713  d.vals[35] = x36;
4714  d.vals[36] = x37;
4715  d.vals[37] = x38;
4716  d.vals[38] = x39;
4717  d.vals[39] = x40;
4718  d.vals[40] = x41;
4719  d.vals[41] = x42;
4720  d.vals[42] = x43;
4721  d.vals[43] = x44;
4722  d.vals[44] = x45;
4723  d.vals[45] = x46;
4724  d.vals[46] = x47;
4725  d.vals[47] = x48;
4726  d.vals[48] = x49;
4727  d.vals[49] = x50;
4728  d.vals[50] = x51;
4729  d.vals[51] = x52;
4730  d.vals[52] = x53;
4731  d.vals[53] = x54;
4732  d.vals[54] = x55;
4733  d.vals[55] = x56;
4734  d.vals[56] = x57;
4735  d.vals[57] = x58;
4736  d.vals[58] = x59;
4737  d.vals[59] = x60;
4738  d.vals[60] = x61;
4739  d.vals[61] = x62;
4740  d.vals[62] = x63;
4741  d.vals[63] = x64;
4742  d.vals[64] = x65;
4743  return d;
4744 }
4745 template<typename Precision> inline Operator<Internal::Data<65, Precision> > Data(const Precision& x1, const Precision& x2, const Precision& x3, const Precision& x4, const Precision& x5, const Precision& x6, const Precision& x7, const Precision& x8, const Precision& x9, const Precision& x10, const Precision& x11, const Precision& x12, const Precision& x13, const Precision& x14, const Precision& x15, const Precision& x16, const Precision& x17, const Precision& x18, const Precision& x19, const Precision& x20, const Precision& x21, const Precision& x22, const Precision& x23, const Precision& x24, const Precision& x25, const Precision& x26, const Precision& x27, const Precision& x28, const Precision& x29, const Precision& x30, const Precision& x31, const Precision& x32, const Precision& x33, const Precision& x34, const Precision& x35, const Precision& x36, const Precision& x37, const Precision& x38, const Precision& x39, const Precision& x40, const Precision& x41, const Precision& x42, const Precision& x43, const Precision& x44, const Precision& x45, const Precision& x46, const Precision& x47, const Precision& x48, const Precision& x49, const Precision& x50, const Precision& x51, const Precision& x52, const Precision& x53, const Precision& x54, const Precision& x55, const Precision& x56, const Precision& x57, const Precision& x58, const Precision& x59, const Precision& x60, const Precision& x61, const Precision& x62, const Precision& x63, const Precision& x64, const Precision& x65){
4747  d.vals[0] = x1;
4748  d.vals[1] = x2;
4749  d.vals[2] = x3;
4750  d.vals[3] = x4;
4751  d.vals[4] = x5;
4752  d.vals[5] = x6;
4753  d.vals[6] = x7;
4754  d.vals[7] = x8;
4755  d.vals[8] = x9;
4756  d.vals[9] = x10;
4757  d.vals[10] = x11;
4758  d.vals[11] = x12;
4759  d.vals[12] = x13;
4760  d.vals[13] = x14;
4761  d.vals[14] = x15;
4762  d.vals[15] = x16;
4763  d.vals[16] = x17;
4764  d.vals[17] = x18;
4765  d.vals[18] = x19;
4766  d.vals[19] = x20;
4767  d.vals[20] = x21;
4768  d.vals[21] = x22;
4769  d.vals[22] = x23;
4770  d.vals[23] = x24;
4771  d.vals[24] = x25;
4772  d.vals[25] = x26;
4773  d.vals[26] = x27;
4774  d.vals[27] = x28;
4775  d.vals[28] = x29;
4776  d.vals[29] = x30;
4777  d.vals[30] = x31;
4778  d.vals[31] = x32;
4779  d.vals[32] = x33;
4780  d.vals[33] = x34;
4781  d.vals[34] = x35;
4782  d.vals[35] = x36;
4783  d.vals[36] = x37;
4784  d.vals[37] = x38;
4785  d.vals[38] = x39;
4786  d.vals[39] = x40;
4787  d.vals[40] = x41;
4788  d.vals[41] = x42;
4789  d.vals[42] = x43;
4790  d.vals[43] = x44;
4791  d.vals[44] = x45;
4792  d.vals[45] = x46;
4793  d.vals[46] = x47;
4794  d.vals[47] = x48;
4795  d.vals[48] = x49;
4796  d.vals[49] = x50;
4797  d.vals[50] = x51;
4798  d.vals[51] = x52;
4799  d.vals[52] = x53;
4800  d.vals[53] = x54;
4801  d.vals[54] = x55;
4802  d.vals[55] = x56;
4803  d.vals[56] = x57;
4804  d.vals[57] = x58;
4805  d.vals[58] = x59;
4806  d.vals[59] = x60;
4807  d.vals[60] = x61;
4808  d.vals[61] = x62;
4809  d.vals[62] = x63;
4810  d.vals[63] = x64;
4811  d.vals[64] = x65;
4812  return d;
4813 }
4814 inline Operator<Internal::Data<66, double> > Data(double x1, double x2, double x3, double x4, double x5, double x6, double x7, double x8, double x9, double x10, double x11, double x12, double x13, double x14, double x15, double x16, double x17, double x18, double x19, double x20, double x21, double x22, double x23, double x24, double x25, double x26, double x27, double x28, double x29, double x30, double x31, double x32, double x33, double x34, double x35, double x36, double x37, double x38, double x39, double x40, double x41, double x42, double x43, double x44, double x45, double x46, double x47, double x48, double x49, double x50, double x51, double x52, double x53, double x54, double x55, double x56, double x57, double x58, double x59, double x60, double x61, double x62, double x63, double x64, double x65, double x66){
4816  d.vals[0] = x1;
4817  d.vals[1] = x2;
4818  d.vals[2] = x3;
4819  d.vals[3] = x4;
4820  d.vals[4] = x5;
4821  d.vals[5] = x6;
4822  d.vals[6] = x7;
4823  d.vals[7] = x8;
4824  d.vals[8] = x9;
4825  d.vals[9] = x10;
4826  d.vals[10] = x11;
4827  d.vals[11] = x12;
4828  d.vals[12] = x13;
4829  d.vals[13] = x14;
4830  d.vals[14] = x15;
4831  d.vals[15] = x16;
4832  d.vals[16] = x17;
4833  d.vals[17] = x18;
4834  d.vals[18] = x19;
4835  d.vals[19] = x20;
4836  d.vals[20] = x21;
4837  d.vals[21] = x22;
4838  d.vals[22] = x23;
4839  d.vals[23] = x24;
4840  d.vals[24] = x25;
4841  d.vals[25] = x26;
4842  d.vals[26] = x27;
4843  d.vals[27] = x28;
4844  d.vals[28] = x29;
4845  d.vals[29] = x30;
4846  d.vals[30] = x31;
4847  d.vals[31] = x32;
4848  d.vals[32] = x33;
4849  d.vals[33] = x34;
4850  d.vals[34] = x35;
4851  d.vals[35] = x36;
4852  d.vals[36] = x37;
4853  d.vals[37] = x38;
4854  d.vals[38] = x39;
4855  d.vals[39] = x40;
4856  d.vals[40] = x41;
4857  d.vals[41] = x42;
4858  d.vals[42] = x43;
4859  d.vals[43] = x44;
4860  d.vals[44] = x45;
4861  d.vals[45] = x46;
4862  d.vals[46] = x47;
4863  d.vals[47] = x48;
4864  d.vals[48] = x49;
4865  d.vals[49] = x50;
4866  d.vals[50] = x51;
4867  d.vals[51] = x52;
4868  d.vals[52] = x53;
4869  d.vals[53] = x54;
4870  d.vals[54] = x55;
4871  d.vals[55] = x56;
4872  d.vals[56] = x57;
4873  d.vals[57] = x58;
4874  d.vals[58] = x59;
4875  d.vals[59] = x60;
4876  d.vals[60] = x61;
4877  d.vals[61] = x62;
4878  d.vals[62] = x63;
4879  d.vals[63] = x64;
4880  d.vals[64] = x65;
4881  d.vals[65] = x66;
4882  return d;
4883 }
4884 template<typename Precision> inline Operator<Internal::Data<66, Precision> > Data(const Precision& x1, const Precision& x2, const Precision& x3, const Precision& x4, const Precision& x5, const Precision& x6, const Precision& x7, const Precision& x8, const Precision& x9, const Precision& x10, const Precision& x11, const Precision& x12, const Precision& x13, const Precision& x14, const Precision& x15, const Precision& x16, const Precision& x17, const Precision& x18, const Precision& x19, const Precision& x20, const Precision& x21, const Precision& x22, const Precision& x23, const Precision& x24, const Precision& x25, const Precision& x26, const Precision& x27, const Precision& x28, const Precision& x29, const Precision& x30, const Precision& x31, const Precision& x32, const Precision& x33, const Precision& x34, const Precision& x35, const Precision& x36, const Precision& x37, const Precision& x38, const Precision& x39, const Precision& x40, const Precision& x41, const Precision& x42, const Precision& x43, const Precision& x44, const Precision& x45, const Precision& x46, const Precision& x47, const Precision& x48, const Precision& x49, const Precision& x50, const Precision& x51, const Precision& x52, const Precision& x53, const Precision& x54, const Precision& x55, const Precision& x56, const Precision& x57, const Precision& x58, const Precision& x59, const Precision& x60, const Precision& x61, const Precision& x62, const Precision& x63, const Precision& x64, const Precision& x65, const Precision& x66){
4886  d.vals[0] = x1;
4887  d.vals[1] = x2;
4888  d.vals[2] = x3;
4889  d.vals[3] = x4;
4890  d.vals[4] = x5;
4891  d.vals[5] = x6;
4892  d.vals[6] = x7;
4893  d.vals[7] = x8;
4894  d.vals[8] = x9;
4895  d.vals[9] = x10;
4896  d.vals[10] = x11;
4897  d.vals[11] = x12;
4898  d.vals[12] = x13;
4899  d.vals[13] = x14;
4900  d.vals[14] = x15;
4901  d.vals[15] = x16;
4902  d.vals[16] = x17;
4903  d.vals[17] = x18;
4904  d.vals[18] = x19;
4905  d.vals[19] = x20;
4906  d.vals[20] = x21;
4907  d.vals[21] = x22;
4908  d.vals[22] = x23;
4909  d.vals[23] = x24;
4910  d.vals[24] = x25;
4911  d.vals[25] = x26;
4912  d.vals[26] = x27;
4913  d.vals[27] = x28;
4914  d.vals[28] = x29;
4915  d.vals[29] = x30;
4916  d.vals[30] = x31;
4917  d.vals[31] = x32;
4918  d.vals[32] = x33;
4919  d.vals[33] = x34;
4920  d.vals[34] = x35;
4921  d.vals[35] = x36;
4922  d.vals[36] = x37;
4923  d.vals[37] = x38;
4924  d.vals[38] = x39;
4925  d.vals[39] = x40;
4926  d.vals[40] = x41;
4927  d.vals[41] = x42;
4928  d.vals[42] = x43;
4929  d.vals[43] = x44;
4930  d.vals[44] = x45;
4931  d.vals[45] = x46;
4932  d.vals[46] = x47;
4933  d.vals[47] = x48;
4934  d.vals[48] = x49;
4935  d.vals[49] = x50;
4936  d.vals[50] = x51;
4937  d.vals[51] = x52;
4938  d.vals[52] = x53;
4939  d.vals[53] = x54;
4940  d.vals[54] = x55;
4941  d.vals[55] = x56;
4942  d.vals[56] = x57;
4943  d.vals[57] = x58;
4944  d.vals[58] = x59;
4945  d.vals[59] = x60;
4946  d.vals[60] = x61;
4947  d.vals[61] = x62;
4948  d.vals[62] = x63;
4949  d.vals[63] = x64;
4950  d.vals[64] = x65;
4951  d.vals[65] = x66;
4952  return d;
4953 }
4954 inline Operator<Internal::Data<67, double> > Data(double x1, double x2, double x3, double x4, double x5, double x6, double x7, double x8, double x9, double x10, double x11, double x12, double x13, double x14, double x15, double x16, double x17, double x18, double x19, double x20, double x21, double x22, double x23, double x24, double x25, double x26, double x27, double x28, double x29, double x30, double x31, double x32, double x33, double x34, double x35, double x36, double x37, double x38, double x39, double x40, double x41, double x42, double x43, double x44, double x45, double x46, double x47, double x48, double x49, double x50, double x51, double x52, double x53, double x54, double x55, double x56, double x57, double x58, double x59, double x60, double x61, double x62, double x63, double x64, double x65, double x66, double x67){
4956  d.vals[0] = x1;
4957  d.vals[1] = x2;
4958  d.vals[2] = x3;
4959  d.vals[3] = x4;
4960  d.vals[4] = x5;
4961  d.vals[5] = x6;
4962  d.vals[6] = x7;
4963  d.vals[7] = x8;
4964  d.vals[8] = x9;
4965  d.vals[9] = x10;
4966  d.vals[10] = x11;
4967  d.vals[11] = x12;
4968  d.vals[12] = x13;
4969  d.vals[13] = x14;
4970  d.vals[14] = x15;
4971  d.vals[15] = x16;
4972  d.vals[16] = x17;
4973  d.vals[17] = x18;
4974  d.vals[18] = x19;
4975  d.vals[19] = x20;
4976  d.vals[20] = x21;
4977  d.vals[21] = x22;
4978  d.vals[22] = x23;
4979  d.vals[23] = x24;
4980  d.vals[24] = x25;
4981  d.vals[25] = x26;
4982  d.vals[26] = x27;
4983  d.vals[27] = x28;
4984  d.vals[28] = x29;
4985  d.vals[29] = x30;
4986  d.vals[30] = x31;
4987  d.vals[31] = x32;
4988  d.vals[32] = x33;
4989  d.vals[33] = x34;
4990  d.vals[34] = x35;
4991  d.vals[35] = x36;
4992  d.vals[36] = x37;
4993  d.vals[37] = x38;
4994  d.vals[38] = x39;
4995  d.vals[39] = x40;
4996  d.vals[40] = x41;
4997  d.vals[41] = x42;
4998  d.vals[42] = x43;
4999  d.vals[43] = x44;
5000  d.vals[44] = x45;
5001  d.vals[45] = x46;
5002  d.vals[46] = x47;
5003  d.vals[47] = x48;
5004  d.vals[48] = x49;
5005  d.vals[49] = x50;
5006  d.vals[50] = x51;
5007  d.vals[51] = x52;
5008  d.vals[52] = x53;
5009  d.vals[53] = x54;
5010  d.vals[54] = x55;
5011  d.vals[55] = x56;
5012  d.vals[56] = x57;
5013  d.vals[57] = x58;
5014  d.vals[58] = x59;
5015  d.vals[59] = x60;
5016  d.vals[60] = x61;
5017  d.vals[61] = x62;
5018  d.vals[62] = x63;
5019  d.vals[63] = x64;
5020  d.vals[64] = x65;
5021  d.vals[65] = x66;
5022  d.vals[66] = x67;
5023  return d;
5024 }
5025 template<typename Precision> inline Operator<Internal::Data<67, Precision> > Data(const Precision& x1, const Precision& x2, const Precision& x3, const Precision& x4, const Precision& x5, const Precision& x6, const Precision& x7, const Precision& x8, const Precision& x9, const Precision& x10, const Precision& x11, const Precision& x12, const Precision& x13, const Precision& x14, const Precision& x15, const Precision& x16, const Precision& x17, const Precision& x18, const Precision& x19, const Precision& x20, const Precision& x21, const Precision& x22, const Precision& x23, const Precision& x24, const Precision& x25, const Precision& x26, const Precision& x27, const Precision& x28, const Precision& x29, const Precision& x30, const Precision& x31, const Precision& x32, const Precision& x33, const Precision& x34, const Precision& x35, const Precision& x36, const Precision& x37, const Precision& x38, const Precision& x39, const Precision& x40, const Precision& x41, const Precision& x42, const Precision& x43, const Precision& x44, const Precision& x45, const Precision& x46, const Precision& x47, const Precision& x48, const Precision& x49, const Precision& x50, const Precision& x51, const Precision& x52, const Precision& x53, const Precision& x54, const Precision& x55, const Precision& x56, const Precision& x57, const Precision& x58, const Precision& x59, const Precision& x60, const Precision& x61, const Precision& x62, const Precision& x63, const Precision& x64, const Precision& x65, const Precision& x66, const Precision& x67){
5027  d.vals[0] = x1;
5028  d.vals[1] = x2;
5029  d.vals[2] = x3;
5030  d.vals[3] = x4;
5031  d.vals[4] = x5;
5032  d.vals[5] = x6;
5033  d.vals[6] = x7;
5034  d.vals[7] = x8;
5035  d.vals[8] = x9;
5036  d.vals[9] = x10;
5037  d.vals[10] = x11;
5038  d.vals[11] = x12;
5039  d.vals[12] = x13;
5040  d.vals[13] = x14;
5041  d.vals[14] = x15;
5042  d.vals[15] = x16;
5043  d.vals[16] = x17;
5044  d.vals[17] = x18;
5045  d.vals[18] = x19;
5046  d.vals[19] = x20;
5047  d.vals[20] = x21;
5048  d.vals[21] = x22;
5049  d.vals[22] = x23;
5050  d.vals[23] = x24;
5051  d.vals[24] = x25;
5052  d.vals[25] = x26;
5053  d.vals[26] = x27;
5054  d.vals[27] = x28;
5055  d.vals[28] = x29;
5056  d.vals[29] = x30;
5057  d.vals[30] = x31;
5058  d.vals[31] = x32;
5059  d.vals[32] = x33;
5060  d.vals[33] = x34;
5061  d.vals[34] = x35;
5062  d.vals[35] = x36;
5063  d.vals[36] = x37;
5064  d.vals[37] = x38;
5065  d.vals[38] = x39;
5066  d.vals[39] = x40;
5067  d.vals[40] = x41;
5068  d.vals[41] = x42;
5069  d.vals[42] = x43;
5070  d.vals[43] = x44;
5071  d.vals[44] = x45;
5072  d.vals[45] = x46;
5073  d.vals[46] = x47;
5074  d.vals[47] = x48;
5075  d.vals[48] = x49;
5076  d.vals[49] = x50;
5077  d.vals[50] = x51;
5078  d.vals[51] = x52;
5079  d.vals[52] = x53;
5080  d.vals[53] = x54;
5081  d.vals[54] = x55;
5082  d.vals[55] = x56;
5083  d.vals[56] = x57;
5084  d.vals[57] = x58;
5085  d.vals[58] = x59;
5086  d.vals[59] = x60;
5087  d.vals[60] = x61;
5088  d.vals[61] = x62;
5089  d.vals[62] = x63;
5090  d.vals[63] = x64;
5091  d.vals[64] = x65;
5092  d.vals[65] = x66;
5093  d.vals[66] = x67;
5094  return d;
5095 }
5096 inline Operator<Internal::Data<68, double> > Data(double x1, double x2, double x3, double x4, double x5, double x6, double x7, double x8, double x9, double x10, double x11, double x12, double x13, double x14, double x15, double x16, double x17, double x18, double x19, double x20, double x21, double x22, double x23, double x24, double x25, double x26, double x27, double x28, double x29, double x30, double x31, double x32, double x33, double x34, double x35, double x36, double x37, double x38, double x39, double x40, double x41, double x42, double x43, double x44, double x45, double x46, double x47, double x48, double x49, double x50, double x51, double x52, double x53, double x54, double x55, double x56, double x57, double x58, double x59, double x60, double x61, double x62, double x63, double x64, double x65, double x66, double x67, double x68){
5098  d.vals[0] = x1;
5099  d.vals[1] = x2;
5100  d.vals[2] = x3;
5101  d.vals[3] = x4;
5102  d.vals[4] = x5;
5103  d.vals[5] = x6;
5104  d.vals[6] = x7;
5105  d.vals[7] = x8;
5106  d.vals[8] = x9;
5107  d.vals[9] = x10;
5108  d.vals[10] = x11;
5109  d.vals[11] = x12;
5110  d.vals[12] = x13;
5111  d.vals[13] = x14;
5112  d.vals[14] = x15;
5113  d.vals[15] = x16;
5114  d.vals[16] = x17;
5115  d.vals[17] = x18;
5116  d.vals[18] = x19;
5117  d.vals[19] = x20;
5118  d.vals[20] = x21;
5119  d.vals[21] = x22;
5120  d.vals[22] = x23;
5121  d.vals[23] = x24;
5122  d.vals[24] = x25;
5123  d.vals[25] = x26;
5124  d.vals[26] = x27;
5125  d.vals[27] = x28;
5126  d.vals[28] = x29;
5127  d.vals[29] = x30;
5128  d.vals[30] = x31;
5129  d.vals[31] = x32;
5130  d.vals[32] = x33;
5131  d.vals[33] = x34;
5132  d.vals[34] = x35;
5133  d.vals[35] = x36;
5134  d.vals[36] = x37;
5135  d.vals[37] = x38;
5136  d.vals[38] = x39;
5137  d.vals[39] = x40;
5138  d.vals[40] = x41;
5139  d.vals[41] = x42;
5140  d.vals[42] = x43;
5141  d.vals[43] = x44;
5142  d.vals[44] = x45;
5143  d.vals[45] = x46;
5144  d.vals[46] = x47;
5145  d.vals[47] = x48;
5146  d.vals[48] = x49;
5147  d.vals[49] = x50;
5148  d.vals[50] = x51;
5149  d.vals[51] = x52;
5150  d.vals[52] = x53;
5151  d.vals[53] = x54;
5152  d.vals[54] = x55;
5153  d.vals[55] = x56;
5154  d.vals[56] = x57;
5155  d.vals[57] = x58;
5156  d.vals[58] = x59;
5157  d.vals[59] = x60;
5158  d.vals[60] = x61;
5159  d.vals[61] = x62;
5160  d.vals[62] = x63;
5161  d.vals[63] = x64;
5162  d.vals[64] = x65;
5163  d.vals[65] = x66;
5164  d.vals[66] = x67;
5165  d.vals[67] = x68;
5166  return d;
5167 }
5168 template<typename Precision> inline Operator<Internal::Data<68, Precision> > Data(const Precision& x1, const Precision& x2, const Precision& x3, const Precision& x4, const Precision& x5, const Precision& x6, const Precision& x7, const Precision& x8, const Precision& x9, const Precision& x10, const Precision& x11, const Precision& x12, const Precision& x13, const Precision& x14, const Precision& x15, const Precision& x16, const Precision& x17, const Precision& x18, const Precision& x19, const Precision& x20, const Precision& x21, const Precision& x22, const Precision& x23, const Precision& x24, const Precision& x25, const Precision& x26, const Precision& x27, const Precision& x28, const Precision& x29, const Precision& x30, const Precision& x31, const Precision& x32, const Precision& x33, const Precision& x34, const Precision& x35, const Precision& x36, const Precision& x37, const Precision& x38, const Precision& x39, const Precision& x40, const Precision& x41, const Precision& x42, const Precision& x43, const Precision& x44, const Precision& x45, const Precision& x46, const Precision& x47, const Precision& x48, const Precision& x49, const Precision& x50, const Precision& x51, const Precision& x52, const Precision& x53, const Precision& x54, const Precision& x55, const Precision& x56, const Precision& x57, const Precision& x58, const Precision& x59, const Precision& x60, const Precision& x61, const Precision& x62, const Precision& x63, const Precision& x64, const Precision& x65, const Precision& x66, const Precision& x67, const Precision& x68){
5170  d.vals[0] = x1;
5171  d.vals[1] = x2;
5172  d.vals[2] = x3;
5173  d.vals[3] = x4;
5174  d.vals[4] = x5;
5175  d.vals[5] = x6;
5176  d.vals[6] = x7;
5177  d.vals[7] = x8;
5178  d.vals[8] = x9;
5179  d.vals[9] = x10;
5180  d.vals[10] = x11;
5181  d.vals[11] = x12;
5182  d.vals[12] = x13;
5183  d.vals[13] = x14;
5184  d.vals[14] = x15;
5185  d.vals[15] = x16;
5186  d.vals[16] = x17;
5187  d.vals[17] = x18;
5188  d.vals[18] = x19;
5189  d.vals[19] = x20;
5190  d.vals[20] = x21;
5191  d.vals[21] = x22;
5192  d.vals[22] = x23;
5193  d.vals[23] = x24;
5194  d.vals[24] = x25;
5195  d.vals[25] = x26;
5196  d.vals[26] = x27;
5197  d.vals[27] = x28;
5198  d.vals[28] = x29;
5199  d.vals[29] = x30;
5200  d.vals[30] = x31;
5201  d.vals[31] = x32;
5202  d.vals[32] = x33;
5203  d.vals[33] = x34;
5204  d.vals[34] = x35;
5205  d.vals[35] = x36;
5206  d.vals[36] = x37;
5207  d.vals[37] = x38;
5208  d.vals[38] = x39;
5209  d.vals[39] = x40;
5210  d.vals[40] = x41;
5211  d.vals[41] = x42;
5212  d.vals[42] = x43;
5213  d.vals[43] = x44;
5214  d.vals[44] = x45;
5215  d.vals[45] = x46;
5216  d.vals[46] = x47;
5217  d.vals[47] = x48;
5218  d.vals[48] = x49;
5219  d.vals[49] = x50;
5220  d.vals[50] = x51;
5221  d.vals[51] = x52;
5222  d.vals[52] = x53;
5223  d.vals[53] = x54;
5224  d.vals[54] = x55;
5225  d.vals[55] = x56;
5226  d.vals[56] = x57;
5227  d.vals[57] = x58;
5228  d.vals[58] = x59;
5229  d.vals[59] = x60;
5230  d.vals[60] = x61;
5231  d.vals[61] = x62;
5232  d.vals[62] = x63;
5233  d.vals[63] = x64;
5234  d.vals[64] = x65;
5235  d.vals[65] = x66;
5236  d.vals[66] = x67;
5237  d.vals[67] = x68;
5238  return d;
5239 }
5240 inline Operator<Internal::Data<69, double> > Data(double x1, double x2, double x3, double x4, double x5, double x6, double x7, double x8, double x9, double x10, double x11, double x12, double x13, double x14, double x15, double x16, double x17, double x18, double x19, double x20, double x21, double x22, double x23, double x24, double x25, double x26, double x27, double x28, double x29, double x30, double x31, double x32, double x33, double x34, double x35, double x36, double x37, double x38, double x39, double x40, double x41, double x42, double x43, double x44, double x45, double x46, double x47, double x48, double x49, double x50, double x51, double x52, double x53, double x54, double x55, double x56, double x57, double x58, double x59, double x60, double x61, double x62, double x63, double x64, double x65, double x66, double x67, double x68, double x69){
5242  d.vals[0] = x1;
5243  d.vals[1] = x2;
5244  d.vals[2] = x3;
5245  d.vals[3] = x4;
5246  d.vals[4] = x5;
5247  d.vals[5] = x6;
5248  d.vals[6] = x7;
5249  d.vals[7] = x8;
5250  d.vals[8] = x9;
5251  d.vals[9] = x10;
5252  d.vals[10] = x11;
5253  d.vals[11] = x12;
5254  d.vals[12] = x13;
5255  d.vals[13] = x14;
5256  d.vals[14] = x15;
5257  d.vals[15] = x16;
5258  d.vals[16] = x17;
5259  d.vals[17] = x18;
5260  d.vals[18] = x19;
5261  d.vals[19] = x20;
5262  d.vals[20] = x21;
5263  d.vals[21] = x22;
5264  d.vals[22] = x23;
5265  d.vals[23] = x24;
5266  d.vals[24] = x25;
5267  d.vals[25] = x26;
5268  d.vals[26] = x27;
5269  d.vals[27] = x28;
5270  d.vals[28] = x29;
5271  d.vals[29] = x30;
5272  d.vals[30] = x31;
5273  d.vals[31] = x32;
5274  d.vals[32] = x33;
5275  d.vals[33] = x34;
5276  d.vals[34] = x35;
5277  d.vals[35] = x36;
5278  d.vals[36] = x37;
5279  d.vals[37] = x38;
5280  d.vals[38] = x39;
5281  d.vals[39] = x40;
5282  d.vals[40] = x41;
5283  d.vals[41] = x42;
5284  d.vals[42] = x43;
5285  d.vals[43] = x44;
5286  d.vals[44] = x45;
5287  d.vals[45] = x46;
5288  d.vals[46] = x47;
5289  d.vals[47] = x48;
5290  d.vals[48] = x49;
5291  d.vals[49] = x50;
5292  d.vals[50] = x51;
5293  d.vals[51] = x52;
5294  d.vals[52] = x53;
5295  d.vals[53] = x54;
5296  d.vals[54] = x55;
5297  d.vals[55] = x56;
5298  d.vals[56] = x57;
5299  d.vals[57] = x58;
5300  d.vals[58] = x59;
5301  d.vals[59] = x60;
5302  d.vals[60] = x61;
5303  d.vals[61] = x62;
5304  d.vals[62] = x63;
5305  d.vals[63] = x64;
5306  d.vals[64] = x65;
5307  d.vals[65] = x66;
5308  d.vals[66] = x67;
5309  d.vals[67] = x68;
5310  d.vals[68] = x69;
5311  return d;
5312 }
5313 template<typename Precision> inline Operator<Internal::Data<69, Precision> > Data(const Precision& x1, const Precision& x2, const Precision& x3, const Precision& x4, const Precision& x5, const Precision& x6, const Precision& x7, const Precision& x8, const Precision& x9, const Precision& x10, const Precision& x11, const Precision& x12, const Precision& x13, const Precision& x14, const Precision& x15, const Precision& x16, const Precision& x17, const Precision& x18, const Precision& x19, const Precision& x20, const Precision& x21, const Precision& x22, const Precision& x23, const Precision& x24, const Precision& x25, const Precision& x26, const Precision& x27, const Precision& x28, const Precision& x29, const Precision& x30, const Precision& x31, const Precision& x32, const Precision& x33, const Precision& x34, const Precision& x35, const Precision& x36, const Precision& x37, const Precision& x38, const Precision& x39, const Precision& x40, const Precision& x41, const Precision& x42, const Precision& x43, const Precision& x44, const Precision& x45, const Precision& x46, const Precision& x47, const Precision& x48, const Precision& x49, const Precision& x50, const Precision& x51, const Precision& x52, const Precision& x53, const Precision& x54, const Precision& x55, const Precision& x56, const Precision& x57, const Precision& x58, const Precision& x59, const Precision& x60, const Precision& x61, const Precision& x62, const Precision& x63, const Precision& x64, const Precision& x65, const Precision& x66, const Precision& x67, const Precision& x68, const Precision& x69){
5315  d.vals[0] = x1;
5316  d.vals[1] = x2;
5317  d.vals[2] = x3;
5318  d.vals[3] = x4;
5319  d.vals[4] = x5;
5320  d.vals[5] = x6;
5321  d.vals[6] = x7;
5322  d.vals[7] = x8;
5323  d.vals[8] = x9;
5324  d.vals[9] = x10;
5325  d.vals[10] = x11;
5326  d.vals[11] = x12;
5327  d.vals[12] = x13;
5328  d.vals[13] = x14;
5329  d.vals[14] = x15;
5330  d.vals[15] = x16;
5331  d.vals[16] = x17;
5332  d.vals[17] = x18;
5333  d.vals[18] = x19;
5334  d.vals[19] = x20;
5335  d.vals[20] = x21;
5336  d.vals[21] = x22;
5337  d.vals[22] = x23;
5338  d.vals[23] = x24;
5339  d.vals[24] = x25;
5340  d.vals[25] = x26;
5341  d.vals[26] = x27;
5342  d.vals[27] = x28;
5343  d.vals[28] = x29;
5344  d.vals[29] = x30;
5345  d.vals[30] = x31;
5346  d.vals[31] = x32;
5347  d.vals[32] = x33;
5348  d.vals[33] = x34;
5349  d.vals[34] = x35;
5350  d.vals[35] = x36;
5351  d.vals[36] = x37;
5352  d.vals[37] = x38;
5353  d.vals[38] = x39;
5354  d.vals[39] = x40;
5355  d.vals[40] = x41;
5356  d.vals[41] = x42;
5357  d.vals[42] = x43;
5358  d.vals[43] = x44;
5359  d.vals[44] = x45;
5360  d.vals[45] = x46;
5361  d.vals[46] = x47;
5362  d.vals[47] = x48;
5363  d.vals[48] = x49;
5364  d.vals[49] = x50;
5365  d.vals[50] = x51;
5366  d.vals[51] = x52;
5367  d.vals[52] = x53;
5368  d.vals[53] = x54;
5369  d.vals[54] = x55;
5370  d.vals[55] = x56;
5371  d.vals[56] = x57;
5372  d.vals[57] = x58;
5373  d.vals[58] = x59;
5374  d.vals[59] = x60;
5375  d.vals[60] = x61;
5376  d.vals[61] = x62;
5377  d.vals[62] = x63;
5378  d.vals[63] = x64;
5379  d.vals[64] = x65;
5380  d.vals[65] = x66;
5381  d.vals[66] = x67;
5382  d.vals[67] = x68;
5383  d.vals[68] = x69;
5384  return d;
5385 }
5386 inline Operator<Internal::Data<70, double> > Data(double x1, double x2, double x3, double x4, double x5, double x6, double x7, double x8, double x9, double x10, double x11, double x12, double x13, double x14, double x15, double x16, double x17, double x18, double x19, double x20, double x21, double x22, double x23, double x24, double x25, double x26, double x27, double x28, double x29, double x30, double x31, double x32, double x33, double x34, double x35, double x36, double x37, double x38, double x39, double x40, double x41, double x42, double x43, double x44, double x45, double x46, double x47, double x48, double x49, double x50, double x51, double x52, double x53, double x54, double x55, double x56, double x57, double x58, double x59, double x60, double x61, double x62, double x63, double x64, double x65, double x66, double x67, double x68, double x69, double x70){
5388  d.vals[0] = x1;
5389  d.vals[1] = x2;
5390  d.vals[2] = x3;
5391  d.vals[3] = x4;
5392  d.vals[4] = x5;
5393  d.vals[5] = x6;
5394  d.vals[6] = x7;
5395  d.vals[7] = x8;
5396  d.vals[8] = x9;
5397  d.vals[9] = x10;
5398  d.vals[10] = x11;
5399  d.vals[11] = x12;
5400  d.vals[12] = x13;
5401  d.vals[13] = x14;
5402  d.vals[14] = x15;
5403  d.vals[15] = x16;
5404  d.vals[16] = x17;
5405  d.vals[17] = x18;
5406  d.vals[18] = x19;
5407  d.vals[19] = x20;
5408  d.vals[20] = x21;
5409  d.vals[21] = x22;
5410  d.vals[22] = x23;
5411  d.vals[23] = x24;
5412  d.vals[24] = x25;
5413  d.vals[25] = x26;
5414  d.vals[26] = x27;
5415  d.vals[27] = x28;
5416  d.vals[28] = x29;
5417  d.vals[29] = x30;
5418  d.vals[30] = x31;
5419  d.vals[31] = x32;
5420  d.vals[32] = x33;
5421  d.vals[33] = x34;
5422  d.vals[34] = x35;
5423  d.vals[35] = x36;
5424  d.vals[36] = x37;
5425  d.vals[37] = x38;
5426  d.vals[38] = x39;
5427  d.vals[39] = x40;
5428  d.vals[40] = x41;
5429  d.vals[41] = x42;
5430  d.vals[42] = x43;
5431  d.vals[43] = x44;
5432  d.vals[44] = x45;
5433  d.vals[45] = x46;
5434  d.vals[46] = x47;
5435  d.vals[47] = x48;
5436  d.vals[48] = x49;
5437  d.vals[49] = x50;
5438  d.vals[50] = x51;
5439  d.vals[51] = x52;
5440  d.vals[52] = x53;
5441  d.vals[53] = x54;
5442  d.vals[54] = x55;
5443  d.vals[55] = x56;
5444  d.vals[56] = x57;
5445  d.vals[57] = x58;
5446  d.vals[58] = x59;
5447  d.vals[59] = x60;
5448  d.vals[60] = x61;
5449  d.vals[61] = x62;
5450  d.vals[62] = x63;
5451  d.vals[63] = x64;
5452  d.vals[64] = x65;
5453  d.vals[65] = x66;
5454  d.vals[66] = x67;
5455  d.vals[67] = x68;
5456  d.vals[68] = x69;
5457  d.vals[69] = x70;
5458  return d;
5459 }
5460 template<typename Precision> inline Operator<Internal::Data<70, Precision> > Data(const Precision& x1, const Precision& x2, const Precision& x3, const Precision& x4, const Precision& x5, const Precision& x6, const Precision& x7, const Precision& x8, const Precision& x9, const Precision& x10, const Precision& x11, const Precision& x12, const Precision& x13, const Precision& x14, const Precision& x15, const Precision& x16, const Precision& x17, const Precision& x18, const Precision& x19, const Precision& x20, const Precision& x21, const Precision& x22, const Precision& x23, const Precision& x24, const Precision& x25, const Precision& x26, const Precision& x27, const Precision& x28, const Precision& x29, const Precision& x30, const Precision& x31, const Precision& x32, const Precision& x33, const Precision& x34, const Precision& x35, const Precision& x36, const Precision& x37, const Precision& x38, const Precision& x39, const Precision& x40, const Precision& x41, const Precision& x42, const Precision& x43, const Precision& x44, const Precision& x45, const Precision& x46, const Precision& x47, const Precision& x48, const Precision& x49, const Precision& x50, const Precision& x51, const Precision& x52, const Precision& x53, const Precision& x54, const Precision& x55, const Precision& x56, const Precision& x57, const Precision& x58, const Precision& x59, const Precision& x60, const Precision& x61, const Precision& x62, const Precision& x63, const Precision& x64, const Precision& x65, const Precision& x66, const Precision& x67, const Precision& x68, const Precision& x69, const Precision& x70){
5462  d.vals[0] = x1;
5463  d.vals[1] = x2;
5464  d.vals[2] = x3;
5465  d.vals[3] = x4;
5466  d.vals[4] = x5;
5467  d.vals[5] = x6;
5468  d.vals[6] = x7;
5469  d.vals[7] = x8;
5470  d.vals[8] = x9;
5471  d.vals[9] = x10;
5472  d.vals[10] = x11;
5473  d.vals[11] = x12;
5474  d.vals[12] = x13;
5475  d.vals[13] = x14;
5476  d.vals[14] = x15;
5477  d.vals[15] = x16;
5478  d.vals[16] = x17;
5479  d.vals[17] = x18;
5480  d.vals[18] = x19;
5481  d.vals[19] = x20;
5482  d.vals[20] = x21;
5483  d.vals[21] = x22;
5484  d.vals[22] = x23;
5485  d.vals[23] = x24;
5486  d.vals[24] = x25;
5487  d.vals[25] = x26;
5488  d.vals[26] = x27;
5489  d.vals[27] = x28;
5490  d.vals[28] = x29;
5491  d.vals[29] = x30;
5492  d.vals[30] = x31;
5493  d.vals[31] = x32;
5494  d.vals[32] = x33;
5495  d.vals[33] = x34;
5496  d.vals[34] = x35;
5497  d.vals[35] = x36;
5498  d.vals[36] = x37;
5499  d.vals[37] = x38;
5500  d.vals[38] = x39;
5501  d.vals[39] = x40;
5502  d.vals[40] = x41;
5503  d.vals[41] = x42;
5504  d.vals[42] = x43;
5505  d.vals[43] = x44;
5506  d.vals[44] = x45;
5507  d.vals[45] = x46;
5508  d.vals[46] = x47;
5509  d.vals[47] = x48;
5510  d.vals[48] = x49;
5511  d.vals[49] = x50;
5512  d.vals[50] = x51;
5513  d.vals[51] = x52;
5514  d.vals[52] = x53;
5515  d.vals[53] = x54;
5516  d.vals[54] = x55;
5517  d.vals[55] = x56;
5518  d.vals[56] = x57;
5519  d.vals[57] = x58;
5520  d.vals[58] = x59;
5521  d.vals[59] = x60;
5522  d.vals[60] = x61;
5523  d.vals[61] = x62;
5524  d.vals[62] = x63;
5525  d.vals[63] = x64;
5526  d.vals[64] = x65;
5527  d.vals[65] = x66;
5528  d.vals[66] = x67;
5529  d.vals[67] = x68;
5530  d.vals[68] = x69;
5531  d.vals[69] = x70;
5532  return d;
5533 }
5534 inline Operator<Internal::Data<71, double> > Data(double x1, double x2, double x3, double x4, double x5, double x6, double x7, double x8, double x9, double x10, double x11, double x12, double x13, double x14, double x15, double x16, double x17, double x18, double x19, double x20, double x21, double x22, double x23, double x24, double x25, double x26, double x27, double x28, double x29, double x30, double x31, double x32, double x33, double x34, double x35, double x36, double x37, double x38, double x39, double x40, double x41, double x42, double x43, double x44, double x45, double x46, double x47, double x48, double x49, double x50, double x51, double x52, double x53, double x54, double x55, double x56, double x57, double x58, double x59, double x60, double x61, double x62, double x63, double x64, double x65, double x66, double x67, double x68, double x69, double x70, double x71){
5536  d.vals[0] = x1;
5537  d.vals[1] = x2;
5538  d.vals[2] = x3;
5539  d.vals[3] = x4;
5540  d.vals[4] = x5;
5541  d.vals[5] = x6;
5542  d.vals[6] = x7;
5543  d.vals[7] = x8;
5544  d.vals[8] = x9;
5545  d.vals[9] = x10;
5546  d.vals[10] = x11;
5547  d.vals[11] = x12;
5548  d.vals[12] = x13;
5549  d.vals[13] = x14;
5550  d.vals[14] = x15;
5551  d.vals[15] = x16;
5552  d.vals[16] = x17;
5553  d.vals[17] = x18;
5554  d.vals[18] = x19;
5555  d.vals[19] = x20;
5556  d.vals[20] = x21;
5557  d.vals[21] = x22;
5558  d.vals[22] = x23;
5559  d.vals[23] = x24;
5560  d.vals[24] = x25;
5561  d.vals[25] = x26;
5562  d.vals[26] = x27;
5563  d.vals[27] = x28;
5564  d.vals[28] = x29;
5565  d.vals[29] = x30;
5566  d.vals[30] = x31;
5567  d.vals[31] = x32;
5568  d.vals[32] = x33;
5569  d.vals[33] = x34;
5570  d.vals[34] = x35;
5571  d.vals[35] = x36;
5572  d.vals[36] = x37;
5573  d.vals[37] = x38;
5574  d.vals[38] = x39;
5575  d.vals[39] = x40;
5576  d.vals[40] = x41;
5577  d.vals[41] = x42;
5578  d.vals[42] = x43;
5579  d.vals[43] = x44;
5580  d.vals[44] = x45;
5581  d.vals[45] = x46;
5582  d.vals[46] = x47;
5583  d.vals[47] = x48;
5584  d.vals[48] = x49;
5585  d.vals[49] = x50;
5586  d.vals[50] = x51;
5587  d.vals[51] = x52;
5588  d.vals[52] = x53;
5589  d.vals[53] = x54;
5590  d.vals[54] = x55;
5591  d.vals[55] = x56;
5592  d.vals[56] = x57;
5593  d.vals[57] = x58;
5594  d.vals[58] = x59;
5595  d.vals[59] = x60;
5596  d.vals[60] = x61;
5597  d.vals[61] = x62;
5598  d.vals[62] = x63;
5599  d.vals[63] = x64;
5600  d.vals[64] = x65;
5601  d.vals[65] = x66;
5602  d.vals[66] = x67;
5603  d.vals[67] = x68;
5604  d.vals[68] = x69;
5605  d.vals[69] = x70;
5606  d.vals[70] = x71;
5607  return d;
5608 }
5609 template<typename Precision> inline Operator<Internal::Data<71, Precision> > Data(const Precision& x1, const Precision& x2, const Precision& x3, const Precision& x4, const Precision& x5, const Precision& x6, const Precision& x7, const Precision& x8, const Precision& x9, const Precision& x10, const Precision& x11, const Precision& x12, const Precision& x13, const Precision& x14, const Precision& x15, const Precision& x16, const Precision& x17, const Precision& x18, const Precision& x19, const Precision& x20, const Precision& x21, const Precision& x22, const Precision& x23, const Precision& x24, const Precision& x25, const Precision& x26, const Precision& x27, const Precision& x28, const Precision& x29, const Precision& x30, const Precision& x31, const Precision& x32, const Precision& x33, const Precision& x34, const Precision& x35, const Precision& x36, const Precision& x37, const Precision& x38, const Precision& x39, const Precision& x40, const Precision& x41, const Precision& x42, const Precision& x43, const Precision& x44, const Precision& x45, const Precision& x46, const Precision& x47, const Precision& x48, const Precision& x49, const Precision& x50, const Precision& x51, const Precision& x52, const Precision& x53, const Precision& x54, const Precision& x55, const Precision& x56, const Precision& x57, const Precision& x58, const Precision& x59, const Precision& x60, const Precision& x61, const Precision& x62, const Precision& x63, const Precision& x64, const Precision& x65, const Precision& x66, const Precision& x67, const Precision& x68, const Precision& x69, const Precision& x70, const Precision& x71){
5611  d.vals[0] = x1;
5612  d.vals[1] = x2;
5613  d.vals[2] = x3;
5614  d.vals[3] = x4;
5615  d.vals[4] = x5;
5616  d.vals[5] = x6;
5617  d.vals[6] = x7;
5618  d.vals[7] = x8;
5619  d.vals[8] = x9;
5620  d.vals[9] = x10;
5621  d.vals[10] = x11;
5622  d.vals[11] = x12;
5623  d.vals[12] = x13;
5624  d.vals[13] = x14;
5625  d.vals[14] = x15;
5626  d.vals[15] = x16;
5627  d.vals[16] = x17;
5628  d.vals[17] = x18;
5629  d.vals[18] = x19;
5630  d.vals[19] = x20;
5631  d.vals[20] = x21;
5632  d.vals[21] = x22;
5633  d.vals[22] = x23;
5634  d.vals[23] = x24;
5635  d.vals[24] = x25;
5636  d.vals[25] = x26;
5637  d.vals[26] = x27;
5638  d.vals[27] = x28;
5639  d.vals[28] = x29;
5640  d.vals[29] = x30;
5641  d.vals[30] = x31;
5642  d.vals[31] = x32;
5643  d.vals[32] = x33;
5644  d.vals[33] = x34;
5645  d.vals[34] = x35;
5646  d.vals[35] = x36;
5647  d.vals[36] = x37;
5648  d.vals[37] = x38;
5649  d.vals[38] = x39;
5650  d.vals[39] = x40;
5651  d.vals[40] = x41;
5652  d.vals[41] = x42;
5653  d.vals[42] = x43;
5654  d.vals[43] = x44;
5655  d.vals[44] = x45;
5656  d.vals[45] = x46;
5657  d.vals[46] = x47;
5658  d.vals[47] = x48;
5659  d.vals[48] = x49;
5660  d.vals[49] = x50;
5661  d.vals[50] = x51;
5662  d.vals[51] = x52;
5663  d.vals[52] = x53;
5664  d.vals[53] = x54;
5665  d.vals[54] = x55;
5666  d.vals[55] = x56;
5667  d.vals[56] = x57;
5668  d.vals[57] = x58;
5669  d.vals[58] = x59;
5670  d.vals[59] = x60;
5671  d.vals[60] = x61;
5672  d.vals[61] = x62;
5673  d.vals[62] = x63;
5674  d.vals[63] = x64;
5675  d.vals[64] = x65;
5676  d.vals[65] = x66;
5677  d.vals[66] = x67;
5678  d.vals[67] = x68;
5679  d.vals[68] = x69;
5680  d.vals[69] = x70;
5681  d.vals[70] = x71;
5682  return d;
5683 }
5684 inline Operator<Internal::Data<72, double> > Data(double x1, double x2, double x3, double x4, double x5, double x6, double x7, double x8, double x9, double x10, double x11, double x12, double x13, double x14, double x15, double x16, double x17, double x18, double x19, double x20, double x21, double x22, double x23, double x24, double x25, double x26, double x27, double x28, double x29, double x30, double x31, double x32, double x33, double x34, double x35, double x36, double x37, double x38, double x39, double x40, double x41, double x42, double x43, double x44, double x45, double x46, double x47, double x48, double x49, double x50, double x51, double x52, double x53, double x54, double x55, double x56, double x57, double x58, double x59, double x60, double x61, double x62, double x63, double x64, double x65, double x66, double x67, double x68, double x69, double x70, double x71, double x72){
5686  d.vals[0] = x1;
5687  d.vals[1] = x2;
5688  d.vals[2] = x3;
5689  d.vals[3] = x4;
5690  d.vals[4] = x5;
5691  d.vals[5] = x6;
5692  d.vals[6] = x7;
5693  d.vals[7] = x8;
5694  d.vals[8] = x9;
5695  d.vals[9] = x10;
5696  d.vals[10] = x11;
5697  d.vals[11] = x12;
5698  d.vals[12] = x13;
5699  d.vals[13] = x14;
5700  d.vals[14] = x15;
5701  d.vals[15] = x16;
5702  d.vals[16] = x17;
5703  d.vals[17] = x18;
5704  d.vals[18] = x19;
5705  d.vals[19] = x20;
5706  d.vals[20] = x21;
5707  d.vals[21] = x22;
5708  d.vals[22] = x23;
5709  d.vals[23] = x24;
5710  d.vals[24] = x25;
5711  d.vals[25] = x26;
5712  d.vals[26] = x27;
5713  d.vals[27] = x28;
5714  d.vals[28] = x29;
5715  d.vals[29] = x30;
5716  d.vals[30] = x31;
5717  d.vals[31] = x32;
5718  d.vals[32] = x33;
5719  d.vals[33] = x34;
5720  d.vals[34] = x35;
5721  d.vals[35] = x36;
5722  d.vals[36] = x37;
5723  d.vals[37] = x38;
5724  d.vals[38] = x39;
5725  d.vals[39] = x40;
5726  d.vals[40] = x41;
5727  d.vals[41] = x42;
5728  d.vals[42] = x43;
5729  d.vals[43] = x44;
5730  d.vals[44] = x45;
5731  d.vals[45] = x46;
5732  d.vals[46] = x47;
5733  d.vals[47] = x48;
5734  d.vals[48] = x49;
5735  d.vals[49] = x50;
5736  d.vals[50] = x51;
5737  d.vals[51] = x52;
5738  d.vals[52] = x53;
5739  d.vals[53] = x54;
5740  d.vals[54] = x55;
5741  d.vals[55] = x56;
5742  d.vals[56] = x57;
5743  d.vals[57] = x58;
5744  d.vals[58] = x59;
5745  d.vals[59] = x60;
5746  d.vals[60] = x61;
5747  d.vals[61] = x62;
5748  d.vals[62] = x63;
5749  d.vals[63] = x64;
5750  d.vals[64] = x65;
5751  d.vals[65] = x66;
5752  d.vals[66] = x67;
5753  d.vals[67] = x68;
5754  d.vals[68] = x69;
5755  d.vals[69] = x70;
5756  d.vals[70] = x71;
5757  d.vals[71] = x72;
5758  return d;
5759 }
5760 template<typename Precision> inline Operator<Internal::Data<72, Precision> > Data(const Precision& x1, const Precision& x2, const Precision& x3, const Precision& x4, const Precision& x5, const Precision& x6, const Precision& x7, const Precision& x8, const Precision& x9, const Precision& x10, const Precision& x11, const Precision& x12, const Precision& x13, const Precision& x14, const Precision& x15, const Precision& x16, const Precision& x17, const Precision& x18, const Precision& x19, const Precision& x20, const Precision& x21, const Precision& x22, const Precision& x23, const Precision& x24, const Precision& x25, const Precision& x26, const Precision& x27, const Precision& x28, const Precision& x29, const Precision& x30, const Precision& x31, const Precision& x32, const Precision& x33, const Precision& x34, const Precision& x35, const Precision& x36, const Precision& x37, const Precision& x38, const Precision& x39, const Precision& x40, const Precision& x41, const Precision& x42, const Precision& x43, const Precision& x44, const Precision& x45, const Precision& x46, const Precision& x47, const Precision& x48, const Precision& x49, const Precision& x50, const Precision& x51, const Precision& x52, const Precision& x53, const Precision& x54, const Precision& x55, const Precision& x56, const Precision& x57, const Precision& x58, const Precision& x59, const Precision& x60, const Precision& x61, const Precision& x62, const Precision& x63, const Precision& x64, const Precision& x65, const Precision& x66, const Precision& x67, const Precision& x68, const Precision& x69, const Precision& x70, const Precision& x71, const Precision& x72){
5762  d.vals[0] = x1;
5763  d.vals[1] = x2;
5764  d.vals[2] = x3;
5765  d.vals[3] = x4;
5766  d.vals[4] = x5;
5767  d.vals[5] = x6;
5768  d.vals[6] = x7;
5769  d.vals[7] = x8;
5770  d.vals[8] = x9;
5771  d.vals[9] = x10;
5772  d.vals[10] = x11;
5773  d.vals[11] = x12;
5774  d.vals[12] = x13;
5775  d.vals[13] = x14;
5776  d.vals[14] = x15;
5777  d.vals[15] = x16;
5778  d.vals[16] = x17;
5779  d.vals[17] = x18;
5780  d.vals[18] = x19;
5781  d.vals[19] = x20;
5782  d.vals[20] = x21;
5783  d.vals[21] = x22;
5784  d.vals[22] = x23;
5785  d.vals[23] = x24;
5786  d.vals[24] = x25;
5787  d.vals[25] = x26;
5788  d.vals[26] = x27;
5789  d.vals[27] = x28;
5790  d.vals[28] = x29;
5791  d.vals[29] = x30;
5792  d.vals[30] = x31;
5793  d.vals[31] = x32;
5794  d.vals[32] = x33;
5795  d.vals[33] = x34;
5796  d.vals[34] = x35;
5797  d.vals[35] = x36;
5798  d.vals[36] = x37;
5799  d.vals[37] = x38;
5800  d.vals[38] = x39;
5801  d.vals[39] = x40;
5802  d.vals[40] = x41;
5803  d.vals[41] = x42;
5804  d.vals[42] = x43;
5805  d.vals[43] = x44;
5806  d.vals[44] = x45;
5807  d.vals[45] = x46;
5808  d.vals[46] = x47;
5809  d.vals[47] = x48;
5810  d.vals[48] = x49;
5811  d.vals[49] = x50;
5812  d.vals[50] = x51;
5813  d.vals[51] = x52;
5814  d.vals[52] = x53;
5815  d.vals[53] = x54;
5816  d.vals[54] = x55;
5817  d.vals[55] = x56;
5818  d.vals[56] = x57;
5819  d.vals[57] = x58;
5820  d.vals[58] = x59;
5821  d.vals[59] = x60;
5822  d.vals[60] = x61;
5823  d.vals[61] = x62;
5824  d.vals[62] = x63;
5825  d.vals[63] = x64;
5826  d.vals[64] = x65;
5827  d.vals[65] = x66;
5828  d.vals[66] = x67;
5829  d.vals[67] = x68;
5830  d.vals[68] = x69;
5831  d.vals[69] = x70;
5832  d.vals[70] = x71;
5833  d.vals[71] = x72;
5834  return d;
5835 }
5836 inline Operator<Internal::Data<73, double> > Data(double x1, double x2, double x3, double x4, double x5, double x6, double x7, double x8, double x9, double x10, double x11, double x12, double x13, double x14, double x15, double x16, double x17, double x18, double x19, double x20, double x21, double x22, double x23, double x24, double x25, double x26, double x27, double x28, double x29, double x30, double x31, double x32, double x33, double x34, double x35, double x36, double x37, double x38, double x39, double x40, double x41, double x42, double x43, double x44, double x45, double x46, double x47, double x48, double x49, double x50, double x51, double x52, double x53, double x54, double x55, double x56, double x57, double x58, double x59, double x60, double x61, double x62, double x63, double x64, double x65, double x66, double x67, double x68, double x69, double x70, double x71, double x72, double x73){
5838  d.vals[0] = x1;
5839  d.vals[1] = x2;
5840  d.vals[2] = x3;
5841  d.vals[3] = x4;
5842  d.vals[4] = x5;
5843  d.vals[5] = x6;
5844  d.vals[6] = x7;
5845  d.vals[7] = x8;
5846  d.vals[8] = x9;
5847  d.vals[9] = x10;
5848  d.vals[10] = x11;
5849  d.vals[11] = x12;
5850  d.vals[12] = x13;
5851  d.vals[13] = x14;
5852  d.vals[14] = x15;
5853  d.vals[15] = x16;
5854  d.vals[16] = x17;
5855  d.vals[17] = x18;
5856  d.vals[18] = x19;
5857  d.vals[19] = x20;
5858  d.vals[20] = x21;
5859  d.vals[21] = x22;
5860  d.vals[22] = x23;
5861  d.vals[23] = x24;
5862  d.vals[24] = x25;
5863  d.vals[25] = x26;
5864  d.vals[26] = x27;
5865  d.vals[27] = x28;
5866  d.vals[28] = x29;
5867  d.vals[29] = x30;
5868  d.vals[30] = x31;
5869  d.vals[31] = x32;
5870  d.vals[32] = x33;
5871  d.vals[33] = x34;
5872  d.vals[34] = x35;
5873  d.vals[35] = x36;
5874  d.vals[36] = x37;
5875  d.vals[37] = x38;
5876  d.vals[38] = x39;
5877  d.vals[39] = x40;
5878  d.vals[40] = x41;
5879  d.vals[41] = x42;
5880  d.vals[42] = x43;
5881  d.vals[43] = x44;
5882  d.vals[44] = x45;
5883  d.vals[45] = x46;
5884  d.vals[46] = x47;
5885  d.vals[47] = x48;
5886  d.vals[48] = x49;
5887  d.vals[49] = x50;
5888  d.vals[50] = x51;
5889  d.vals[51] = x52;
5890  d.vals[52] = x53;
5891  d.vals[53] = x54;
5892  d.vals[54] = x55;
5893  d.vals[55] = x56;
5894  d.vals[56] = x57;
5895  d.vals[57] = x58;
5896  d.vals[58] = x59;
5897  d.vals[59] = x60;
5898  d.vals[60] = x61;
5899  d.vals[61] = x62;
5900  d.vals[62] = x63;
5901  d.vals[63] = x64;
5902  d.vals[64] = x65;
5903  d.vals[65] = x66;
5904  d.vals[66] = x67;
5905  d.vals[67] = x68;
5906  d.vals[68] = x69;
5907  d.vals[69] = x70;
5908  d.vals[70] = x71;
5909  d.vals[71] = x72;
5910  d.vals[72] = x73;
5911  return d;
5912 }
5913 template<typename Precision> inline Operator<Internal::Data<73, Precision> > Data(const Precision& x1, const Precision& x2, const Precision& x3, const Precision& x4, const Precision& x5, const Precision& x6, const Precision& x7, const Precision& x8, const Precision& x9, const Precision& x10, const Precision& x11, const Precision& x12, const Precision& x13, const Precision& x14, const Precision& x15, const Precision& x16, const Precision& x17, const Precision& x18, const Precision& x19, const Precision& x20, const Precision& x21, const Precision& x22, const Precision& x23, const Precision& x24, const Precision& x25, const Precision& x26, const Precision& x27, const Precision& x28, const Precision& x29, const Precision& x30, const Precision& x31, const Precision& x32, const Precision& x33, const Precision& x34, const Precision& x35, const Precision& x36, const Precision& x37, const Precision& x38, const Precision& x39, const Precision& x40, const Precision& x41, const Precision& x42, const Precision& x43, const Precision& x44, const Precision& x45, const Precision& x46, const Precision& x47, const Precision& x48, const Precision& x49, const Precision& x50, const Precision& x51, const Precision& x52, const Precision& x53, const Precision& x54, const Precision& x55, const Precision& x56, const Precision& x57, const Precision& x58, const Precision& x59, const Precision& x60, const Precision& x61, const Precision& x62, const Precision& x63, const Precision& x64, const Precision& x65, const Precision& x66, const Precision& x67, const Precision& x68, const Precision& x69, const Precision& x70, const Precision& x71, const Precision& x72, const Precision& x73){
5915  d.vals[0] = x1;
5916  d.vals[1] = x2;
5917  d.vals[2] = x3;
5918  d.vals[3] = x4;
5919  d.vals[4] = x5;
5920  d.vals[5] = x6;
5921  d.vals[6] = x7;
5922  d.vals[7] = x8;
5923  d.vals[8] = x9;
5924  d.vals[9] = x10;
5925  d.vals[10] = x11;
5926  d.vals[11] = x12;
5927  d.vals[12] = x13;
5928  d.vals[13] = x14;
5929  d.vals[14] = x15;
5930  d.vals[15] = x16;
5931  d.vals[16] = x17;
5932  d.vals[17] = x18;
5933  d.vals[18] = x19;
5934  d.vals[19] = x20;
5935  d.vals[20] = x21;
5936  d.vals[21] = x22;
5937  d.vals[22] = x23;
5938  d.vals[23] = x24;
5939  d.vals[24] = x25;
5940  d.vals[25] = x26;
5941  d.vals[26] = x27;
5942  d.vals[27] = x28;
5943  d.vals[28] = x29;
5944  d.vals[29] = x30;
5945  d.vals[30] = x31;
5946  d.vals[31] = x32;
5947  d.vals[32] = x33;
5948  d.vals[33] = x34;
5949  d.vals[34] = x35;
5950  d.vals[35] = x36;
5951  d.vals[36] = x37;
5952  d.vals[37] = x38;
5953  d.vals[38] = x39;
5954  d.vals[39] = x40;
5955  d.vals[40] = x41;
5956  d.vals[41] = x42;
5957  d.vals[42] = x43;
5958  d.vals[43] = x44;
5959  d.vals[44] = x45;
5960  d.vals[45] = x46;
5961  d.vals[46] = x47;
5962  d.vals[47] = x48;
5963  d.vals[48] = x49;
5964  d.vals[49] = x50;
5965  d.vals[50] = x51;
5966  d.vals[51] = x52;
5967  d.vals[52] = x53;
5968  d.vals[53] = x54;
5969  d.vals[54] = x55;
5970  d.vals[55] = x56;
5971  d.vals[56] = x57;
5972  d.vals[57] = x58;
5973  d.vals[58] = x59;
5974  d.vals[59] = x60;
5975  d.vals[60] = x61;
5976  d.vals[61] = x62;
5977  d.vals[62] = x63;
5978  d.vals[63] = x64;
5979  d.vals[64] = x65;
5980  d.vals[65] = x66;
5981  d.vals[66] = x67;
5982  d.vals[67] = x68;
5983  d.vals[68] = x69;
5984  d.vals[69] = x70;
5985  d.vals[70] = x71;
5986  d.vals[71] = x72;
5987  d.vals[72] = x73;
5988  return d;
5989 }
5990 inline Operator<Internal::Data<74, double> > Data(double x1, double x2, double x3, double x4, double x5, double x6, double x7, double x8, double x9, double x10, double x11, double x12, double x13, double x14, double x15, double x16, double x17, double x18, double x19, double x20, double x21, double x22, double x23, double x24, double x25, double x26, double x27, double x28, double x29, double x30, double x31, double x32, double x33, double x34, double x35, double x36, double x37, double x38, double x39, double x40, double x41, double x42, double x43, double x44, double x45, double x46, double x47, double x48, double x49, double x50, double x51, double x52, double x53, double x54, double x55, double x56, double x57, double x58, double x59, double x60, double x61, double x62, double x63, double x64, double x65, double x66, double x67, double x68, double x69, double x70, double x71, double x72, double x73, double x74){
5992  d.vals[0] = x1;
5993  d.vals[1] = x2;
5994  d.vals[2] = x3;
5995  d.vals[3] = x4;
5996  d.vals[4] = x5;
5997  d.vals[5] = x6;
5998  d.vals[6] = x7;
5999  d.vals[7] = x8;
6000  d.vals[8] = x9;
6001  d.vals[9] = x10;
6002  d.vals[10] = x11;
6003  d.vals[11] = x12;
6004  d.vals[12] = x13;
6005  d.vals[13] = x14;
6006  d.vals[14] = x15;
6007  d.vals[15] = x16;
6008  d.vals[16] = x17;
6009  d.vals[17] = x18;
6010  d.vals[18] = x19;
6011  d.vals[19] = x20;
6012  d.vals[20] = x21;
6013  d.vals[21] = x22;
6014  d.vals[22] = x23;
6015  d.vals[23] = x24;
6016  d.vals[24] = x25;
6017  d.vals[25] = x26;
6018  d.vals[26] = x27;
6019  d.vals[27] = x28;
6020  d.vals[28] = x29;
6021  d.vals[29] = x30;
6022  d.vals[30] = x31;
6023  d.vals[31] = x32;
6024  d.vals[32] = x33;
6025  d.vals[33] = x34;
6026  d.vals[34] = x35;
6027  d.vals[35] = x36;
6028  d.vals[36] = x37;
6029  d.vals[37] = x38;
6030  d.vals[38] = x39;
6031  d.vals[39] = x40;
6032  d.vals[40] = x41;
6033  d.vals[41] = x42;
6034  d.vals[42] = x43;
6035  d.vals[43] = x44;
6036  d.vals[44] = x45;
6037  d.vals[45] = x46;
6038  d.vals[46] = x47;
6039  d.vals[47] = x48;
6040  d.vals[48] = x49;
6041  d.vals[49] = x50;
6042  d.vals[50] = x51;
6043  d.vals[51] = x52;
6044  d.vals[52] = x53;
6045  d.vals[53] = x54;
6046  d.vals[54] = x55;
6047  d.vals[55] = x56;
6048  d.vals[56] = x57;
6049  d.vals[57] = x58;
6050  d.vals[58] = x59;
6051  d.vals[59] = x60;
6052  d.vals[60] = x61;
6053  d.vals[61] = x62;
6054  d.vals[62] = x63;
6055  d.vals[63] = x64;
6056  d.vals[64] = x65;
6057  d.vals[65] = x66;
6058  d.vals[66] = x67;
6059  d.vals[67] = x68;
6060  d.vals[68] = x69;
6061  d.vals[69] = x70;
6062  d.vals[70] = x71;
6063  d.vals[71] = x72;
6064  d.vals[72] = x73;
6065  d.vals[73] = x74;
6066  return d;
6067 }
6068 template<typename Precision> inline Operator<Internal::Data<74, Precision> > Data(const Precision& x1, const Precision& x2, const Precision& x3, const Precision& x4, const Precision& x5, const Precision& x6, const Precision& x7, const Precision& x8, const Precision& x9, const Precision& x10, const Precision& x11, const Precision& x12, const Precision& x13, const Precision& x14, const Precision& x15, const Precision& x16, const Precision& x17, const Precision& x18, const Precision& x19, const Precision& x20, const Precision& x21, const Precision& x22, const Precision& x23, const Precision& x24, const Precision& x25, const Precision& x26, const Precision& x27, const Precision& x28, const Precision& x29, const Precision& x30, const Precision& x31, const Precision& x32, const Precision& x33, const Precision& x34, const Precision& x35, const Precision& x36, const Precision& x37, const Precision& x38, const Precision& x39, const Precision& x40, const Precision& x41, const Precision& x42, const Precision& x43, const Precision& x44, const Precision& x45, const Precision& x46, const Precision& x47, const Precision& x48, const Precision& x49, const Precision& x50, const Precision& x51, const Precision& x52, const Precision& x53, const Precision& x54, const Precision& x55, const Precision& x56, const Precision& x57, const Precision& x58, const Precision& x59, const Precision& x60, const Precision& x61, const Precision& x62, const Precision& x63, const Precision& x64, const Precision& x65, const Precision& x66, const Precision& x67, const Precision& x68, const Precision& x69, const Precision& x70, const Precision& x71, const Precision& x72, const Precision& x73, const Precision& x74){
6070  d.vals[0] = x1;
6071  d.vals[1] = x2;
6072  d.vals[2] = x3;
6073  d.vals[3] = x4;
6074  d.vals[4] = x5;
6075  d.vals[5] = x6;
6076  d.vals[6] = x7;
6077  d.vals[7] = x8;
6078  d.vals[8] = x9;
6079  d.vals[9] = x10;
6080  d.vals[10] = x11;
6081  d.vals[11] = x12;
6082  d.vals[12] = x13;
6083  d.vals[13] = x14;
6084  d.vals[14] = x15;
6085  d.vals[15] = x16;
6086  d.vals[16] = x17;
6087  d.vals[17] = x18;
6088  d.vals[18] = x19;
6089  d.vals[19] = x20;
6090  d.vals[20] = x21;
6091  d.vals[21] = x22;
6092  d.vals[22] = x23;
6093  d.vals[23] = x24;
6094  d.vals[24] = x25;
6095  d.vals[25] = x26;
6096  d.vals[26] = x27;
6097  d.vals[27] = x28;
6098  d.vals[28] = x29;
6099  d.vals[29] = x30;
6100  d.vals[30] = x31;
6101  d.vals[31] = x32;
6102  d.vals[32] = x33;
6103  d.vals[33] = x34;
6104  d.vals[34] = x35;
6105  d.vals[35] = x36;
6106  d.vals[36] = x37;
6107  d.vals[37] = x38;
6108  d.vals[38] = x39;
6109  d.vals[39] = x40;
6110  d.vals[40] = x41;
6111  d.vals[41] = x42;
6112  d.vals[42] = x43;
6113  d.vals[43] = x44;
6114  d.vals[44] = x45;
6115  d.vals[45] = x46;
6116  d.vals[46] = x47;
6117  d.vals[47] = x48;
6118  d.vals[48] = x49;
6119  d.vals[49] = x50;
6120  d.vals[50] = x51;
6121  d.vals[51] = x52;
6122  d.vals[52] = x53;
6123  d.vals[53] = x54;
6124  d.vals[54] = x55;
6125  d.vals[55] = x56;
6126  d.vals[56] = x57;
6127  d.vals[57] = x58;
6128  d.vals[58] = x59;
6129  d.vals[59] = x60;
6130  d.vals[60] = x61;
6131  d.vals[61] = x62;
6132  d.vals[62] = x63;
6133  d.vals[63] = x64;
6134  d.vals[64] = x65;
6135  d.vals[65] = x66;
6136  d.vals[66] = x67;
6137  d.vals[67] = x68;
6138  d.vals[68] = x69;
6139  d.vals[69] = x70;
6140  d.vals[70] = x71;
6141  d.vals[71] = x72;
6142  d.vals[72] = x73;
6143  d.vals[73] = x74;
6144  return d;
6145 }
6146 inline Operator<Internal::Data<75, double> > Data(double x1, double x2, double x3, double x4, double x5, double x6, double x7, double x8, double x9, double x10, double x11, double x12, double x13, double x14, double x15, double x16, double x17, double x18, double x19, double x20, double x21, double x22, double x23, double x24, double x25, double x26, double x27, double x28, double x29, double x30, double x31, double x32, double x33, double x34, double x35, double x36, double x37, double x38, double x39, double x40, double x41, double x42, double x43, double x44, double x45, double x46, double x47, double x48, double x49, double x50, double x51, double x52, double x53, double x54, double x55, double x56, double x57, double x58, double x59, double x60, double x61, double x62, double x63, double x64, double x65, double x66, double x67, double x68, double x69, double x70, double x71, double x72, double x73, double x74, double x75){
6148  d.vals[0] = x1;
6149  d.vals[1] = x2;
6150  d.vals[2] = x3;
6151  d.vals[3] = x4;
6152  d.vals[4] = x5;
6153  d.vals[5] = x6;
6154  d.vals[6] = x7;
6155  d.vals[7] = x8;
6156  d.vals[8] = x9;
6157  d.vals[9] = x10;
6158  d.vals[10] = x11;
6159  d.vals[11] = x12;
6160  d.vals[12] = x13;
6161  d.vals[13] = x14;
6162  d.vals[14] = x15;
6163  d.vals[15] = x16;
6164  d.vals[16] = x17;
6165  d.vals[17] = x18;
6166  d.vals[18] = x19;
6167  d.vals[19] = x20;
6168  d.vals[20] = x21;
6169  d.vals[21] = x22;
6170  d.vals[22] = x23;
6171  d.vals[23] = x24;
6172  d.vals[24] = x25;
6173  d.vals[25] = x26;
6174  d.vals[26] = x27;
6175  d.vals[27] = x28;
6176  d.vals[28] = x29;
6177  d.vals[29] = x30;
6178  d.vals[30] = x31;
6179  d.vals[31] = x32;
6180  d.vals[32] = x33;
6181  d.vals[33] = x34;
6182  d.vals[34] = x35;
6183  d.vals[35] = x36;
6184  d.vals[36] = x37;
6185  d.vals[37] = x38;
6186  d.vals[38] = x39;
6187  d.vals[39] = x40;
6188  d.vals[40] = x41;
6189  d.vals[41] = x42;
6190  d.vals[42] = x43;
6191  d.vals[43] = x44;
6192  d.vals[44] = x45;
6193  d.vals[45] = x46;
6194  d.vals[46] = x47;
6195  d.vals[47] = x48;
6196  d.vals[48] = x49;
6197  d.vals[49] = x50;
6198  d.vals[50] = x51;
6199  d.vals[51] = x52;
6200  d.vals[52] = x53;
6201  d.vals[53] = x54;
6202  d.vals[54] = x55;
6203  d.vals[55] = x56;
6204  d.vals[56] = x57;
6205  d.vals[57] = x58;
6206  d.vals[58] = x59;
6207  d.vals[59] = x60;
6208  d.vals[60] = x61;
6209  d.vals[61] = x62;
6210  d.vals[62] = x63;
6211  d.vals[63] = x64;
6212  d.vals[64] = x65;
6213  d.vals[65] = x66;
6214  d.vals[66] = x67;
6215  d.vals[67] = x68;
6216  d.vals[68] = x69;
6217  d.vals[69] = x70;
6218  d.vals[70] = x71;
6219  d.vals[71] = x72;
6220  d.vals[72] = x73;
6221  d.vals[73] = x74;
6222  d.vals[74] = x75;
6223  return d;
6224 }
6225 template<typename Precision> inline Operator<Internal::Data<75, Precision> > Data(const Precision& x1, const Precision& x2, const Precision& x3, const Precision& x4, const Precision& x5, const Precision& x6, const Precision& x7, const Precision& x8, const Precision& x9, const Precision& x10, const Precision& x11, const Precision& x12, const Precision& x13, const Precision& x14, const Precision& x15, const Precision& x16, const Precision& x17, const Precision& x18, const Precision& x19, const Precision& x20, const Precision& x21, const Precision& x22, const Precision& x23, const Precision& x24, const Precision& x25, const Precision& x26, const Precision& x27, const Precision& x28, const Precision& x29, const Precision& x30, const Precision& x31, const Precision& x32, const Precision& x33, const Precision& x34, const Precision& x35, const Precision& x36, const Precision& x37, const Precision& x38, const Precision& x39, const Precision& x40, const Precision& x41, const Precision& x42, const Precision& x43, const Precision& x44, const Precision& x45, const Precision& x46, const Precision& x47, const Precision& x48, const Precision& x49, const Precision& x50, const Precision& x51, const Precision& x52, const Precision& x53, const Precision& x54, const Precision& x55, const Precision& x56, const Precision& x57, const Precision& x58, const Precision& x59, const Precision& x60, const Precision& x61, const Precision& x62, const Precision& x63, const Precision& x64, const Precision& x65, const Precision& x66, const Precision& x67, const Precision& x68, const Precision& x69, const Precision& x70, const Precision& x71, const Precision& x72, const Precision& x73, const Precision& x74, const Precision& x75){
6227  d.vals[0] = x1;
6228  d.vals[1] = x2;
6229  d.vals[2] = x3;
6230  d.vals[3] = x4;
6231  d.vals[4] = x5;
6232  d.vals[5] = x6;
6233  d.vals[6] = x7;
6234  d.vals[7] = x8;
6235  d.vals[8] = x9;
6236  d.vals[9] = x10;
6237  d.vals[10] = x11;
6238  d.vals[11] = x12;
6239  d.vals[12] = x13;
6240  d.vals[13] = x14;
6241  d.vals[14] = x15;
6242  d.vals[15] = x16;
6243  d.vals[16] = x17;
6244  d.vals[17] = x18;
6245  d.vals[18] = x19;
6246  d.vals[19] = x20;
6247  d.vals[20] = x21;
6248  d.vals[21] = x22;
6249  d.vals[22] = x23;
6250  d.vals[23] = x24;
6251  d.vals[24] = x25;
6252  d.vals[25] = x26;
6253  d.vals[26] = x27;
6254  d.vals[27] = x28;
6255  d.vals[28] = x29;
6256  d.vals[29] = x30;
6257  d.vals[30] = x31;
6258  d.vals[31] = x32;
6259  d.vals[32] = x33;
6260  d.vals[33] = x34;
6261  d.vals[34] = x35;
6262  d.vals[35] = x36;
6263  d.vals[36] = x37;
6264  d.vals[37] = x38;
6265  d.vals[38] = x39;
6266  d.vals[39] = x40;
6267  d.vals[40] = x41;
6268  d.vals[41] = x42;
6269  d.vals[42] = x43;
6270  d.vals[43] = x44;
6271  d.vals[44] = x45;
6272  d.vals[45] = x46;
6273  d.vals[46] = x47;
6274  d.vals[47] = x48;
6275  d.vals[48] = x49;
6276  d.vals[49] = x50;
6277  d.vals[50] = x51;
6278  d.vals[51] = x52;
6279  d.vals[52] = x53;
6280  d.vals[53] = x54;
6281  d.vals[54] = x55;
6282  d.vals[55] = x56;
6283  d.vals[56] = x57;
6284  d.vals[57] = x58;
6285  d.vals[58] = x59;
6286  d.vals[59] = x60;
6287  d.vals[60] = x61;
6288  d.vals[61] = x62;
6289  d.vals[62] = x63;
6290  d.vals[63] = x64;
6291  d.vals[64] = x65;
6292  d.vals[65] = x66;
6293  d.vals[66] = x67;
6294  d.vals[67] = x68;
6295  d.vals[68] = x69;
6296  d.vals[69] = x70;
6297  d.vals[70] = x71;
6298  d.vals[71] = x72;
6299  d.vals[72] = x73;
6300  d.vals[73] = x74;
6301  d.vals[74] = x75;
6302  return d;
6303 }
6304 inline Operator<Internal::Data<76, double> > Data(double x1, double x2, double x3, double x4, double x5, double x6, double x7, double x8, double x9, double x10, double x11, double x12, double x13, double x14, double x15, double x16, double x17, double x18, double x19, double x20, double x21, double x22, double x23, double x24, double x25, double x26, double x27, double x28, double x29, double x30, double x31, double x32, double x33, double x34, double x35, double x36, double x37, double x38, double x39, double x40, double x41, double x42, double x43, double x44, double x45, double x46, double x47, double x48, double x49, double x50, double x51, double x52, double x53, double x54, double x55, double x56, double x57, double x58, double x59, double x60, double x61, double x62, double x63, double x64, double x65, double x66, double x67, double x68, double x69, double x70, double x71, double x72, double x73, double x74, double x75, double x76){
6306  d.vals[0] = x1;
6307  d.vals[1] = x2;
6308  d.vals[2] = x3;
6309  d.vals[3] = x4;
6310  d.vals[4] = x5;
6311  d.vals[5] = x6;
6312  d.vals[6] = x7;
6313  d.vals[7] = x8;
6314  d.vals[8] = x9;
6315  d.vals[9] = x10;
6316  d.vals[10] = x11;
6317  d.vals[11] = x12;
6318  d.vals[12] = x13;
6319  d.vals[13] = x14;
6320  d.vals[14] = x15;
6321  d.vals[15] = x16;
6322  d.vals[16] = x17;
6323  d.vals[17] = x18;
6324  d.vals[18] = x19;
6325  d.vals[19] = x20;
6326  d.vals[20] = x21;
6327  d.vals[21] = x22;
6328  d.vals[22] = x23;
6329  d.vals[23] = x24;
6330  d.vals[24] = x25;
6331  d.vals[25] = x26;
6332  d.vals[26] = x27;
6333  d.vals[27] = x28;
6334  d.vals[28] = x29;
6335  d.vals[29] = x30;
6336  d.vals[30] = x31;
6337  d.vals[31] = x32;
6338  d.vals[32] = x33;
6339  d.vals[33] = x34;
6340  d.vals[34] = x35;
6341  d.vals[35] = x36;
6342  d.vals[36] = x37;
6343  d.vals[37] = x38;
6344  d.vals[38] = x39;
6345  d.vals[39] = x40;
6346  d.vals[40] = x41;
6347  d.vals[41] = x42;
6348  d.vals[42] = x43;
6349  d.vals[43] = x44;
6350  d.vals[44] = x45;
6351  d.vals[45] = x46;
6352  d.vals[46] = x47;
6353  d.vals[47] = x48;
6354  d.vals[48] = x49;
6355  d.vals[49] = x50;
6356  d.vals[50] = x51;
6357  d.vals[51] = x52;
6358  d.vals[52] = x53;
6359  d.vals[53] = x54;
6360  d.vals[54] = x55;
6361  d.vals[55] = x56;
6362  d.vals[56] = x57;
6363  d.vals[57] = x58;
6364  d.vals[58] = x59;
6365  d.vals[59] = x60;
6366  d.vals[60] = x61;
6367  d.vals[61] = x62;
6368  d.vals[62] = x63;
6369  d.vals[63] = x64;
6370  d.vals[64] = x65;
6371  d.vals[65] = x66;
6372  d.vals[66] = x67;
6373  d.vals[67] = x68;
6374  d.vals[68] = x69;
6375  d.vals[69] = x70;
6376  d.vals[70] = x71;
6377  d.vals[71] = x72;
6378  d.vals[72] = x73;
6379  d.vals[73] = x74;
6380  d.vals[74] = x75;
6381  d.vals[75] = x76;
6382  return d;
6383 }
6384 template<typename Precision> inline Operator<Internal::Data<76, Precision> > Data(const Precision& x1, const Precision& x2, const Precision& x3, const Precision& x4, const Precision& x5, const Precision& x6, const Precision& x7, const Precision& x8, const Precision& x9, const Precision& x10, const Precision& x11, const Precision& x12, const Precision& x13, const Precision& x14, const Precision& x15, const Precision& x16, const Precision& x17, const Precision& x18, const Precision& x19, const Precision& x20, const Precision& x21, const Precision& x22, const Precision& x23, const Precision& x24, const Precision& x25, const Precision& x26, const Precision& x27, const Precision& x28, const Precision& x29, const Precision& x30, const Precision& x31, const Precision& x32, const Precision& x33, const Precision& x34, const Precision& x35, const Precision& x36, const Precision& x37, const Precision& x38, const Precision& x39, const Precision& x40, const Precision& x41, const Precision& x42, const Precision& x43, const Precision& x44, const Precision& x45, const Precision& x46, const Precision& x47, const Precision& x48, const Precision& x49, const Precision& x50, const Precision& x51, const Precision& x52, const Precision& x53, const Precision& x54, const Precision& x55, const Precision& x56, const Precision& x57, const Precision& x58, const Precision& x59, const Precision& x60, const Precision& x61, const Precision& x62, const Precision& x63, const Precision& x64, const Precision& x65, const Precision& x66, const Precision& x67, const Precision& x68, const Precision& x69, const Precision& x70, const Precision& x71, const Precision& x72, const Precision& x73, const Precision& x74, const Precision& x75, const Precision& x76){
6386  d.vals[0] = x1;
6387  d.vals[1] = x2;
6388  d.vals[2] = x3;
6389  d.vals[3] = x4;
6390  d.vals[4] = x5;
6391  d.vals[5] = x6;
6392  d.vals[6] = x7;
6393  d.vals[7] = x8;
6394  d.vals[8] = x9;
6395  d.vals[9] = x10;
6396  d.vals[10] = x11;
6397  d.vals[11] = x12;
6398  d.vals[12] = x13;
6399  d.vals[13] = x14;
6400  d.vals[14] = x15;
6401  d.vals[15] = x16;
6402  d.vals[16] = x17;
6403  d.vals[17] = x18;
6404  d.vals[18] = x19;
6405  d.vals[19] = x20;
6406  d.vals[20] = x21;
6407  d.vals[21] = x22;
6408  d.vals[22] = x23;
6409  d.vals[23] = x24;
6410  d.vals[24] = x25;
6411  d.vals[25] = x26;
6412  d.vals[26] = x27;
6413  d.vals[27] = x28;
6414  d.vals[28] = x29;
6415  d.vals[29] = x30;
6416  d.vals[30] = x31;
6417  d.vals[31] = x32;
6418  d.vals[32] = x33;
6419  d.vals[33] = x34;
6420  d.vals[34] = x35;
6421  d.vals[35] = x36;
6422  d.vals[36] = x37;
6423  d.vals[37] = x38;
6424  d.vals[38] = x39;
6425  d.vals[39] = x40;
6426  d.vals[40] = x41;
6427  d.vals[41] = x42;
6428  d.vals[42] = x43;
6429  d.vals[43] = x44;
6430  d.vals[44] = x45;
6431  d.vals[45] = x46;
6432  d.vals[46] = x47;
6433  d.vals[47] = x48;
6434  d.vals[48] = x49;
6435  d.vals[49] = x50;
6436  d.vals[50] = x51;
6437  d.vals[51] = x52;
6438  d.vals[52] = x53;
6439  d.vals[53] = x54;
6440  d.vals[54] = x55;
6441  d.vals[55] = x56;
6442  d.vals[56] = x57;
6443  d.vals[57] = x58;
6444  d.vals[58] = x59;
6445  d.vals[59] = x60;
6446  d.vals[60] = x61;
6447  d.vals[61] = x62;
6448  d.vals[62] = x63;
6449  d.vals[63] = x64;
6450  d.vals[64] = x65;
6451  d.vals[65] = x66;
6452  d.vals[66] = x67;
6453  d.vals[67] = x68;
6454  d.vals[68] = x69;
6455  d.vals[69] = x70;
6456  d.vals[70] = x71;
6457  d.vals[71] = x72;
6458  d.vals[72] = x73;
6459  d.vals[73] = x74;
6460  d.vals[74] = x75;
6461  d.vals[75] = x76;
6462  return d;
6463 }
6464 inline Operator<Internal::Data<77, double> > Data(double x1, double x2, double x3, double x4, double x5, double x6, double x7, double x8, double x9, double x10, double x11, double x12, double x13, double x14, double x15, double x16, double x17, double x18, double x19, double x20, double x21, double x22, double x23, double x24, double x25, double x26, double x27, double x28, double x29, double x30, double x31, double x32, double x33, double x34, double x35, double x36, double x37, double x38, double x39, double x40, double x41, double x42, double x43, double x44, double x45, double x46, double x47, double x48, double x49, double x50, double x51, double x52, double x53, double x54, double x55, double x56, double x57, double x58, double x59, double x60, double x61, double x62, double x63, double x64, double x65, double x66, double x67, double x68, double x69, double x70, double x71, double x72, double x73, double x74, double x75, double x76, double x77){
6466  d.vals[0] = x1;
6467  d.vals[1] = x2;
6468  d.vals[2] = x3;
6469  d.vals[3] = x4;
6470  d.vals[4] = x5;
6471  d.vals[5] = x6;
6472  d.vals[6] = x7;
6473  d.vals[7] = x8;
6474  d.vals[8] = x9;
6475  d.vals[9] = x10;
6476  d.vals[10] = x11;
6477  d.vals[11] = x12;
6478  d.vals[12] = x13;
6479  d.vals[13] = x14;
6480  d.vals[14] = x15;
6481  d.vals[15] = x16;
6482  d.vals[16] = x17;
6483  d.vals[17] = x18;
6484  d.vals[18] = x19;
6485  d.vals[19] = x20;
6486  d.vals[20] = x21;
6487  d.vals[21] = x22;
6488  d.vals[22] = x23;
6489  d.vals[23] = x24;
6490  d.vals[24] = x25;
6491  d.vals[25] = x26;
6492  d.vals[26] = x27;
6493  d.vals[27] = x28;
6494  d.vals[28] = x29;
6495  d.vals[29] = x30;
6496  d.vals[30] = x31;
6497  d.vals[31] = x32;
6498  d.vals[32] = x33;
6499  d.vals[33] = x34;
6500  d.vals[34] = x35;
6501  d.vals[35] = x36;
6502  d.vals[36] = x37;
6503  d.vals[37] = x38;
6504  d.vals[38] = x39;
6505  d.vals[39] = x40;
6506  d.vals[40] = x41;
6507  d.vals[41] = x42;
6508  d.vals[42] = x43;
6509  d.vals[43] = x44;
6510  d.vals[44] = x45;
6511  d.vals[45] = x46;
6512  d.vals[46] = x47;
6513  d.vals[47] = x48;
6514  d.vals[48] = x49;
6515  d.vals[49] = x50;
6516  d.vals[50] = x51;
6517  d.vals[51] = x52;
6518  d.vals[52] = x53;
6519  d.vals[53] = x54;
6520  d.vals[54] = x55;
6521  d.vals[55] = x56;
6522  d.vals[56] = x57;
6523  d.vals[57] = x58;
6524  d.vals[58] = x59;
6525  d.vals[59] = x60;
6526  d.vals[60] = x61;
6527  d.vals[61] = x62;
6528  d.vals[62] = x63;
6529  d.vals[63] = x64;
6530  d.vals[64] = x65;
6531  d.vals[65] = x66;
6532  d.vals[66] = x67;
6533  d.vals[67] = x68;
6534  d.vals[68] = x69;
6535  d.vals[69] = x70;
6536  d.vals[70] = x71;
6537  d.vals[71] = x72;
6538  d.vals[72] = x73;
6539  d.vals[73] = x74;
6540  d.vals[74] = x75;
6541  d.vals[75] = x76;
6542  d.vals[76] = x77;
6543  return d;
6544 }
6545 template<typename Precision> inline Operator<Internal::Data<77, Precision> > Data(const Precision& x1, const Precision& x2, const Precision& x3, const Precision& x4, const Precision& x5, const Precision& x6, const Precision& x7, const Precision& x8, const Precision& x9, const Precision& x10, const Precision& x11, const Precision& x12, const Precision& x13, const Precision& x14, const Precision& x15, const Precision& x16, const Precision& x17, const Precision& x18, const Precision& x19, const Precision& x20, const Precision& x21, const Precision& x22, const Precision& x23, const Precision& x24, const Precision& x25, const Precision& x26, const Precision& x27, const Precision& x28, const Precision& x29, const Precision& x30, const Precision& x31, const Precision& x32, const Precision& x33, const Precision& x34, const Precision& x35, const Precision& x36, const Precision& x37, const Precision& x38, const Precision& x39, const Precision& x40, const Precision& x41, const Precision& x42, const Precision& x43, const Precision& x44, const Precision& x45, const Precision& x46, const Precision& x47, const Precision& x48, const Precision& x49, const Precision& x50, const Precision& x51, const Precision& x52, const Precision& x53, const Precision& x54, const Precision& x55, const Precision& x56, const Precision& x57, const Precision& x58, const Precision& x59, const Precision& x60, const Precision& x61, const Precision& x62, const Precision& x63, const Precision& x64, const Precision& x65, const Precision& x66, const Precision& x67, const Precision& x68, const Precision& x69, const Precision& x70, const Precision& x71, const Precision& x72, const Precision& x73, const Precision& x74, const Precision& x75, const Precision& x76, const Precision& x77){
6547  d.vals[0] = x1;
6548  d.vals[1] = x2;
6549  d.vals[2] = x3;
6550  d.vals[3] = x4;
6551  d.vals[4] = x5;
6552  d.vals[5] = x6;
6553  d.vals[6] = x7;
6554  d.vals[7] = x8;
6555  d.vals[8] = x9;
6556  d.vals[9] = x10;
6557  d.vals[10] = x11;
6558  d.vals[11] = x12;
6559  d.vals[12] = x13;
6560  d.vals[13] = x14;
6561  d.vals[14] = x15;
6562  d.vals[15] = x16;
6563  d.vals[16] = x17;
6564  d.vals[17] = x18;
6565  d.vals[18] = x19;
6566  d.vals[19] = x20;
6567  d.vals[20] = x21;
6568  d.vals[21] = x22;
6569  d.vals[22] = x23;
6570  d.vals[23] = x24;
6571  d.vals[24] = x25;
6572  d.vals[25] = x26;
6573  d.vals[26] = x27;
6574  d.vals[27] = x28;
6575  d.vals[28] = x29;
6576  d.vals[29] = x30;
6577  d.vals[30] = x31;
6578  d.vals[31] = x32;
6579  d.vals[32] = x33;
6580  d.vals[33] = x34;
6581  d.vals[34] = x35;
6582  d.vals[35] = x36;
6583  d.vals[36] = x37;
6584  d.vals[37] = x38;
6585  d.vals[38] = x39;
6586  d.vals[39] = x40;
6587  d.vals[40] = x41;
6588  d.vals[41] = x42;
6589  d.vals[42] = x43;
6590  d.vals[43] = x44;
6591  d.vals[44] = x45;
6592  d.vals[45] = x46;
6593  d.vals[46] = x47;
6594  d.vals[47] = x48;
6595  d.vals[48] = x49;
6596  d.vals[49] = x50;
6597  d.vals[50] = x51;
6598  d.vals[51] = x52;
6599  d.vals[52] = x53;
6600  d.vals[53] = x54;
6601  d.vals[54] = x55;
6602  d.vals[55] = x56;
6603  d.vals[56] = x57;
6604  d.vals[57] = x58;
6605  d.vals[58] = x59;
6606  d.vals[59] = x60;
6607  d.vals[60] = x61;
6608  d.vals[61] = x62;
6609  d.vals[62] = x63;
6610  d.vals[63] = x64;
6611  d.vals[64] = x65;
6612  d.vals[65] = x66;
6613  d.vals[66] = x67;
6614  d.vals[67] = x68;
6615  d.vals[68] = x69;
6616  d.vals[69] = x70;
6617  d.vals[70] = x71;
6618  d.vals[71] = x72;
6619  d.vals[72] = x73;
6620  d.vals[73] = x74;
6621  d.vals[74] = x75;
6622  d.vals[75] = x76;
6623  d.vals[76] = x77;
6624  return d;
6625 }
6626 inline Operator<Internal::Data<78, double> > Data(double x1, double x2, double x3, double x4, double x5, double x6, double x7, double x8, double x9, double x10, double x11, double x12, double x13, double x14, double x15, double x16, double x17, double x18, double x19, double x20, double x21, double x22, double x23, double x24, double x25, double x26, double x27, double x28, double x29, double x30, double x31, double x32, double x33, double x34, double x35, double x36, double x37, double x38, double x39, double x40, double x41, double x42, double x43, double x44, double x45, double x46, double x47, double x48, double x49, double x50, double x51, double x52, double x53, double x54, double x55, double x56, double x57, double x58, double x59, double x60, double x61, double x62, double x63, double x64, double x65, double x66, double x67, double x68, double x69, double x70, double x71, double x72, double x73, double x74, double x75, double x76, double x77, double x78){
6628  d.vals[0] = x1;
6629  d.vals[1] = x2;
6630  d.vals[2] = x3;
6631  d.vals[3] = x4;
6632  d.vals[4] = x5;
6633  d.vals[5] = x6;
6634  d.vals[6] = x7;
6635  d.vals[7] = x8;
6636  d.vals[8] = x9;
6637  d.vals[9] = x10;
6638  d.vals[10] = x11;
6639  d.vals[11] = x12;
6640  d.vals[12] = x13;
6641  d.vals[13] = x14;
6642  d.vals[14] = x15;
6643  d.vals[15] = x16;
6644  d.vals[16] = x17;
6645  d.vals[17] = x18;
6646  d.vals[18] = x19;
6647  d.vals[19] = x20;
6648  d.vals[20] = x21;
6649  d.vals[21] = x22;
6650  d.vals[22] = x23;
6651  d.vals[23] = x24;
6652  d.vals[24] = x25;
6653  d.vals[25] = x26;
6654  d.vals[26] = x27;
6655  d.vals[27] = x28;
6656  d.vals[28] = x29;
6657  d.vals[29] = x30;
6658  d.vals[30] = x31;
6659  d.vals[31] = x32;
6660  d.vals[32] = x33;
6661  d.vals[33] = x34;
6662  d.vals[34] = x35;
6663  d.vals[35] = x36;
6664  d.vals[36] = x37;
6665  d.vals[37] = x38;
6666  d.vals[38] = x39;
6667  d.vals[39] = x40;
6668  d.vals[40] = x41;
6669  d.vals[41] = x42;
6670  d.vals[42] = x43;
6671  d.vals[43] = x44;
6672  d.vals[44] = x45;
6673  d.vals[45] = x46;
6674  d.vals[46] = x47;
6675  d.vals[47] = x48;
6676  d.vals[48] = x49;
6677  d.vals[49] = x50;
6678  d.vals[50] = x51;
6679  d.vals[51] = x52;
6680  d.vals[52] = x53;
6681  d.vals[53] = x54;
6682  d.vals[54] = x55;
6683  d.vals[55] = x56;
6684  d.vals[56] = x57;
6685  d.vals[57] = x58;
6686  d.vals[58] = x59;
6687  d.vals[59] = x60;
6688  d.vals[60] = x61;
6689  d.vals[61] = x62;
6690  d.vals[62] = x63;
6691  d.vals[63] = x64;
6692  d.vals[64] = x65;
6693  d.vals[65] = x66;
6694  d.vals[66] = x67;
6695  d.vals[67] = x68;
6696  d.vals[68] = x69;
6697  d.vals[69] = x70;
6698  d.vals[70] = x71;
6699  d.vals[71] = x72;
6700  d.vals[72] = x73;
6701  d.vals[73] = x74;
6702  d.vals[74] = x75;
6703  d.vals[75] = x76;
6704  d.vals[76] = x77;
6705  d.vals[77] = x78;
6706  return d;
6707 }
6708 template<typename Precision> inline Operator<Internal::Data<78, Precision> > Data(const Precision& x1, const Precision& x2, const Precision& x3, const Precision& x4, const Precision& x5, const Precision& x6, const Precision& x7, const Precision& x8, const Precision& x9, const Precision& x10, const Precision& x11, const Precision& x12, const Precision& x13, const Precision& x14, const Precision& x15, const Precision& x16, const Precision& x17, const Precision& x18, const Precision& x19, const Precision& x20, const Precision& x21, const Precision& x22, const Precision& x23, const Precision& x24, const Precision& x25, const Precision& x26, const Precision& x27, const Precision& x28, const Precision& x29, const Precision& x30, const Precision& x31, const Precision& x32, const Precision& x33, const Precision& x34, const Precision& x35, const Precision& x36, const Precision& x37, const Precision& x38, const Precision& x39, const Precision& x40, const Precision& x41, const Precision& x42, const Precision& x43, const Precision& x44, const Precision& x45, const Precision& x46, const Precision& x47, const Precision& x48, const Precision& x49, const Precision& x50, const Precision& x51, const Precision& x52, const Precision& x53, const Precision& x54, const Precision& x55, const Precision& x56, const Precision& x57, const Precision& x58, const Precision& x59, const Precision& x60, const Precision& x61, const Precision& x62, const Precision& x63, const Precision& x64, const Precision& x65, const Precision& x66, const Precision& x67, const Precision& x68, const Precision& x69, const Precision& x70, const Precision& x71, const Precision& x72, const Precision& x73, const Precision& x74, const Precision& x75, const Precision& x76, const Precision& x77, const Precision& x78){
6710  d.vals[0] = x1;
6711  d.vals[1] = x2;
6712  d.vals[2] = x3;
6713  d.vals[3] = x4;
6714  d.vals[4] = x5;
6715  d.vals[5] = x6;
6716  d.vals[6] = x7;
6717  d.vals[7] = x8;
6718  d.vals[8] = x9;
6719  d.vals[9] = x10;
6720  d.vals[10] = x11;
6721  d.vals[11] = x12;
6722  d.vals[12] = x13;
6723  d.vals[13] = x14;
6724  d.vals[14] = x15;
6725  d.vals[15] = x16;
6726  d.vals[16] = x17;
6727  d.vals[17] = x18;
6728  d.vals[18] = x19;
6729  d.vals[19] = x20;
6730  d.vals[20] = x21;
6731  d.vals[21] = x22;
6732  d.vals[22] = x23;
6733  d.vals[23] = x24;
6734  d.vals[24] = x25;
6735  d.vals[25] = x26;
6736  d.vals[26] = x27;
6737  d.vals[27] = x28;
6738  d.vals[28] = x29;
6739  d.vals[29] = x30;
6740  d.vals[30] = x31;
6741  d.vals[31] = x32;
6742  d.vals[32] = x33;
6743  d.vals[33] = x34;
6744  d.vals[34] = x35;
6745  d.vals[35] = x36;
6746  d.vals[36] = x37;
6747  d.vals[37] = x38;
6748  d.vals[38] = x39;
6749  d.vals[39] = x40;
6750  d.vals[40] = x41;
6751  d.vals[41] = x42;
6752  d.vals[42] = x43;
6753  d.vals[43] = x44;
6754  d.vals[44] = x45;
6755  d.vals[45] = x46;
6756  d.vals[46] = x47;
6757  d.vals[47] = x48;
6758  d.vals[48] = x49;
6759  d.vals[49] = x50;
6760  d.vals[50] = x51;
6761  d.vals[51] = x52;
6762  d.vals[52] = x53;
6763  d.vals[53] = x54;
6764  d.vals[54] = x55;
6765  d.vals[55] = x56;
6766  d.vals[56] = x57;
6767  d.vals[57] = x58;
6768  d.vals[58] = x59;
6769  d.vals[59] = x60;
6770  d.vals[60] = x61;
6771  d.vals[61] = x62;
6772  d.vals[62] = x63;
6773  d.vals[63] = x64;
6774  d.vals[64] = x65;
6775  d.vals[65] = x66;
6776  d.vals[66] = x67;
6777  d.vals[67] = x68;
6778  d.vals[68] = x69;
6779  d.vals[69] = x70;
6780  d.vals[70] = x71;
6781  d.vals[71] = x72;
6782  d.vals[72] = x73;
6783  d.vals[73] = x74;
6784  d.vals[74] = x75;
6785  d.vals[75] = x76;
6786  d.vals[76] = x77;
6787  d.vals[77] = x78;
6788  return d;
6789 }
6790 inline Operator<Internal::Data<79, double> > Data(double x1, double x2, double x3, double x4, double x5, double x6, double x7, double x8, double x9, double x10, double x11, double x12, double x13, double x14, double x15, double x16, double x17, double x18, double x19, double x20, double x21, double x22, double x23, double x24, double x25, double x26, double x27, double x28, double x29, double x30, double x31, double x32, double x33, double x34, double x35, double x36, double x37, double x38, double x39, double x40, double x41, double x42, double x43, double x44, double x45, double x46, double x47, double x48, double x49, double x50, double x51, double x52, double x53, double x54, double x55, double x56, double x57, double x58, double x59, double x60, double x61, double x62, double x63, double x64, double x65, double x66, double x67, double x68, double x69, double x70, double x71, double x72, double x73, double x74, double x75, double x76, double x77, double x78, double x79){
6792  d.vals[0] = x1;
6793  d.vals[1] = x2;
6794  d.vals[2] = x3;
6795  d.vals[3] = x4;
6796  d.vals[4] = x5;
6797  d.vals[5] = x6;
6798  d.vals[6] = x7;
6799  d.vals[7] = x8;
6800  d.vals[8] = x9;
6801  d.vals[9] = x10;
6802  d.vals[10] = x11;
6803  d.vals[11] = x12;
6804  d.vals[12] = x13;
6805  d.vals[13] = x14;
6806  d.vals[14] = x15;
6807  d.vals[15] = x16;
6808  d.vals[16] = x17;
6809  d.vals[17] = x18;
6810  d.vals[18] = x19;
6811  d.vals[19] = x20;
6812  d.vals[20] = x21;
6813  d.vals[21] = x22;
6814  d.vals[22] = x23;
6815  d.vals[23] = x24;
6816  d.vals[24] = x25;
6817  d.vals[25] = x26;
6818  d.vals[26] = x27;
6819  d.vals[27] = x28;
6820  d.vals[28] = x29;
6821  d.vals[29] = x30;
6822  d.vals[30] = x31;
6823  d.vals[31] = x32;
6824  d.vals[32] = x33;
6825  d.vals[33] = x34;
6826  d.vals[34] = x35;
6827  d.vals[35] = x36;
6828  d.vals[36] = x37;
6829  d.vals[37] = x38;
6830  d.vals[38] = x39;
6831  d.vals[39] = x40;
6832  d.vals[40] = x41;
6833  d.vals[41] = x42;
6834  d.vals[42] = x43;
6835  d.vals[43] = x44;
6836  d.vals[44] = x45;
6837  d.vals[45] = x46;
6838  d.vals[46] = x47;
6839  d.vals[47] = x48;
6840  d.vals[48] = x49;
6841  d.vals[49] = x50;
6842  d.vals[50] = x51;
6843  d.vals[51] = x52;
6844  d.vals[52] = x53;
6845  d.vals[53] = x54;
6846  d.vals[54] = x55;
6847  d.vals[55] = x56;
6848  d.vals[56] = x57;
6849  d.vals[57] = x58;
6850  d.vals[58] = x59;
6851  d.vals[59] = x60;
6852  d.vals[60] = x61;
6853  d.vals[61] = x62;
6854  d.vals[62] = x63;
6855  d.vals[63] = x64;
6856  d.vals[64] = x65;
6857  d.vals[65] = x66;
6858  d.vals[66] = x67;
6859  d.vals[67] = x68;
6860  d.vals[68] = x69;
6861  d.vals[69] = x70;
6862  d.vals[70] = x71;
6863  d.vals[71] = x72;
6864  d.vals[72] = x73;
6865  d.vals[73] = x74;
6866  d.vals[74] = x75;
6867  d.vals[75] = x76;
6868  d.vals[76] = x77;
6869  d.vals[77] = x78;
6870  d.vals[78] = x79;
6871  return d;
6872 }
6873 template<typename Precision> inline Operator<Internal::Data<79, Precision> > Data(const Precision& x1, const Precision& x2, const Precision& x3, const Precision& x4, const Precision& x5, const Precision& x6, const Precision& x7, const Precision& x8, const Precision& x9, const Precision& x10, const Precision& x11, const Precision& x12, const Precision& x13, const Precision& x14, const Precision& x15, const Precision& x16, const Precision& x17, const Precision& x18, const Precision& x19, const Precision& x20, const Precision& x21, const Precision& x22, const Precision& x23, const Precision& x24, const Precision& x25, const Precision& x26, const Precision& x27, const Precision& x28, const Precision& x29, const Precision& x30, const Precision& x31, const Precision& x32, const Precision& x33, const Precision& x34, const Precision& x35, const Precision& x36, const Precision& x37, const Precision& x38, const Precision& x39, const Precision& x40, const Precision& x41, const Precision& x42, const Precision& x43, const Precision& x44, const Precision& x45, const Precision& x46, const Precision& x47, const Precision& x48, const Precision& x49, const Precision& x50, const Precision& x51, const Precision& x52, const Precision& x53, const Precision& x54, const Precision& x55, const Precision& x56, const Precision& x57, const Precision& x58, const Precision& x59, const Precision& x60, const Precision& x61, const Precision& x62, const Precision& x63, const Precision& x64, const Precision& x65, const Precision& x66, const Precision& x67, const Precision& x68, const Precision& x69, const Precision& x70, const Precision& x71, const Precision& x72, const Precision& x73, const Precision& x74, const Precision& x75, const Precision& x76, const Precision& x77, const Precision& x78, const Precision& x79){
6875  d.vals[0] = x1;
6876  d.vals[1] = x2;
6877  d.vals[2] = x3;
6878  d.vals[3] = x4;
6879  d.vals[4] = x5;
6880  d.vals[5] = x6;
6881  d.vals[6] = x7;
6882  d.vals[7] = x8;
6883  d.vals[8] = x9;
6884  d.vals[9] = x10;
6885  d.vals[10] = x11;
6886  d.vals[11] = x12;
6887  d.vals[12] = x13;
6888  d.vals[13] = x14;
6889  d.vals[14] = x15;
6890  d.vals[15] = x16;
6891  d.vals[16] = x17;
6892  d.vals[17] = x18;
6893  d.vals[18] = x19;
6894  d.vals[19] = x20;
6895  d.vals[20] = x21;
6896  d.vals[21] = x22;
6897  d.vals[22] = x23;
6898  d.vals[23] = x24;
6899  d.vals[24] = x25;
6900  d.vals[25] = x26;
6901  d.vals[26] = x27;
6902  d.vals[27] = x28;
6903  d.vals[28] = x29;
6904  d.vals[29] = x30;
6905  d.vals[30] = x31;
6906  d.vals[31] = x32;
6907  d.vals[32] = x33;
6908  d.vals[33] = x34;
6909  d.vals[34] = x35;
6910  d.vals[35] = x36;
6911  d.vals[36] = x37;
6912  d.vals[37] = x38;
6913  d.vals[38] = x39;
6914  d.vals[39] = x40;
6915  d.vals[40] = x41;
6916  d.vals[41] = x42;
6917  d.vals[42] = x43;
6918  d.vals[43] = x44;
6919  d.vals[44] = x45;
6920  d.vals[45] = x46;
6921  d.vals[46] = x47;
6922  d.vals[47] = x48;
6923  d.vals[48] = x49;
6924  d.vals[49] = x50;
6925  d.vals[50] = x51;
6926  d.vals[51] = x52;
6927  d.vals[52] = x53;
6928  d.vals[53] = x54;
6929  d.vals[54] = x55;
6930  d.vals[55] = x56;
6931  d.vals[56] = x57;
6932  d.vals[57] = x58;
6933  d.vals[58] = x59;
6934  d.vals[59] = x60;
6935  d.vals[60] = x61;
6936  d.vals[61] = x62;
6937  d.vals[62] = x63;
6938  d.vals[63] = x64;
6939  d.vals[64] = x65;
6940  d.vals[65] = x66;
6941  d.vals[66] = x67;
6942  d.vals[67] = x68;
6943  d.vals[68] = x69;
6944  d.vals[69] = x70;
6945  d.vals[70] = x71;
6946  d.vals[71] = x72;
6947  d.vals[72] = x73;
6948  d.vals[73] = x74;
6949  d.vals[74] = x75;
6950  d.vals[75] = x76;
6951  d.vals[76] = x77;
6952  d.vals[77] = x78;
6953  d.vals[78] = x79;
6954  return d;
6955 }
6956 inline Operator<Internal::Data<80, double> > Data(double x1, double x2, double x3, double x4, double x5, double x6, double x7, double x8, double x9, double x10, double x11, double x12, double x13, double x14, double x15, double x16, double x17, double x18, double x19, double x20, double x21, double x22, double x23, double x24, double x25, double x26, double x27, double x28, double x29, double x30, double x31, double x32, double x33, double x34, double x35, double x36, double x37, double x38, double x39, double x40, double x41, double x42, double x43, double x44, double x45, double x46, double x47, double x48, double x49, double x50, double x51, double x52, double x53, double x54, double x55, double x56, double x57, double x58, double x59, double x60, double x61, double x62, double x63, double x64, double x65, double x66, double x67, double x68, double x69, double x70, double x71, double x72, double x73, double x74, double x75, double x76, double x77, double x78, double x79, double x80){
6958  d.vals[0] = x1;
6959  d.vals[1] = x2;
6960  d.vals[2] = x3;
6961  d.vals[3] = x4;
6962  d.vals[4] = x5;
6963  d.vals[5] = x6;
6964  d.vals[6] = x7;
6965  d.vals[7] = x8;
6966  d.vals[8] = x9;
6967  d.vals[9] = x10;
6968  d.vals[10] = x11;
6969  d.vals[11] = x12;
6970  d.vals[12] = x13;
6971  d.vals[13] = x14;
6972  d.vals[14] = x15;
6973  d.vals[15] = x16;
6974  d.vals[16] = x17;
6975  d.vals[17] = x18;
6976  d.vals[18] = x19;
6977  d.vals[19] = x20;
6978  d.vals[20] = x21;
6979  d.vals[21] = x22;
6980  d.vals[22] = x23;
6981  d.vals[23] = x24;
6982  d.vals[24] = x25;
6983  d.vals[25] = x26;
6984  d.vals[26] = x27;
6985  d.vals[27] = x28;
6986  d.vals[28] = x29;
6987  d.vals[29] = x30;
6988  d.vals[30] = x31;
6989  d.vals[31] = x32;
6990  d.vals[32] = x33;
6991  d.vals[33] = x34;
6992  d.vals[34] = x35;
6993  d.vals[35] = x36;
6994  d.vals[36] = x37;
6995  d.vals[37] = x38;
6996  d.vals[38] = x39;
6997  d.vals[39] = x40;
6998  d.vals[40] = x41;
6999  d.vals[41] = x42;
7000  d.vals[42] = x43;
7001  d.vals[43] = x44;
7002  d.vals[44] = x45;
7003  d.vals[45] = x46;
7004  d.vals[46] = x47;
7005  d.vals[47] = x48;
7006  d.vals[48] = x49;
7007  d.vals[49] = x50;
7008  d.vals[50] = x51;
7009  d.vals[51] = x52;
7010  d.vals[52] = x53;
7011  d.vals[53] = x54;
7012  d.vals[54] = x55;
7013  d.vals[55] = x56;
7014  d.vals[56] = x57;
7015  d.vals[57] = x58;
7016  d.vals[58] = x59;
7017  d.vals[59] = x60;
7018  d.vals[60] = x61;
7019  d.vals[61] = x62;
7020  d.vals[62] = x63;
7021  d.vals[63] = x64;
7022  d.vals[64] = x65;
7023  d.vals[65] = x66;
7024  d.vals[66] = x67;
7025  d.vals[67] = x68;
7026  d.vals[68] = x69;
7027  d.vals[69] = x70;
7028  d.vals[70] = x71;
7029  d.vals[71] = x72;
7030  d.vals[72] = x73;
7031  d.vals[73] = x74;
7032  d.vals[74] = x75;
7033  d.vals[75] = x76;
7034  d.vals[76] = x77;
7035  d.vals[77] = x78;
7036  d.vals[78] = x79;
7037  d.vals[79] = x80;
7038  return d;
7039 }
7040 template<typename Precision> inline Operator<Internal::Data<80, Precision> > Data(const Precision& x1, const Precision& x2, const Precision& x3, const Precision& x4, const Precision& x5, const Precision& x6, const Precision& x7, const Precision& x8, const Precision& x9, const Precision& x10, const Precision& x11, const Precision& x12, const Precision& x13, const Precision& x14, const Precision& x15, const Precision& x16, const Precision& x17, const Precision& x18, const Precision& x19, const Precision& x20, const Precision& x21, const Precision& x22, const Precision& x23, const Precision& x24, const Precision& x25, const Precision& x26, const Precision& x27, const Precision& x28, const Precision& x29, const Precision& x30, const Precision& x31, const Precision& x32, const Precision& x33, const Precision& x34, const Precision& x35, const Precision& x36, const Precision& x37, const Precision& x38, const Precision& x39, const Precision& x40, const Precision& x41, const Precision& x42, const Precision& x43, const Precision& x44, const Precision& x45, const Precision& x46, const Precision& x47, const Precision& x48, const Precision& x49, const Precision& x50, const Precision& x51, const Precision& x52, const Precision& x53, const Precision& x54, const Precision& x55, const Precision& x56, const Precision& x57, const Precision& x58, const Precision& x59, const Precision& x60, const Precision& x61, const Precision& x62, const Precision& x63, const Precision& x64, const Precision& x65, const Precision& x66, const Precision& x67, const Precision& x68, const Precision& x69, const Precision& x70, const Precision& x71, const Precision& x72, const Precision& x73, const Precision& x74, const Precision& x75, const Precision& x76, const Precision& x77, const Precision& x78, const Precision& x79, const Precision& x80){
7042  d.vals[0] = x1;
7043  d.vals[1] = x2;
7044  d.vals[2] = x3;
7045  d.vals[3] = x4;
7046  d.vals[4] = x5;
7047  d.vals[5] = x6;
7048  d.vals[6] = x7;
7049  d.vals[7] = x8;
7050  d.vals[8] = x9;
7051  d.vals[9] = x10;
7052  d.vals[10] = x11;
7053  d.vals[11] = x12;
7054  d.vals[12] = x13;
7055  d.vals[13] = x14;
7056  d.vals[14] = x15;
7057  d.vals[15] = x16;
7058  d.vals[16] = x17;
7059  d.vals[17] = x18;
7060  d.vals[18] = x19;
7061  d.vals[19] = x20;
7062  d.vals[20] = x21;
7063  d.vals[21] = x22;
7064  d.vals[22] = x23;
7065  d.vals[23] = x24;
7066  d.vals[24] = x25;
7067  d.vals[25] = x26;
7068  d.vals[26] = x27;
7069  d.vals[27] = x28;
7070  d.vals[28] = x29;
7071  d.vals[29] = x30;
7072  d.vals[30] = x31;
7073  d.vals[31] = x32;
7074  d.vals[32] = x33;
7075  d.vals[33] = x34;
7076  d.vals[34] = x35;
7077  d.vals[35] = x36;
7078  d.vals[36] = x37;
7079  d.vals[37] = x38;
7080  d.vals[38] = x39;
7081  d.vals[39] = x40;
7082  d.vals[40] = x41;
7083  d.vals[41] = x42;
7084  d.vals[42] = x43;
7085  d.vals[43] = x44;
7086  d.vals[44] = x45;
7087  d.vals[45] = x46;
7088  d.vals[46] = x47;
7089  d.vals[47] = x48;
7090  d.vals[48] = x49;
7091  d.vals[49] = x50;
7092  d.vals[50] = x51;
7093  d.vals[51] = x52;
7094  d.vals[52] = x53;
7095  d.vals[53] = x54;
7096  d.vals[54] = x55;
7097  d.vals[55] = x56;
7098  d.vals[56] = x57;
7099  d.vals[57] = x58;
7100  d.vals[58] = x59;
7101  d.vals[59] = x60;
7102  d.vals[60] = x61;
7103  d.vals[61] = x62;
7104  d.vals[62] = x63;
7105  d.vals[63] = x64;
7106  d.vals[64] = x65;
7107  d.vals[65] = x66;
7108  d.vals[66] = x67;
7109  d.vals[67] = x68;
7110  d.vals[68] = x69;
7111  d.vals[69] = x70;
7112  d.vals[70] = x71;
7113  d.vals[71] = x72;
7114  d.vals[72] = x73;
7115  d.vals[73] = x74;
7116  d.vals[74] = x75;
7117  d.vals[75] = x76;
7118  d.vals[76] = x77;
7119  d.vals[77] = x78;
7120  d.vals[78] = x79;
7121  d.vals[79] = x80;
7122  return d;
7123 }
7124 inline Operator<Internal::Data<81, double> > Data(double x1, double x2, double x3, double x4, double x5, double x6, double x7, double x8, double x9, double x10, double x11, double x12, double x13, double x14, double x15, double x16, double x17, double x18, double x19, double x20, double x21, double x22, double x23, double x24, double x25, double x26, double x27, double x28, double x29, double x30, double x31, double x32, double x33, double x34, double x35, double x36, double x37, double x38, double x39, double x40, double x41, double x42, double x43, double x44, double x45, double x46, double x47, double x48, double x49, double x50, double x51, double x52, double x53, double x54, double x55, double x56, double x57, double x58, double x59, double x60, double x61, double x62, double x63, double x64, double x65, double x66, double x67, double x68, double x69, double x70, double x71, double x72, double x73, double x74, double x75, double x76, double x77, double x78, double x79, double x80, double x81){
7126  d.vals[0] = x1;
7127  d.vals[1] = x2;
7128  d.vals[2] = x3;
7129  d.vals[3] = x4;
7130  d.vals[4] = x5;
7131  d.vals[5] = x6;
7132  d.vals[6] = x7;
7133  d.vals[7] = x8;
7134  d.vals[8] = x9;
7135  d.vals[9] = x10;
7136  d.vals[10] = x11;
7137  d.vals[11] = x12;
7138  d.vals[12] = x13;
7139  d.vals[13] = x14;
7140  d.vals[14] = x15;
7141  d.vals[15] = x16;
7142  d.vals[16] = x17;
7143  d.vals[17] = x18;
7144  d.vals[18] = x19;
7145  d.vals[19] = x20;
7146  d.vals[20] = x21;
7147  d.vals[21] = x22;
7148  d.vals[22] = x23;
7149  d.vals[23] = x24;
7150  d.vals[24] = x25;
7151  d.vals[25] = x26;
7152  d.vals[26] = x27;
7153  d.vals[27] = x28;
7154  d.vals[28] = x29;
7155  d.vals[29] = x30;
7156  d.vals[30] = x31;
7157  d.vals[31] = x32;
7158  d.vals[32] = x33;
7159  d.vals[33] = x34;
7160  d.vals[34] = x35;
7161  d.vals[35] = x36;
7162  d.vals[36] = x37;
7163  d.vals[37] = x38;
7164  d.vals[38] = x39;
7165  d.vals[39] = x40;
7166  d.vals[40] = x41;
7167  d.vals[41] = x42;
7168  d.vals[42] = x43;
7169  d.vals[43] = x44;
7170  d.vals[44] = x45;
7171  d.vals[45] = x46;
7172  d.vals[46] = x47;
7173  d.vals[47] = x48;
7174  d.vals[48] = x49;
7175  d.vals[49] = x50;
7176  d.vals[50] = x51;
7177  d.vals[51] = x52;
7178  d.vals[52] = x53;
7179  d.vals[53] = x54;
7180  d.vals[54] = x55;
7181  d.vals[55] = x56;
7182  d.vals[56] = x57;
7183  d.vals[57] = x58;
7184  d.vals[58] = x59;
7185  d.vals[59] = x60;
7186  d.vals[60] = x61;
7187  d.vals[61] = x62;
7188  d.vals[62] = x63;
7189  d.vals[63] = x64;
7190  d.vals[64] = x65;
7191  d.vals[65] = x66;
7192  d.vals[66] = x67;
7193  d.vals[67] = x68;
7194  d.vals[68] = x69;
7195  d.vals[69] = x70;
7196  d.vals[70] = x71;
7197  d.vals[71] = x72;
7198  d.vals[72] = x73;
7199  d.vals[73] = x74;
7200  d.vals[74] = x75;
7201  d.vals[75] = x76;
7202  d.vals[76] = x77;
7203  d.vals[77] = x78;
7204  d.vals[78] = x79;
7205  d.vals[79] = x80;
7206  d.vals[80] = x81;
7207  return d;
7208 }
7209 template<typename Precision> inline Operator<Internal::Data<81, Precision> > Data(const Precision& x1, const Precision& x2, const Precision& x3, const Precision& x4, const Precision& x5, const Precision& x6, const Precision& x7, const Precision& x8, const Precision& x9, const Precision& x10, const Precision& x11, const Precision& x12, const Precision& x13, const Precision& x14, const Precision& x15, const Precision& x16, const Precision& x17, const Precision& x18, const Precision& x19, const Precision& x20, const Precision& x21, const Precision& x22, const Precision& x23, const Precision& x24, const Precision& x25, const Precision& x26, const Precision& x27, const Precision& x28, const Precision& x29, const Precision& x30, const Precision& x31, const Precision& x32, const Precision& x33, const Precision& x34, const Precision& x35, const Precision& x36, const Precision& x37, const Precision& x38, const Precision& x39, const Precision& x40, const Precision& x41, const Precision& x42, const Precision& x43, const Precision& x44, const Precision& x45, const Precision& x46, const Precision& x47, const Precision& x48, const Precision& x49, const Precision& x50, const Precision& x51, const Precision& x52, const Precision& x53, const Precision& x54, const Precision& x55, const Precision& x56, const Precision& x57, const Precision& x58, const Precision& x59, const Precision& x60, const Precision& x61, const Precision& x62, const Precision& x63, const Precision& x64, const Precision& x65, const Precision& x66, const Precision& x67, const Precision& x68, const Precision& x69, const Precision& x70, const Precision& x71, const Precision& x72, const Precision& x73, const Precision& x74, const Precision& x75, const Precision& x76, const Precision& x77, const Precision& x78, const Precision& x79, const Precision& x80, const Precision& x81){
7211  d.vals[0] = x1;
7212  d.vals[1] = x2;
7213  d.vals[2] = x3;
7214  d.vals[3] = x4;
7215  d.vals[4] = x5;
7216  d.vals[5] = x6;
7217  d.vals[6] = x7;
7218  d.vals[7] = x8;
7219  d.vals[8] = x9;
7220  d.vals[9] = x10;
7221  d.vals[10] = x11;
7222  d.vals[11] = x12;
7223  d.vals[12] = x13;
7224  d.vals[13] = x14;
7225  d.vals[14] = x15;
7226  d.vals[15] = x16;
7227  d.vals[16] = x17;
7228  d.vals[17] = x18;
7229  d.vals[18] = x19;
7230  d.vals[19] = x20;
7231  d.vals[20] = x21;
7232  d.vals[21] = x22;
7233  d.vals[22] = x23;
7234  d.vals[23] = x24;
7235  d.vals[24] = x25;
7236  d.vals[25] = x26;
7237  d.vals[26] = x27;
7238  d.vals[27] = x28;
7239  d.vals[28] = x29;
7240  d.vals[29] = x30;
7241  d.vals[30] = x31;
7242  d.vals[31] = x32;
7243  d.vals[32] = x33;
7244  d.vals[33] = x34;
7245  d.vals[34] = x35;
7246  d.vals[35] = x36;
7247  d.vals[36] = x37;
7248  d.vals[37] = x38;
7249  d.vals[38] = x39;
7250  d.vals[39] = x40;
7251  d.vals[40] = x41;
7252  d.vals[41] = x42;
7253  d.vals[42] = x43;
7254  d.vals[43] = x44;
7255  d.vals[44] = x45;
7256  d.vals[45] = x46;
7257  d.vals[46] = x47;
7258  d.vals[47] = x48;
7259  d.vals[48] = x49;
7260  d.vals[49] = x50;
7261  d.vals[50] = x51;
7262  d.vals[51] = x52;
7263  d.vals[52] = x53;
7264  d.vals[53] = x54;
7265  d.vals[54] = x55;
7266  d.vals[55] = x56;
7267  d.vals[56] = x57;
7268  d.vals[57] = x58;
7269  d.vals[58] = x59;
7270  d.vals[59] = x60;
7271  d.vals[60] = x61;
7272  d.vals[61] = x62;
7273  d.vals[62] = x63;
7274  d.vals[63] = x64;
7275  d.vals[64] = x65;
7276  d.vals[65] = x66;
7277  d.vals[66] = x67;
7278  d.vals[67] = x68;
7279  d.vals[68] = x69;
7280  d.vals[69] = x70;
7281  d.vals[70] = x71;
7282  d.vals[71] = x72;
7283  d.vals[72] = x73;
7284  d.vals[73] = x74;
7285  d.vals[74] = x75;
7286  d.vals[75] = x76;
7287  d.vals[76] = x77;
7288  d.vals[77] = x78;
7289  d.vals[78] = x79;
7290  d.vals[79] = x80;
7291  d.vals[80] = x81;
7292  return d;
7293 }
7294 inline Operator<Internal::Data<82, double> > Data(double x1, double x2, double x3, double x4, double x5, double x6, double x7, double x8, double x9, double x10, double x11, double x12, double x13, double x14, double x15, double x16, double x17, double x18, double x19, double x20, double x21, double x22, double x23, double x24, double x25, double x26, double x27, double x28, double x29, double x30, double x31, double x32, double x33, double x34, double x35, double x36, double x37, double x38, double x39, double x40, double x41, double x42, double x43, double x44, double x45, double x46, double x47, double x48, double x49, double x50, double x51, double x52, double x53, double x54, double x55, double x56, double x57, double x58, double x59, double x60, double x61, double x62, double x63, double x64, double x65, double x66, double x67, double x68, double x69, double x70, double x71, double x72, double x73, double x74, double x75, double x76, double x77, double x78, double x79, double x80, double x81, double x82){
7296  d.vals[0] = x1;
7297  d.vals[1] = x2;
7298  d.vals[2] = x3;
7299  d.vals[3] = x4;
7300  d.vals[4] = x5;
7301  d.vals[5] = x6;
7302  d.vals[6] = x7;
7303  d.vals[7] = x8;
7304  d.vals[8] = x9;
7305  d.vals[9] = x10;
7306  d.vals[10] = x11;
7307  d.vals[11] = x12;
7308  d.vals[12] = x13;
7309  d.vals[13] = x14;
7310  d.vals[14] = x15;
7311  d.vals[15] = x16;
7312  d.vals[16] = x17;
7313  d.vals[17] = x18;
7314  d.vals[18] = x19;
7315  d.vals[19] = x20;
7316  d.vals[20] = x21;
7317  d.vals[21] = x22;
7318  d.vals[22] = x23;
7319  d.vals[23] = x24;
7320  d.vals[24] = x25;
7321  d.vals[25] = x26;
7322  d.vals[26] = x27;
7323  d.vals[27] = x28;
7324  d.vals[28] = x29;
7325  d.vals[29] = x30;
7326  d.vals[30] = x31;
7327  d.vals[31] = x32;
7328  d.vals[32] = x33;
7329  d.vals[33] = x34;
7330  d.vals[34] = x35;
7331  d.vals[35] = x36;
7332  d.vals[36] = x37;
7333  d.vals[37] = x38;
7334  d.vals[38] = x39;
7335  d.vals[39] = x40;
7336  d.vals[40] = x41;
7337  d.vals[41] = x42;
7338  d.vals[42] = x43;
7339  d.vals[43] = x44;
7340  d.vals[44] = x45;
7341  d.vals[45] = x46;
7342  d.vals[46] = x47;
7343  d.vals[47] = x48;
7344  d.vals[48] = x49;
7345  d.vals[49] = x50;
7346  d.vals[50] = x51;
7347  d.vals[51] = x52;
7348  d.vals[52] = x53;
7349  d.vals[53] = x54;
7350  d.vals[54] = x55;
7351  d.vals[55] = x56;
7352  d.vals[56] = x57;
7353  d.vals[57] = x58;
7354  d.vals[58] = x59;
7355  d.vals[59] = x60;
7356  d.vals[60] = x61;
7357  d.vals[61] = x62;
7358  d.vals[62] = x63;
7359  d.vals[63] = x64;
7360  d.vals[64] = x65;
7361  d.vals[65] = x66;
7362  d.vals[66] = x67;
7363  d.vals[67] = x68;
7364  d.vals[68] = x69;
7365  d.vals[69] = x70;
7366  d.vals[70] = x71;
7367  d.vals[71] = x72;
7368  d.vals[72] = x73;
7369  d.vals[73] = x74;
7370  d.vals[74] = x75;
7371  d.vals[75] = x76;
7372  d.vals[76] = x77;
7373  d.vals[77] = x78;
7374  d.vals[78] = x79;
7375  d.vals[79] = x80;
7376  d.vals[80] = x81;
7377  d.vals[81] = x82;
7378  return d;
7379 }
7380 template<typename Precision> inline Operator<Internal::Data<82, Precision> > Data(const Precision& x1, const Precision& x2, const Precision& x3, const Precision& x4, const Precision& x5, const Precision& x6, const Precision& x7, const Precision& x8, const Precision& x9, const Precision& x10, const Precision& x11, const Precision& x12, const Precision& x13, const Precision& x14, const Precision& x15, const Precision& x16, const Precision& x17, const Precision& x18, const Precision& x19, const Precision& x20, const Precision& x21, const Precision& x22, const Precision& x23, const Precision& x24, const Precision& x25, const Precision& x26, const Precision& x27, const Precision& x28, const Precision& x29, const Precision& x30, const Precision& x31, const Precision& x32, const Precision& x33, const Precision& x34, const Precision& x35, const Precision& x36, const Precision& x37, const Precision& x38, const Precision& x39, const Precision& x40, const Precision& x41, const Precision& x42, const Precision& x43, const Precision& x44, const Precision& x45, const Precision& x46, const Precision& x47, const Precision& x48, const Precision& x49, const Precision& x50, const Precision& x51, const Precision& x52, const Precision& x53, const Precision& x54, const Precision& x55, const Precision& x56, const Precision& x57, const Precision& x58, const Precision& x59, const Precision& x60, const Precision& x61, const Precision& x62, const Precision& x63, const Precision& x64, const Precision& x65, const Precision& x66, const Precision& x67, const Precision& x68, const Precision& x69, const Precision& x70, const Precision& x71, const Precision& x72, const Precision& x73, const Precision& x74, const Precision& x75, const Precision& x76, const Precision& x77, const Precision& x78, const Precision& x79, const Precision& x80, const Precision& x81, const Precision& x82){
7382  d.vals[0] = x1;
7383  d.vals[1] = x2;
7384  d.vals[2] = x3;
7385  d.vals[3] = x4;
7386  d.vals[4] = x5;
7387  d.vals[5] = x6;
7388  d.vals[6] = x7;
7389  d.vals[7] = x8;
7390  d.vals[8] = x9;
7391  d.vals[9] = x10;
7392  d.vals[10] = x11;
7393  d.vals[11] = x12;
7394  d.vals[12] = x13;
7395  d.vals[13] = x14;
7396  d.vals[14] = x15;
7397  d.vals[15] = x16;
7398  d.vals[16] = x17;
7399  d.vals[17] = x18;
7400  d.vals[18] = x19;
7401  d.vals[19] = x20;
7402  d.vals[20] = x21;
7403  d.vals[21] = x22;
7404  d.vals[22] = x23;
7405  d.vals[23] = x24;
7406  d.vals[24] = x25;
7407  d.vals[25] = x26;
7408  d.vals[26] = x27;
7409  d.vals[27] = x28;
7410  d.vals[28] = x29;
7411  d.vals[29] = x30;
7412  d.vals[30] = x31;
7413  d.vals[31] = x32;
7414  d.vals[32] = x33;
7415  d.vals[33] = x34;
7416  d.vals[34] = x35;
7417  d.vals[35] = x36;
7418  d.vals[36] = x37;
7419  d.vals[37] = x38;
7420  d.vals[38] = x39;
7421  d.vals[39] = x40;
7422  d.vals[40] = x41;
7423  d.vals[41] = x42;
7424  d.vals[42] = x43;
7425  d.vals[43] = x44;
7426  d.vals[44] = x45;
7427  d.vals[45] = x46;
7428  d.vals[46] = x47;
7429  d.vals[47] = x48;
7430  d.vals[48] = x49;
7431  d.vals[49] = x50;
7432  d.vals[50] = x51;
7433  d.vals[51] = x52;
7434  d.vals[52] = x53;
7435  d.vals[53] = x54;
7436  d.vals[54] = x55;
7437  d.vals[55] = x56;
7438  d.vals[56] = x57;
7439  d.vals[57] = x58;
7440  d.vals[58] = x59;
7441  d.vals[59] = x60;
7442  d.vals[60] = x61;
7443  d.vals[61] = x62;
7444  d.vals[62] = x63;
7445  d.vals[63] = x64;
7446  d.vals[64] = x65;
7447  d.vals[65] = x66;
7448  d.vals[66] = x67;
7449  d.vals[67] = x68;
7450  d.vals[68] = x69;
7451  d.vals[69] = x70;
7452  d.vals[70] = x71;
7453  d.vals[71] = x72;
7454  d.vals[72] = x73;
7455  d.vals[73] = x74;
7456  d.vals[74] = x75;
7457  d.vals[75] = x76;
7458  d.vals[76] = x77;
7459  d.vals[77] = x78;
7460  d.vals[78] = x79;
7461  d.vals[79] = x80;
7462  d.vals[80] = x81;
7463  d.vals[81] = x82;
7464  return d;
7465 }
7466 inline Operator<Internal::Data<83, double> > Data(double x1, double x2, double x3, double x4, double x5, double x6, double x7, double x8, double x9, double x10, double x11, double x12, double x13, double x14, double x15, double x16, double x17, double x18, double x19, double x20, double x21, double x22, double x23, double x24, double x25, double x26, double x27, double x28, double x29, double x30, double x31, double x32, double x33, double x34, double x35, double x36, double x37, double x38, double x39, double x40, double x41, double x42, double x43, double x44, double x45, double x46, double x47, double x48, double x49, double x50, double x51, double x52, double x53, double x54, double x55, double x56, double x57, double x58, double x59, double x60, double x61, double x62, double x63, double x64, double x65, double x66, double x67, double x68, double x69, double x70, double x71, double x72, double x73, double x74, double x75, double x76, double x77, double x78, double x79, double x80, double x81, double x82, double x83){
7468  d.vals[0] = x1;
7469  d.vals[1] = x2;
7470  d.vals[2] = x3;
7471  d.vals[3] = x4;
7472  d.vals[4] = x5;
7473  d.vals[5] = x6;
7474  d.vals[6] = x7;
7475  d.vals[7] = x8;
7476  d.vals[8] = x9;
7477  d.vals[9] = x10;
7478  d.vals[10] = x11;
7479  d.vals[11] = x12;
7480  d.vals[12] = x13;
7481  d.vals[13] = x14;
7482  d.vals[14] = x15;
7483  d.vals[15] = x16;
7484  d.vals[16] = x17;
7485  d.vals[17] = x18;
7486  d.vals[18] = x19;
7487  d.vals[19] = x20;
7488  d.vals[20] = x21;
7489  d.vals[21] = x22;
7490  d.vals[22] = x23;
7491  d.vals[23] = x24;
7492  d.vals[24] = x25;
7493  d.vals[25] = x26;
7494  d.vals[26] = x27;
7495  d.vals[27] = x28;
7496  d.vals[28] = x29;
7497  d.vals[29] = x30;
7498  d.vals[30] = x31;
7499  d.vals[31] = x32;
7500  d.vals[32] = x33;
7501  d.vals[33] = x34;
7502  d.vals[34] = x35;
7503  d.vals[35] = x36;
7504  d.vals[36] = x37;
7505  d.vals[37] = x38;
7506  d.vals[38] = x39;
7507  d.vals[39] = x40;
7508  d.vals[40] = x41;
7509  d.vals[41] = x42;
7510  d.vals[42] = x43;
7511  d.vals[43] = x44;
7512  d.vals[44] = x45;
7513  d.vals[45] = x46;
7514  d.vals[46] = x47;
7515  d.vals[47] = x48;
7516  d.vals[48] = x49;
7517  d.vals[49] = x50;
7518  d.vals[50] = x51;
7519  d.vals[51] = x52;
7520  d.vals[52] = x53;
7521  d.vals[53] = x54;
7522  d.vals[54] = x55;
7523  d.vals[55] = x56;
7524  d.vals[56] = x57;
7525  d.vals[57] = x58;
7526  d.vals[58] = x59;
7527  d.vals[59] = x60;
7528  d.vals[60] = x61;
7529  d.vals[61] = x62;
7530  d.vals[62] = x63;
7531  d.vals[63] = x64;
7532  d.vals[64] = x65;
7533  d.vals[65] = x66;
7534  d.vals[66] = x67;
7535  d.vals[67] = x68;
7536  d.vals[68] = x69;
7537  d.vals[69] = x70;
7538  d.vals[70] = x71;
7539  d.vals[71] = x72;
7540  d.vals[72] = x73;
7541  d.vals[73] = x74;
7542  d.vals[74] = x75;
7543  d.vals[75] = x76;
7544  d.vals[76] = x77;
7545  d.vals[77] = x78;
7546  d.vals[78] = x79;
7547  d.vals[79] = x80;
7548  d.vals[80] = x81;
7549  d.vals[81] = x82;
7550  d.vals[82] = x83;
7551  return d;
7552 }
7553 template<typename Precision> inline Operator<Internal::Data<83, Precision> > Data(const Precision& x1, const Precision& x2, const Precision& x3, const Precision& x4, const Precision& x5, const Precision& x6, const Precision& x7, const Precision& x8, const Precision& x9, const Precision& x10, const Precision& x11, const Precision& x12, const Precision& x13, const Precision& x14, const Precision& x15, const Precision& x16, const Precision& x17, const Precision& x18, const Precision& x19, const Precision& x20, const Precision& x21, const Precision& x22, const Precision& x23, const Precision& x24, const Precision& x25, const Precision& x26, const Precision& x27, const Precision& x28, const Precision& x29, const Precision& x30, const Precision& x31, const Precision& x32, const Precision& x33, const Precision& x34, const Precision& x35, const Precision& x36, const Precision& x37, const Precision& x38, const Precision& x39, const Precision& x40, const Precision& x41, const Precision& x42, const Precision& x43, const Precision& x44, const Precision& x45, const Precision& x46, const Precision& x47, const Precision& x48, const Precision& x49, const Precision& x50, const Precision& x51, const Precision& x52, const Precision& x53, const Precision& x54, const Precision& x55, const Precision& x56, const Precision& x57, const Precision& x58, const Precision& x59, const Precision& x60, const Precision& x61, const Precision& x62, const Precision& x63, const Precision& x64, const Precision& x65, const Precision& x66, const Precision& x67, const Precision& x68, const Precision& x69, const Precision& x70, const Precision& x71, const Precision& x72, const Precision& x73, const Precision& x74, const Precision& x75, const Precision& x76, const Precision& x77, const Precision& x78, const Precision& x79, const Precision& x80, const Precision& x81, const Precision& x82, const Precision& x83){
7555  d.vals[0] = x1;
7556  d.vals[1] = x2;
7557  d.vals[2] = x3;
7558  d.vals[3] = x4;
7559  d.vals[4] = x5;
7560  d.vals[5] = x6;
7561  d.vals[6] = x7;
7562  d.vals[7] = x8;
7563  d.vals[8] = x9;
7564  d.vals[9] = x10;
7565  d.vals[10] = x11;
7566  d.vals[11] = x12;
7567  d.vals[12] = x13;
7568  d.vals[13] = x14;
7569  d.vals[14] = x15;
7570  d.vals[15] = x16;
7571  d.vals[16] = x17;
7572  d.vals[17] = x18;
7573  d.vals[18] = x19;
7574  d.vals[19] = x20;
7575  d.vals[20] = x21;
7576  d.vals[21] = x22;
7577  d.vals[22] = x23;
7578  d.vals[23] = x24;
7579  d.vals[24] = x25;
7580  d.vals[25] = x26;
7581  d.vals[26] = x27;
7582  d.vals[27] = x28;
7583  d.vals[28] = x29;
7584  d.vals[29] = x30;
7585  d.vals[30] = x31;
7586  d.vals[31] = x32;
7587  d.vals[32] = x33;
7588  d.vals[33] = x34;
7589  d.vals[34] = x35;
7590  d.vals[35] = x36;
7591  d.vals[36] = x37;
7592  d.vals[37] = x38;
7593  d.vals[38] = x39;
7594  d.vals[39] = x40;
7595  d.vals[40] = x41;
7596  d.vals[41] = x42;
7597  d.vals[42] = x43;
7598  d.vals[43] = x44;
7599  d.vals[44] = x45;
7600  d.vals[45] = x46;
7601  d.vals[46] = x47;
7602  d.vals[47] = x48;
7603  d.vals[48] = x49;
7604  d.vals[49] = x50;
7605  d.vals[50] = x51;
7606  d.vals[51] = x52;
7607  d.vals[52] = x53;
7608  d.vals[53] = x54;
7609  d.vals[54] = x55;
7610  d.vals[55] = x56;
7611  d.vals[56] = x57;
7612  d.vals[57] = x58;
7613  d.vals[58] = x59;
7614  d.vals[59] = x60;
7615  d.vals[60] = x61;
7616  d.vals[61] = x62;
7617  d.vals[62] = x63;
7618  d.vals[63] = x64;
7619  d.vals[64] = x65;
7620  d.vals[65] = x66;
7621  d.vals[66] = x67;
7622  d.vals[67] = x68;
7623  d.vals[68] = x69;
7624  d.vals[69] = x70;
7625  d.vals[70] = x71;
7626  d.vals[71] = x72;
7627  d.vals[72] = x73;
7628  d.vals[73] = x74;
7629  d.vals[74] = x75;
7630  d.vals[75] = x76;
7631  d.vals[76] = x77;
7632  d.vals[77] = x78;
7633  d.vals[78] = x79;
7634  d.vals[79] = x80;
7635  d.vals[80] = x81;
7636  d.vals[81] = x82;
7637  d.vals[82] = x83;
7638  return d;
7639 }
7640 inline Operator<Internal::Data<84, double> > Data(double x1, double x2, double x3, double x4, double x5, double x6, double x7, double x8, double x9, double x10, double x11, double x12, double x13, double x14, double x15, double x16, double x17, double x18, double x19, double x20, double x21, double x22, double x23, double x24, double x25, double x26, double x27, double x28, double x29, double x30, double x31, double x32, double x33, double x34, double x35, double x36, double x37, double x38, double x39, double x40, double x41, double x42, double x43, double x44, double x45, double x46, double x47, double x48, double x49, double x50, double x51, double x52, double x53, double x54, double x55, double x56, double x57, double x58, double x59, double x60, double x61, double x62, double x63, double x64, double x65, double x66, double x67, double x68, double x69, double x70, double x71, double x72, double x73, double x74, double x75, double x76, double x77, double x78, double x79, double x80, double x81, double x82, double x83, double x84){
7642  d.vals[0] = x1;
7643  d.vals[1] = x2;
7644  d.vals[2] = x3;
7645  d.vals[3] = x4;
7646  d.vals[4] = x5;
7647  d.vals[5] = x6;
7648  d.vals[6] = x7;
7649  d.vals[7] = x8;
7650  d.vals[8] = x9;
7651  d.vals[9] = x10;
7652  d.vals[10] = x11;
7653  d.vals[11] = x12;
7654  d.vals[12] = x13;
7655  d.vals[13] = x14;
7656  d.vals[14] = x15;
7657  d.vals[15] = x16;
7658  d.vals[16] = x17;
7659  d.vals[17] = x18;
7660  d.vals[18] = x19;
7661  d.vals[19] = x20;
7662  d.vals[20] = x21;
7663  d.vals[21] = x22;
7664  d.vals[22] = x23;
7665  d.vals[23] = x24;
7666  d.vals[24] = x25;
7667  d.vals[25] = x26;
7668  d.vals[26] = x27;
7669  d.vals[27] = x28;
7670  d.vals[28] = x29;
7671  d.vals[29] = x30;
7672  d.vals[30] = x31;
7673  d.vals[31] = x32;
7674  d.vals[32] = x33;
7675  d.vals[33] = x34;
7676  d.vals[34] = x35;
7677  d.vals[35] = x36;
7678  d.vals[36] = x37;
7679  d.vals[37] = x38;
7680  d.vals[38] = x39;
7681  d.vals[39] = x40;
7682  d.vals[40] = x41;
7683  d.vals[41] = x42;
7684  d.vals[42] = x43;
7685  d.vals[43] = x44;
7686  d.vals[44] = x45;
7687  d.vals[45] = x46;
7688  d.vals[46] = x47;
7689  d.vals[47] = x48;
7690  d.vals[48] = x49;
7691  d.vals[49] = x50;
7692  d.vals[50] = x51;
7693  d.vals[51] = x52;
7694  d.vals[52] = x53;
7695  d.vals[53] = x54;
7696  d.vals[54] = x55;
7697  d.vals[55] = x56;
7698  d.vals[56] = x57;
7699  d.vals[57] = x58;
7700  d.vals[58] = x59;
7701  d.vals[59] = x60;
7702  d.vals[60] = x61;
7703  d.vals[61] = x62;
7704  d.vals[62] = x63;
7705  d.vals[63] = x64;
7706  d.vals[64] = x65;
7707  d.vals[65] = x66;
7708  d.vals[66] = x67;
7709  d.vals[67] = x68;
7710  d.vals[68] = x69;
7711  d.vals[69] = x70;
7712  d.vals[70] = x71;
7713  d.vals[71] = x72;
7714  d.vals[72] = x73;
7715  d.vals[73] = x74;
7716  d.vals[74] = x75;
7717  d.vals[75] = x76;
7718  d.vals[76] = x77;
7719  d.vals[77] = x78;
7720  d.vals[78] = x79;
7721  d.vals[79] = x80;
7722  d.vals[80] = x81;
7723  d.vals[81] = x82;
7724  d.vals[82] = x83;
7725  d.vals[83] = x84;
7726  return d;
7727 }
7728 template<typename Precision> inline Operator<Internal::Data<84, Precision> > Data(const Precision& x1, const Precision& x2, const Precision& x3, const Precision& x4, const Precision& x5, const Precision& x6, const Precision& x7, const Precision& x8, const Precision& x9, const Precision& x10, const Precision& x11, const Precision& x12, const Precision& x13, const Precision& x14, const Precision& x15, const Precision& x16, const Precision& x17, const Precision& x18, const Precision& x19, const Precision& x20, const Precision& x21, const Precision& x22, const Precision& x23, const Precision& x24, const Precision& x25, const Precision& x26, const Precision& x27, const Precision& x28, const Precision& x29, const Precision& x30, const Precision& x31, const Precision& x32, const Precision& x33, const Precision& x34, const Precision& x35, const Precision& x36, const Precision& x37, const Precision& x38, const Precision& x39, const Precision& x40, const Precision& x41, const Precision& x42, const Precision& x43, const Precision& x44, const Precision& x45, const Precision& x46, const Precision& x47, const Precision& x48, const Precision& x49, const Precision& x50, const Precision& x51, const Precision& x52, const Precision& x53, const Precision& x54, const Precision& x55, const Precision& x56, const Precision& x57, const Precision& x58, const Precision& x59, const Precision& x60, const Precision& x61, const Precision& x62, const Precision& x63, const Precision& x64, const Precision& x65, const Precision& x66, const Precision& x67, const Precision& x68, const Precision& x69, const Precision& x70, const Precision& x71, const Precision& x72, const Precision& x73, const Precision& x74, const Precision& x75, const Precision& x76, const Precision& x77, const Precision& x78, const Precision& x79, const Precision& x80, const Precision& x81, const Precision& x82, const Precision& x83, const Precision& x84){
7730  d.vals[0] = x1;
7731  d.vals[1] = x2;
7732  d.vals[2] = x3;
7733  d.vals[3] = x4;
7734  d.vals[4] = x5;
7735  d.vals[5] = x6;
7736  d.vals[6] = x7;
7737  d.vals[7] = x8;
7738  d.vals[8] = x9;
7739  d.vals[9] = x10;
7740  d.vals[10] = x11;
7741  d.vals[11] = x12;
7742  d.vals[12] = x13;
7743  d.vals[13] = x14;
7744  d.vals[14] = x15;
7745  d.vals[15] = x16;
7746  d.vals[16] = x17;
7747  d.vals[17] = x18;
7748  d.vals[18] = x19;
7749  d.vals[19] = x20;
7750  d.vals[20] = x21;
7751  d.vals[21] = x22;
7752  d.vals[22] = x23;
7753  d.vals[23] = x24;
7754  d.vals[24] = x25;
7755  d.vals[25] = x26;
7756  d.vals[26] = x27;
7757  d.vals[27] = x28;
7758  d.vals[28] = x29;
7759  d.vals[29] = x30;
7760  d.vals[30] = x31;
7761  d.vals[31] = x32;
7762  d.vals[32] = x33;
7763  d.vals[33] = x34;
7764  d.vals[34] = x35;
7765  d.vals[35] = x36;
7766  d.vals[36] = x37;
7767  d.vals[37] = x38;
7768  d.vals[38] = x39;
7769  d.vals[39] = x40;
7770  d.vals[40] = x41;
7771  d.vals[41] = x42;
7772  d.vals[42] = x43;
7773  d.vals[43] = x44;
7774  d.vals[44] = x45;
7775  d.vals[45] = x46;
7776  d.vals[46] = x47;
7777  d.vals[47] = x48;
7778  d.vals[48] = x49;
7779  d.vals[49] = x50;
7780  d.vals[50] = x51;
7781  d.vals[51] = x52;
7782  d.vals[52] = x53;
7783  d.vals[53] = x54;
7784  d.vals[54] = x55;
7785  d.vals[55] = x56;
7786  d.vals[56] = x57;
7787  d.vals[57] = x58;
7788  d.vals[58] = x59;
7789  d.vals[59] = x60;
7790  d.vals[60] = x61;
7791  d.vals[61] = x62;
7792  d.vals[62] = x63;
7793  d.vals[63] = x64;
7794  d.vals[64] = x65;
7795  d.vals[65] = x66;
7796  d.vals[66] = x67;
7797  d.vals[67] = x68;
7798  d.vals[68] = x69;
7799  d.vals[69] = x70;
7800  d.vals[70] = x71;
7801  d.vals[71] = x72;
7802  d.vals[72] = x73;
7803  d.vals[73] = x74;
7804  d.vals[74] = x75;
7805  d.vals[75] = x76;
7806  d.vals[76] = x77;
7807  d.vals[77] = x78;
7808  d.vals[78] = x79;
7809  d.vals[79] = x80;
7810  d.vals[80] = x81;
7811  d.vals[81] = x82;
7812  d.vals[82] = x83;
7813  d.vals[83] = x84;
7814  return d;
7815 }
7816 inline Operator<Internal::Data<85, double> > Data(double x1, double x2, double x3, double x4, double x5, double x6, double x7, double x8, double x9, double x10, double x11, double x12, double x13, double x14, double x15, double x16, double x17, double x18, double x19, double x20, double x21, double x22, double x23, double x24, double x25, double x26, double x27, double x28, double x29, double x30, double x31, double x32, double x33, double x34, double x35, double x36, double x37, double x38, double x39, double x40, double x41, double x42, double x43, double x44, double x45, double x46, double x47, double x48, double x49, double x50, double x51, double x52, double x53, double x54, double x55, double x56, double x57, double x58, double x59, double x60, double x61, double x62, double x63, double x64, double x65, double x66, double x67, double x68, double x69, double x70, double x71, double x72, double x73, double x74, double x75, double x76, double x77, double x78, double x79, double x80, double x81, double x82, double x83, double x84, double x85){
7818  d.vals[0] = x1;
7819  d.vals[1] = x2;
7820  d.vals[2] = x3;
7821  d.vals[3] = x4;
7822  d.vals[4] = x5;
7823  d.vals[5] = x6;
7824  d.vals[6] = x7;
7825  d.vals[7] = x8;
7826  d.vals[8] = x9;
7827  d.vals[9] = x10;
7828  d.vals[10] = x11;
7829  d.vals[11] = x12;
7830  d.vals[12] = x13;
7831  d.vals[13] = x14;
7832  d.vals[14] = x15;
7833  d.vals[15] = x16;
7834  d.vals[16] = x17;
7835  d.vals[17] = x18;
7836  d.vals[18] = x19;
7837  d.vals[19] = x20;
7838  d.vals[20] = x21;
7839  d.vals[21] = x22;
7840  d.vals[22] = x23;
7841  d.vals[23] = x24;
7842  d.vals[24] = x25;
7843  d.vals[25] = x26;
7844  d.vals[26] = x27;
7845  d.vals[27] = x28;
7846  d.vals[28] = x29;
7847  d.vals[29] = x30;
7848  d.vals[30] = x31;
7849  d.vals[31] = x32;
7850  d.vals[32] = x33;
7851  d.vals[33] = x34;
7852  d.vals[34] = x35;
7853  d.vals[35] = x36;
7854  d.vals[36] = x37;
7855  d.vals[37] = x38;
7856  d.vals[38] = x39;
7857  d.vals[39] = x40;
7858  d.vals[40] = x41;
7859  d.vals[41] = x42;
7860  d.vals[42] = x43;
7861  d.vals[43] = x44;
7862  d.vals[44] = x45;
7863  d.vals[45] = x46;
7864  d.vals[46] = x47;
7865  d.vals[47] = x48;
7866  d.vals[48] = x49;
7867  d.vals[49] = x50;
7868  d.vals[50] = x51;
7869  d.vals[51] = x52;
7870  d.vals[52] = x53;
7871  d.vals[53] = x54;
7872  d.vals[54] = x55;
7873  d.vals[55] = x56;
7874  d.vals[56] = x57;
7875  d.vals[57] = x58;
7876  d.vals[58] = x59;
7877  d.vals[59] = x60;
7878  d.vals[60] = x61;
7879  d.vals[61] = x62;
7880  d.vals[62] = x63;
7881  d.vals[63] = x64;
7882  d.vals[64] = x65;
7883  d.vals[65] = x66;
7884  d.vals[66] = x67;
7885  d.vals[67] = x68;
7886  d.vals[68] = x69;
7887  d.vals[69] = x70;
7888  d.vals[70] = x71;
7889  d.vals[71] = x72;
7890  d.vals[72] = x73;
7891  d.vals[73] = x74;
7892  d.vals[74] = x75;
7893  d.vals[75] = x76;
7894  d.vals[76] = x77;
7895  d.vals[77] = x78;
7896  d.vals[78] = x79;
7897  d.vals[79] = x80;
7898  d.vals[80] = x81;
7899  d.vals[81] = x82;
7900  d.vals[82] = x83;
7901  d.vals[83] = x84;
7902  d.vals[84] = x85;
7903  return d;
7904 }
7905 template<typename Precision> inline Operator<Internal::Data<85, Precision> > Data(const Precision& x1, const Precision& x2, const Precision& x3, const Precision& x4, const Precision& x5, const Precision& x6, const Precision& x7, const Precision& x8, const Precision& x9, const Precision& x10, const Precision& x11, const Precision& x12, const Precision& x13, const Precision& x14, const Precision& x15, const Precision& x16, const Precision& x17, const Precision& x18, const Precision& x19, const Precision& x20, const Precision& x21, const Precision& x22, const Precision& x23, const Precision& x24, const Precision& x25, const Precision& x26, const Precision& x27, const Precision& x28, const Precision& x29, const Precision& x30, const Precision& x31, const Precision& x32, const Precision& x33, const Precision& x34, const Precision& x35, const Precision& x36, const Precision& x37, const Precision& x38, const Precision& x39, const Precision& x40, const Precision& x41, const Precision& x42, const Precision& x43, const Precision& x44, const Precision& x45, const Precision& x46, const Precision& x47, const Precision& x48, const Precision& x49, const Precision& x50, const Precision& x51, const Precision& x52, const Precision& x53, const Precision& x54, const Precision& x55, const Precision& x56, const Precision& x57, const Precision& x58, const Precision& x59, const Precision& x60, const Precision& x61, const Precision& x62, const Precision& x63, const Precision& x64, const Precision& x65, const Precision& x66, const Precision& x67, const Precision& x68, const Precision& x69, const Precision& x70, const Precision& x71, const Precision& x72, const Precision& x73, const Precision& x74, const Precision& x75, const Precision& x76, const Precision& x77, const Precision& x78, const Precision& x79, const Precision& x80, const Precision& x81, const Precision& x82, const Precision& x83, const Precision& x84, const Precision& x85){
7907  d.vals[0] = x1;
7908  d.vals[1] = x2;
7909  d.vals[2] = x3;
7910  d.vals[3] = x4;
7911  d.vals[4] = x5;
7912  d.vals[5] = x6;
7913  d.vals[6] = x7;
7914  d.vals[7] = x8;
7915  d.vals[8] = x9;
7916  d.vals[9] = x10;
7917  d.vals[10] = x11;
7918  d.vals[11] = x12;
7919  d.vals[12] = x13;
7920  d.vals[13] = x14;
7921  d.vals[14] = x15;
7922  d.vals[15] = x16;
7923  d.vals[16] = x17;
7924  d.vals[17] = x18;
7925  d.vals[18] = x19;
7926  d.vals[19] = x20;
7927  d.vals[20] = x21;
7928  d.vals[21] = x22;
7929  d.vals[22] = x23;
7930  d.vals[23] = x24;
7931  d.vals[24] = x25;
7932  d.vals[25] = x26;
7933  d.vals[26] = x27;
7934  d.vals[27] = x28;
7935  d.vals[28] = x29;
7936  d.vals[29] = x30;
7937  d.vals[30] = x31;
7938  d.vals[31] = x32;
7939  d.vals[32] = x33;
7940  d.vals[33] = x34;
7941  d.vals[34] = x35;
7942  d.vals[35] = x36;
7943  d.vals[36] = x37;
7944  d.vals[37] = x38;
7945  d.vals[38] = x39;
7946  d.vals[39] = x40;
7947  d.vals[40] = x41;
7948  d.vals[41] = x42;
7949  d.vals[42] = x43;
7950  d.vals[43] = x44;
7951  d.vals[44] = x45;
7952  d.vals[45] = x46;
7953  d.vals[46] = x47;
7954  d.vals[47] = x48;
7955  d.vals[48] = x49;
7956  d.vals[49] = x50;
7957  d.vals[50] = x51;
7958  d.vals[51] = x52;
7959  d.vals[52] = x53;
7960  d.vals[53] = x54;
7961  d.vals[54] = x55;
7962  d.vals[55] = x56;
7963  d.vals[56] = x57;
7964  d.vals[57] = x58;
7965  d.vals[58] = x59;
7966  d.vals[59] = x60;
7967  d.vals[60] = x61;
7968  d.vals[61] = x62;
7969  d.vals[62] = x63;
7970  d.vals[63] = x64;
7971  d.vals[64] = x65;
7972  d.vals[65] = x66;
7973  d.vals[66] = x67;
7974  d.vals[67] = x68;
7975  d.vals[68] = x69;
7976  d.vals[69] = x70;
7977  d.vals[70] = x71;
7978  d.vals[71] = x72;
7979  d.vals[72] = x73;
7980  d.vals[73] = x74;
7981  d.vals[74] = x75;
7982  d.vals[75] = x76;
7983  d.vals[76] = x77;
7984  d.vals[77] = x78;
7985  d.vals[78] = x79;
7986  d.vals[79] = x80;
7987  d.vals[80] = x81;
7988  d.vals[81] = x82;
7989  d.vals[82] = x83;
7990  d.vals[83] = x84;
7991  d.vals[84] = x85;
7992  return d;
7993 }
7994 inline Operator<Internal::Data<86, double> > Data(double x1, double x2, double x3, double x4, double x5, double x6, double x7, double x8, double x9, double x10, double x11, double x12, double x13, double x14, double x15, double x16, double x17, double x18, double x19, double x20, double x21, double x22, double x23, double x24, double x25, double x26, double x27, double x28, double x29, double x30, double x31, double x32, double x33, double x34, double x35, double x36, double x37, double x38, double x39, double x40, double x41, double x42, double x43, double x44, double x45, double x46, double x47, double x48, double x49, double x50, double x51, double x52, double x53, double x54, double x55, double x56, double x57, double x58, double x59, double x60, double x61, double x62, double x63, double x64, double x65, double x66, double x67, double x68, double x69, double x70, double x71, double x72, double x73, double x74, double x75, double x76, double x77, double x78, double x79, double x80, double x81, double x82, double x83, double x84, double x85, double x86){
7996  d.vals[0] = x1;
7997  d.vals[1] = x2;
7998  d.vals[2] = x3;
7999  d.vals[3] = x4;
8000  d.vals[4] = x5;
8001  d.vals[5] = x6;
8002  d.vals[6] = x7;
8003  d.vals[7] = x8;
8004  d.vals[8] = x9;
8005  d.vals[9] = x10;
8006  d.vals[10] = x11;
8007  d.vals[11] = x12;
8008  d.vals[12] = x13;
8009  d.vals[13] = x14;
8010  d.vals[14] = x15;
8011  d.vals[15] = x16;
8012  d.vals[16] = x17;
8013  d.vals[17] = x18;
8014  d.vals[18] = x19;
8015  d.vals[19] = x20;
8016  d.vals[20] = x21;
8017  d.vals[21] = x22;
8018  d.vals[22] = x23;
8019  d.vals[23] = x24;
8020  d.vals[24] = x25;
8021  d.vals[25] = x26;
8022  d.vals[26] = x27;
8023  d.vals[27] = x28;
8024  d.vals[28] = x29;
8025  d.vals[29] = x30;
8026  d.vals[30] = x31;
8027  d.vals[31] = x32;
8028  d.vals[32] = x33;
8029  d.vals[33] = x34;
8030  d.vals[34] = x35;
8031  d.vals[35] = x36;
8032  d.vals[36] = x37;
8033  d.vals[37] = x38;
8034  d.vals[38] = x39;
8035  d.vals[39] = x40;
8036  d.vals[40] = x41;
8037  d.vals[41] = x42;
8038  d.vals[42] = x43;
8039  d.vals[43] = x44;
8040  d.vals[44] = x45;
8041  d.vals[45] = x46;
8042  d.vals[46] = x47;
8043  d.vals[47] = x48;
8044  d.vals[48] = x49;
8045  d.vals[49] = x50;
8046  d.vals[50] = x51;
8047  d.vals[51] = x52;
8048  d.vals[52] = x53;
8049  d.vals[53] = x54;
8050  d.vals[54] = x55;
8051  d.vals[55] = x56;
8052  d.vals[56] = x57;
8053  d.vals[57] = x58;
8054  d.vals[58] = x59;
8055  d.vals[59] = x60;
8056  d.vals[60] = x61;
8057  d.vals[61] = x62;
8058  d.vals[62] = x63;
8059  d.vals[63] = x64;
8060  d.vals[64] = x65;
8061  d.vals[65] = x66;
8062  d.vals[66] = x67;
8063  d.vals[67] = x68;
8064  d.vals[68] = x69;
8065  d.vals[69] = x70;
8066  d.vals[70] = x71;
8067  d.vals[71] = x72;
8068  d.vals[72] = x73;
8069  d.vals[73] = x74;
8070  d.vals[74] = x75;
8071  d.vals[75] = x76;
8072  d.vals[76] = x77;
8073  d.vals[77] = x78;
8074  d.vals[78] = x79;
8075  d.vals[79] = x80;
8076  d.vals[80] = x81;
8077  d.vals[81] = x82;
8078  d.vals[82] = x83;
8079  d.vals[83] = x84;
8080  d.vals[84] = x85;
8081  d.vals[85] = x86;
8082  return d;
8083 }
8084 template<typename Precision> inline Operator<Internal::Data<86, Precision> > Data(const Precision& x1, const Precision& x2, const Precision& x3, const Precision& x4, const Precision& x5, const Precision& x6, const Precision& x7, const Precision& x8, const Precision& x9, const Precision& x10, const Precision& x11, const Precision& x12, const Precision& x13, const Precision& x14, const Precision& x15, const Precision& x16, const Precision& x17, const Precision& x18, const Precision& x19, const Precision& x20, const Precision& x21, const Precision& x22, const Precision& x23, const Precision& x24, const Precision& x25, const Precision& x26, const Precision& x27, const Precision& x28, const Precision& x29, const Precision& x30, const Precision& x31, const Precision& x32, const Precision& x33, const Precision& x34, const Precision& x35, const Precision& x36, const Precision& x37, const Precision& x38, const Precision& x39, const Precision& x40, const Precision& x41, const Precision& x42, const Precision& x43, const Precision& x44, const Precision& x45, const Precision& x46, const Precision& x47, const Precision& x48, const Precision& x49, const Precision& x50, const Precision& x51, const Precision& x52, const Precision& x53, const Precision& x54, const Precision& x55, const Precision& x56, const Precision& x57, const Precision& x58, const Precision& x59, const Precision& x60, const Precision& x61, const Precision& x62, const Precision& x63, const Precision& x64, const Precision& x65, const Precision& x66, const Precision& x67, const Precision& x68, const Precision& x69, const Precision& x70, const Precision& x71, const Precision& x72, const Precision& x73, const Precision& x74, const Precision& x75, const Precision& x76, const Precision& x77, const Precision& x78, const Precision& x79, const Precision& x80, const Precision& x81, const Precision& x82, const Precision& x83, const Precision& x84, const Precision& x85, const Precision& x86){
8086  d.vals[0] = x1;
8087  d.vals[1] = x2;
8088  d.vals[2] = x3;
8089  d.vals[3] = x4;
8090  d.vals[4] = x5;
8091  d.vals[5] = x6;
8092  d.vals[6] = x7;
8093  d.vals[7] = x8;
8094  d.vals[8] = x9;
8095  d.vals[9] = x10;
8096  d.vals[10] = x11;
8097  d.vals[11] = x12;
8098  d.vals[12] = x13;
8099  d.vals[13] = x14;
8100  d.vals[14] = x15;
8101  d.vals[15] = x16;
8102  d.vals[16] = x17;
8103  d.vals[17] = x18;
8104  d.vals[18] = x19;
8105  d.vals[19] = x20;
8106  d.vals[20] = x21;
8107  d.vals[21] = x22;
8108  d.vals[22] = x23;
8109  d.vals[23] = x24;
8110  d.vals[24] = x25;
8111  d.vals[25] = x26;
8112  d.vals[26] = x27;
8113  d.vals[27] = x28;
8114  d.vals[28] = x29;
8115  d.vals[29] = x30;
8116  d.vals[30] = x31;
8117  d.vals[31] = x32;
8118  d.vals[32] = x33;
8119  d.vals[33] = x34;
8120  d.vals[34] = x35;
8121  d.vals[35] = x36;
8122  d.vals[36] = x37;
8123  d.vals[37] = x38;
8124  d.vals[38] = x39;
8125  d.vals[39] = x40;
8126  d.vals[40] = x41;
8127  d.vals[41] = x42;
8128  d.vals[42] = x43;
8129  d.vals[43] = x44;
8130  d.vals[44] = x45;
8131  d.vals[45] = x46;
8132  d.vals[46] = x47;
8133  d.vals[47] = x48;
8134  d.vals[48] = x49;
8135  d.vals[49] = x50;
8136  d.vals[50] = x51;
8137  d.vals[51] = x52;
8138  d.vals[52] = x53;
8139  d.vals[53] = x54;
8140  d.vals[54] = x55;
8141  d.vals[55] = x56;
8142  d.vals[56] = x57;
8143  d.vals[57] = x58;
8144  d.vals[58] = x59;
8145  d.vals[59] = x60;
8146  d.vals[60] = x61;
8147  d.vals[61] = x62;
8148  d.vals[62] = x63;
8149  d.vals[63] = x64;
8150  d.vals[64] = x65;
8151  d.vals[65] = x66;
8152  d.vals[66] = x67;
8153  d.vals[67] = x68;
8154  d.vals[68] = x69;
8155  d.vals[69] = x70;
8156  d.vals[70] = x71;
8157  d.vals[71] = x72;
8158  d.vals[72] = x73;
8159  d.vals[73] = x74;
8160  d.vals[74] = x75;
8161  d.vals[75] = x76;
8162  d.vals[76] = x77;
8163  d.vals[77] = x78;
8164  d.vals[78] = x79;
8165  d.vals[79] = x80;
8166  d.vals[80] = x81;
8167  d.vals[81] = x82;
8168  d.vals[82] = x83;
8169  d.vals[83] = x84;
8170  d.vals[84] = x85;
8171  d.vals[85] = x86;
8172  return d;
8173 }
8174 inline Operator<Internal::Data<87, double> > Data(double x1, double x2, double x3, double x4, double x5, double x6, double x7, double x8, double x9, double x10, double x11, double x12, double x13, double x14, double x15, double x16, double x17, double x18, double x19, double x20, double x21, double x22, double x23, double x24, double x25, double x26, double x27, double x28, double x29, double x30, double x31, double x32, double x33, double x34, double x35, double x36, double x37, double x38, double x39, double x40, double x41, double x42, double x43, double x44, double x45, double x46, double x47, double x48, double x49, double x50, double x51, double x52, double x53, double x54, double x55, double x56, double x57, double x58, double x59, double x60, double x61, double x62, double x63, double x64, double x65, double x66, double x67, double x68, double x69, double x70, double x71, double x72, double x73, double x74, double x75, double x76, double x77, double x78, double x79, double x80, double x81, double x82, double x83, double x84, double x85, double x86, double x87){
8176  d.vals[0] = x1;
8177  d.vals[1] = x2;
8178  d.vals[2] = x3;
8179  d.vals[3] = x4;
8180  d.vals[4] = x5;
8181  d.vals[5] = x6;
8182  d.vals[6] = x7;
8183  d.vals[7] = x8;
8184  d.vals[8] = x9;
8185  d.vals[9] = x10;
8186  d.vals[10] = x11;
8187  d.vals[11] = x12;
8188  d.vals[12] = x13;
8189  d.vals[13] = x14;
8190  d.vals[14] = x15;
8191  d.vals[15] = x16;
8192  d.vals[16] = x17;
8193  d.vals[17] = x18;
8194  d.vals[18] = x19;
8195  d.vals[19] = x20;
8196  d.vals[20] = x21;
8197  d.vals[21] = x22;
8198  d.vals[22] = x23;
8199  d.vals[23] = x24;
8200  d.vals[24] = x25;
8201  d.vals[25] = x26;
8202  d.vals[26] = x27;
8203  d.vals[27] = x28;
8204  d.vals[28] = x29;
8205  d.vals[29] = x30;
8206  d.vals[30] = x31;
8207  d.vals[31] = x32;
8208  d.vals[32] = x33;
8209  d.vals[33] = x34;
8210  d.vals[34] = x35;
8211  d.vals[35] = x36;
8212  d.vals[36] = x37;
8213  d.vals[37] = x38;
8214  d.vals[38] = x39;
8215  d.vals[39] = x40;
8216  d.vals[40] = x41;
8217  d.vals[41] = x42;
8218  d.vals[42] = x43;
8219  d.vals[43] = x44;
8220  d.vals[44] = x45;
8221  d.vals[45] = x46;
8222  d.vals[46] = x47;
8223  d.vals[47] = x48;
8224  d.vals[48] = x49;
8225  d.vals[49] = x50;
8226  d.vals[50] = x51;
8227  d.vals[51] = x52;
8228  d.vals[52] = x53;
8229  d.vals[53] = x54;
8230  d.vals[54] = x55;
8231  d.vals[55] = x56;
8232  d.vals[56] = x57;
8233  d.vals[57] = x58;
8234  d.vals[58] = x59;
8235  d.vals[59] = x60;
8236  d.vals[60] = x61;
8237  d.vals[61] = x62;
8238  d.vals[62] = x63;
8239  d.vals[63] = x64;
8240  d.vals[64] = x65;
8241  d.vals[65] = x66;
8242  d.vals[66] = x67;
8243  d.vals[67] = x68;
8244  d.vals[68] = x69;
8245  d.vals[69] = x70;
8246  d.vals[70] = x71;
8247  d.vals[71] = x72;
8248  d.vals[72] = x73;
8249  d.vals[73] = x74;
8250  d.vals[74] = x75;
8251  d.vals[75] = x76;
8252  d.vals[76] = x77;
8253  d.vals[77] = x78;
8254  d.vals[78] = x79;
8255  d.vals[79] = x80;
8256  d.vals[80] = x81;
8257  d.vals[81] = x82;
8258  d.vals[82] = x83;
8259  d.vals[83] = x84;
8260  d.vals[84] = x85;
8261  d.vals[85] = x86;
8262  d.vals[86] = x87;
8263  return d;
8264 }
8265 template<typename Precision> inline Operator<Internal::Data<87, Precision> > Data(const Precision& x1, const Precision& x2, const Precision& x3, const Precision& x4, const Precision& x5, const Precision& x6, const Precision& x7, const Precision& x8, const Precision& x9, const Precision& x10, const Precision& x11, const Precision& x12, const Precision& x13, const Precision& x14, const Precision& x15, const Precision& x16, const Precision& x17, const Precision& x18, const Precision& x19, const Precision& x20, const Precision& x21, const Precision& x22, const Precision& x23, const Precision& x24, const Precision& x25, const Precision& x26, const Precision& x27, const Precision& x28, const Precision& x29, const Precision& x30, const Precision& x31, const Precision& x32, const Precision& x33, const Precision& x34, const Precision& x35, const Precision& x36, const Precision& x37, const Precision& x38, const Precision& x39, const Precision& x40, const Precision& x41, const Precision& x42, const Precision& x43, const Precision& x44, const Precision& x45, const Precision& x46, const Precision& x47, const Precision& x48, const Precision& x49, const Precision& x50, const Precision& x51, const Precision& x52, const Precision& x53, const Precision& x54, const Precision& x55, const Precision& x56, const Precision& x57, const Precision& x58, const Precision& x59, const Precision& x60, const Precision& x61, const Precision& x62, const Precision& x63, const Precision& x64, const Precision& x65, const Precision& x66, const Precision& x67, const Precision& x68, const Precision& x69, const Precision& x70, const Precision& x71, const Precision& x72, const Precision& x73, const Precision& x74, const Precision& x75, const Precision& x76, const Precision& x77, const Precision& x78, const Precision& x79, const Precision& x80, const Precision& x81, const Precision& x82, const Precision& x83, const Precision& x84, const Precision& x85, const Precision& x86, const Precision& x87){
8267  d.vals[0] = x1;
8268  d.vals[1] = x2;
8269  d.vals[2] = x3;
8270  d.vals[3] = x4;
8271  d.vals[4] = x5;
8272  d.vals[5] = x6;
8273  d.vals[6] = x7;
8274  d.vals[7] = x8;
8275  d.vals[8] = x9;
8276  d.vals[9] = x10;
8277  d.vals[10] = x11;
8278  d.vals[11] = x12;
8279  d.vals[12] = x13;
8280  d.vals[13] = x14;
8281  d.vals[14] = x15;
8282  d.vals[15] = x16;
8283  d.vals[16] = x17;
8284  d.vals[17] = x18;
8285  d.vals[18] = x19;
8286  d.vals[19] = x20;
8287  d.vals[20] = x21;
8288  d.vals[21] = x22;
8289  d.vals[22] = x23;
8290  d.vals[23] = x24;
8291  d.vals[24] = x25;
8292  d.vals[25] = x26;
8293  d.vals[26] = x27;
8294  d.vals[27] = x28;
8295  d.vals[28] = x29;
8296  d.vals[29] = x30;
8297  d.vals[30] = x31;
8298  d.vals[31] = x32;
8299  d.vals[32] = x33;
8300  d.vals[33] = x34;
8301  d.vals[34] = x35;
8302  d.vals[35] = x36;
8303  d.vals[36] = x37;
8304  d.vals[37] = x38;
8305  d.vals[38] = x39;
8306  d.vals[39] = x40;
8307  d.vals[40] = x41;
8308  d.vals[41] = x42;
8309  d.vals[42] = x43;
8310  d.vals[43] = x44;
8311  d.vals[44] = x45;
8312  d.vals[45] = x46;
8313  d.vals[46] = x47;
8314  d.vals[47] = x48;
8315  d.vals[48] = x49;
8316  d.vals[49] = x50;
8317  d.vals[50] = x51;
8318  d.vals[51] = x52;
8319  d.vals[52] = x53;
8320  d.vals[53] = x54;
8321  d.vals[54] = x55;
8322  d.vals[55] = x56;
8323  d.vals[56] = x57;
8324  d.vals[57] = x58;
8325  d.vals[58] = x59;
8326  d.vals[59] = x60;
8327  d.vals[60] = x61;
8328  d.vals[61] = x62;
8329  d.vals[62] = x63;
8330  d.vals[63] = x64;
8331  d.vals[64] = x65;
8332  d.vals[65] = x66;
8333  d.vals[66] = x67;
8334  d.vals[67] = x68;
8335  d.vals[68] = x69;
8336  d.vals[69] = x70;
8337  d.vals[70] = x71;
8338  d.vals[71] = x72;
8339  d.vals[72] = x73;
8340  d.vals[73] = x74;
8341  d.vals[74] = x75;
8342  d.vals[75] = x76;
8343  d.vals[76] = x77;
8344  d.vals[77] = x78;
8345  d.vals[78] = x79;
8346  d.vals[79] = x80;
8347  d.vals[80] = x81;
8348  d.vals[81] = x82;
8349  d.vals[82] = x83;
8350  d.vals[83] = x84;
8351  d.vals[84] = x85;
8352  d.vals[85] = x86;
8353  d.vals[86] = x87;
8354  return d;
8355 }
8356 inline Operator<Internal::Data<88, double> > Data(double x1, double x2, double x3, double x4, double x5, double x6, double x7, double x8, double x9, double x10, double x11, double x12, double x13, double x14, double x15, double x16, double x17, double x18, double x19, double x20, double x21, double x22, double x23, double x24, double x25, double x26, double x27, double x28, double x29, double x30, double x31, double x32, double x33, double x34, double x35, double x36, double x37, double x38, double x39, double x40, double x41, double x42, double x43, double x44, double x45, double x46, double x47, double x48, double x49, double x50, double x51, double x52, double x53, double x54, double x55, double x56, double x57, double x58, double x59, double x60, double x61, double x62, double x63, double x64, double x65, double x66, double x67, double x68, double x69, double x70, double x71, double x72, double x73, double x74, double x75, double x76, double x77, double x78, double x79, double x80, double x81, double x82, double x83, double x84, double x85, double x86, double x87, double x88){
8358  d.vals[0] = x1;
8359  d.vals[1] = x2;
8360  d.vals[2] = x3;
8361  d.vals[3] = x4;
8362  d.vals[4] = x5;
8363  d.vals[5] = x6;
8364  d.vals[6] = x7;
8365  d.vals[7] = x8;
8366  d.vals[8] = x9;
8367  d.vals[9] = x10;
8368  d.vals[10] = x11;
8369  d.vals[11] = x12;
8370  d.vals[12] = x13;
8371  d.vals[13] = x14;
8372  d.vals[14] = x15;
8373  d.vals[15] = x16;
8374  d.vals[16] = x17;
8375  d.vals[17] = x18;
8376  d.vals[18] = x19;
8377  d.vals[19] = x20;
8378  d.vals[20] = x21;
8379  d.vals[21] = x22;
8380  d.vals[22] = x23;
8381  d.vals[23] = x24;
8382  d.vals[24] = x25;
8383  d.vals[25] = x26;
8384  d.vals[26] = x27;
8385  d.vals[27] = x28;
8386  d.vals[28] = x29;
8387  d.vals[29] = x30;
8388  d.vals[30] = x31;
8389  d.vals[31] = x32;
8390  d.vals[32] = x33;
8391  d.vals[33] = x34;
8392  d.vals[34] = x35;
8393  d.vals[35] = x36;
8394  d.vals[36] = x37;
8395  d.vals[37] = x38;
8396  d.vals[38] = x39;
8397  d.vals[39] = x40;
8398  d.vals[40] = x41;
8399  d.vals[41] = x42;
8400  d.vals[42] = x43;
8401  d.vals[43] = x44;
8402  d.vals[44] = x45;
8403  d.vals[45] = x46;
8404  d.vals[46] = x47;
8405  d.vals[47] = x48;
8406  d.vals[48] = x49;
8407  d.vals[49] = x50;
8408  d.vals[50] = x51;
8409  d.vals[51] = x52;
8410  d.vals[52] = x53;
8411  d.vals[53] = x54;
8412  d.vals[54] = x55;
8413  d.vals[55] = x56;
8414  d.vals[56] = x57;
8415  d.vals[57] = x58;
8416  d.vals[58] = x59;
8417  d.vals[59] = x60;
8418  d.vals[60] = x61;
8419  d.vals[61] = x62;
8420  d.vals[62] = x63;
8421  d.vals[63] = x64;
8422  d.vals[64] = x65;
8423  d.vals[65] = x66;
8424  d.vals[66] = x67;
8425  d.vals[67] = x68;
8426  d.vals[68] = x69;
8427  d.vals[69] = x70;
8428  d.vals[70] = x71;
8429  d.vals[71] = x72;
8430  d.vals[72] = x73;
8431  d.vals[73] = x74;
8432  d.vals[74] = x75;
8433  d.vals[75] = x76;
8434  d.vals[76] = x77;
8435  d.vals[77] = x78;
8436  d.vals[78] = x79;
8437  d.vals[79] = x80;
8438  d.vals[80] = x81;
8439  d.vals[81] = x82;
8440  d.vals[82] = x83;
8441  d.vals[83] = x84;
8442  d.vals[84] = x85;
8443  d.vals[85] = x86;
8444  d.vals[86] = x87;
8445  d.vals[87] = x88;
8446  return d;
8447 }
8448 template<typename Precision> inline Operator<Internal::Data<88, Precision> > Data(const Precision& x1, const Precision& x2, const Precision& x3, const Precision& x4, const Precision& x5, const Precision& x6, const Precision& x7, const Precision& x8, const Precision& x9, const Precision& x10, const Precision& x11, const Precision& x12, const Precision& x13, const Precision& x14, const Precision& x15, const Precision& x16, const Precision& x17, const Precision& x18, const Precision& x19, const Precision& x20, const Precision& x21, const Precision& x22, const Precision& x23, const Precision& x24, const Precision& x25, const Precision& x26, const Precision& x27, const Precision& x28, const Precision& x29, const Precision& x30, const Precision& x31, const Precision& x32, const Precision& x33, const Precision& x34, const Precision& x35, const Precision& x36, const Precision& x37, const Precision& x38, const Precision& x39, const Precision& x40, const Precision& x41, const Precision& x42, const Precision& x43, const Precision& x44, const Precision& x45, const Precision& x46, const Precision& x47, const Precision& x48, const Precision& x49, const Precision& x50, const Precision& x51, const Precision& x52, const Precision& x53, const Precision& x54, const Precision& x55, const Precision& x56, const Precision& x57, const Precision& x58, const Precision& x59, const Precision& x60, const Precision& x61, const Precision& x62, const Precision& x63, const Precision& x64, const Precision& x65, const Precision& x66, const Precision& x67, const Precision& x68, const Precision& x69, const Precision& x70, const Precision& x71, const Precision& x72, const Precision& x73, const Precision& x74, const Precision& x75, const Precision& x76, const Precision& x77, const Precision& x78, const Precision& x79, const Precision& x80, const Precision& x81, const Precision& x82, const Precision& x83, const Precision& x84, const Precision& x85, const Precision& x86, const Precision& x87, const Precision& x88){
8450  d.vals[0] = x1;
8451  d.vals[1] = x2;
8452  d.vals[2] = x3;
8453  d.vals[3] = x4;
8454  d.vals[4] = x5;
8455  d.vals[5] = x6;
8456  d.vals[6] = x7;
8457  d.vals[7] = x8;
8458  d.vals[8] = x9;
8459  d.vals[9] = x10;
8460  d.vals[10] = x11;
8461  d.vals[11] = x12;
8462  d.vals[12] = x13;
8463  d.vals[13] = x14;
8464  d.vals[14] = x15;
8465  d.vals[15] = x16;
8466  d.vals[16] = x17;
8467  d.vals[17] = x18;
8468  d.vals[18] = x19;
8469  d.vals[19] = x20;
8470  d.vals[20] = x21;
8471  d.vals[21] = x22;
8472  d.vals[22] = x23;
8473  d.vals[23] = x24;
8474  d.vals[24] = x25;
8475  d.vals[25] = x26;
8476  d.vals[26] = x27;
8477  d.vals[27] = x28;
8478  d.vals[28] = x29;
8479  d.vals[29] = x30;
8480  d.vals[30] = x31;
8481  d.vals[31] = x32;
8482  d.vals[32] = x33;
8483  d.vals[33] = x34;
8484  d.vals[34] = x35;
8485  d.vals[35] = x36;
8486  d.vals[36] = x37;
8487  d.vals[37] = x38;
8488  d.vals[38] = x39;
8489  d.vals[39] = x40;
8490  d.vals[40] = x41;
8491  d.vals[41] = x42;
8492  d.vals[42] = x43;
8493  d.vals[43] = x44;
8494  d.vals[44] = x45;
8495  d.vals[45] = x46;
8496  d.vals[46] = x47;
8497  d.vals[47] = x48;
8498  d.vals[48] = x49;
8499  d.vals[49] = x50;
8500  d.vals[50] = x51;
8501  d.vals[51] = x52;
8502  d.vals[52] = x53;
8503  d.vals[53] = x54;
8504  d.vals[54] = x55;
8505  d.vals[55] = x56;
8506  d.vals[56] = x57;
8507  d.vals[57] = x58;
8508  d.vals[58] = x59;
8509  d.vals[59] = x60;
8510  d.vals[60] = x61;
8511  d.vals[61] = x62;
8512  d.vals[62] = x63;
8513  d.vals[63] = x64;
8514  d.vals[64] = x65;
8515  d.vals[65] = x66;
8516  d.vals[66] = x67;
8517  d.vals[67] = x68;
8518  d.vals[68] = x69;
8519  d.vals[69] = x70;
8520  d.vals[70] = x71;
8521  d.vals[71] = x72;
8522  d.vals[72] = x73;
8523  d.vals[73] = x74;
8524  d.vals[74] = x75;
8525  d.vals[75] = x76;
8526  d.vals[76] = x77;
8527  d.vals[77] = x78;
8528  d.vals[78] = x79;
8529  d.vals[79] = x80;
8530  d.vals[80] = x81;
8531  d.vals[81] = x82;
8532  d.vals[82] = x83;
8533  d.vals[83] = x84;
8534  d.vals[84] = x85;
8535  d.vals[85] = x86;
8536  d.vals[86] = x87;
8537  d.vals[87] = x88;
8538  return d;
8539 }
8540 inline Operator<Internal::Data<89, double> > Data(double x1, double x2, double x3, double x4, double x5, double x6, double x7, double x8, double x9, double x10, double x11, double x12, double x13, double x14, double x15, double x16, double x17, double x18, double x19, double x20, double x21, double x22, double x23, double x24, double x25, double x26, double x27, double x28, double x29, double x30, double x31, double x32, double x33, double x34, double x35, double x36, double x37, double x38, double x39, double x40, double x41, double x42, double x43, double x44, double x45, double x46, double x47, double x48, double x49, double x50, double x51, double x52, double x53, double x54, double x55, double x56, double x57, double x58, double x59, double x60, double x61, double x62, double x63, double x64, double x65, double x66, double x67, double x68, double x69, double x70, double x71, double x72, double x73, double x74, double x75, double x76, double x77, double x78, double x79, double x80, double x81, double x82, double x83, double x84, double x85, double x86, double x87, double x88, double x89){
8542  d.vals[0] = x1;
8543  d.vals[1] = x2;
8544  d.vals[2] = x3;
8545  d.vals[3] = x4;
8546  d.vals[4] = x5;
8547  d.vals[5] = x6;
8548  d.vals[6] = x7;
8549  d.vals[7] = x8;
8550  d.vals[8] = x9;
8551  d.vals[9] = x10;
8552  d.vals[10] = x11;
8553  d.vals[11] = x12;
8554  d.vals[12] = x13;
8555  d.vals[13] = x14;
8556  d.vals[14] = x15;
8557  d.vals[15] = x16;
8558  d.vals[16] = x17;
8559  d.vals[17] = x18;
8560  d.vals[18] = x19;
8561  d.vals[19] = x20;
8562  d.vals[20] = x21;
8563  d.vals[21] = x22;
8564  d.vals[22] = x23;
8565  d.vals[23] = x24;
8566  d.vals[24] = x25;
8567  d.vals[25] = x26;
8568  d.vals[26] = x27;
8569  d.vals[27] = x28;
8570  d.vals[28] = x29;
8571  d.vals[29] = x30;
8572  d.vals[30] = x31;
8573  d.vals[31] = x32;
8574  d.vals[32] = x33;
8575  d.vals[33] = x34;
8576  d.vals[34] = x35;
8577  d.vals[35] = x36;
8578  d.vals[36] = x37;
8579  d.vals[37] = x38;
8580  d.vals[38] = x39;
8581  d.vals[39] = x40;
8582  d.vals[40] = x41;
8583  d.vals[41] = x42;
8584  d.vals[42] = x43;
8585  d.vals[43] = x44;
8586  d.vals[44] = x45;
8587  d.vals[45] = x46;
8588  d.vals[46] = x47;
8589  d.vals[47] = x48;
8590  d.vals[48] = x49;
8591  d.vals[49] = x50;
8592  d.vals[50] = x51;
8593  d.vals[51] = x52;
8594  d.vals[52] = x53;
8595  d.vals[53] = x54;
8596  d.vals[54] = x55;
8597  d.vals[55] = x56;
8598  d.vals[56] = x57;
8599  d.vals[57] = x58;
8600  d.vals[58] = x59;
8601  d.vals[59] = x60;
8602  d.vals[60] = x61;
8603  d.vals[61] = x62;
8604  d.vals[62] = x63;
8605  d.vals[63] = x64;
8606  d.vals[64] = x65;
8607  d.vals[65] = x66;
8608  d.vals[66] = x67;
8609  d.vals[67] = x68;
8610  d.vals[68] = x69;
8611  d.vals[69] = x70;
8612  d.vals[70] = x71;
8613  d.vals[71] = x72;
8614  d.vals[72] = x73;
8615  d.vals[73] = x74;
8616  d.vals[74] = x75;
8617  d.vals[75] = x76;
8618  d.vals[76] = x77;
8619  d.vals[77] = x78;
8620  d.vals[78] = x79;
8621  d.vals[79] = x80;
8622  d.vals[80] = x81;
8623  d.vals[81] = x82;
8624  d.vals[82] = x83;
8625  d.vals[83] = x84;
8626  d.vals[84] = x85;
8627  d.vals[85] = x86;
8628  d.vals[86] = x87;
8629  d.vals[87] = x88;
8630  d.vals[88] = x89;
8631  return d;
8632 }
8633 template<typename Precision> inline Operator<Internal::Data<89, Precision> > Data(const Precision& x1, const Precision& x2, const Precision& x3, const Precision& x4, const Precision& x5, const Precision& x6, const Precision& x7, const Precision& x8, const Precision& x9, const Precision& x10, const Precision& x11, const Precision& x12, const Precision& x13, const Precision& x14, const Precision& x15, const Precision& x16, const Precision& x17, const Precision& x18, const Precision& x19, const Precision& x20, const Precision& x21, const Precision& x22, const Precision& x23, const Precision& x24, const Precision& x25, const Precision& x26, const Precision& x27, const Precision& x28, const Precision& x29, const Precision& x30, const Precision& x31, const Precision& x32, const Precision& x33, const Precision& x34, const Precision& x35, const Precision& x36, const Precision& x37, const Precision& x38, const Precision& x39, const Precision& x40, const Precision& x41, const Precision& x42, const Precision& x43, const Precision& x44, const Precision& x45, const Precision& x46, const Precision& x47, const Precision& x48, const Precision& x49, const Precision& x50, const Precision& x51, const Precision& x52, const Precision& x53, const Precision& x54, const Precision& x55, const Precision& x56, const Precision& x57, const Precision& x58, const Precision& x59, const Precision& x60, const Precision& x61, const Precision& x62, const Precision& x63, const Precision& x64, const Precision& x65, const Precision& x66, const Precision& x67, const Precision& x68, const Precision& x69, const Precision& x70, const Precision& x71, const Precision& x72, const Precision& x73, const Precision& x74, const Precision& x75, const Precision& x76, const Precision& x77, const Precision& x78, const Precision& x79, const Precision& x80, const Precision& x81, const Precision& x82, const Precision& x83, const Precision& x84, const Precision& x85, const Precision& x86, const Precision& x87, const Precision& x88, const Precision& x89){
8635  d.vals[0] = x1;
8636  d.vals[1] = x2;
8637  d.vals[2] = x3;
8638  d.vals[3] = x4;
8639  d.vals[4] = x5;
8640  d.vals[5] = x6;
8641  d.vals[6] = x7;
8642  d.vals[7] = x8;
8643  d.vals[8] = x9;
8644  d.vals[9] = x10;
8645  d.vals[10] = x11;
8646  d.vals[11] = x12;
8647  d.vals[12] = x13;
8648  d.vals[13] = x14;
8649  d.vals[14] = x15;
8650  d.vals[15] = x16;
8651  d.vals[16] = x17;
8652  d.vals[17] = x18;
8653  d.vals[18] = x19;
8654  d.vals[19] = x20;
8655  d.vals[20] = x21;
8656  d.vals[21] = x22;
8657  d.vals[22] = x23;
8658  d.vals[23] = x24;
8659  d.vals[24] = x25;
8660  d.vals[25] = x26;
8661  d.vals[26] = x27;
8662  d.vals[27] = x28;
8663  d.vals[28] = x29;
8664  d.vals[29] = x30;
8665  d.vals[30] = x31;
8666  d.vals[31] = x32;
8667  d.vals[32] = x33;
8668  d.vals[33] = x34;
8669  d.vals[34] = x35;
8670  d.vals[35] = x36;
8671  d.vals[36] = x37;
8672  d.vals[37] = x38;
8673  d.vals[38] = x39;
8674  d.vals[39] = x40;
8675  d.vals[40] = x41;
8676  d.vals[41] = x42;
8677  d.vals[42] = x43;
8678  d.vals[43] = x44;
8679  d.vals[44] = x45;
8680  d.vals[45] = x46;
8681  d.vals[46] = x47;
8682  d.vals[47] = x48;
8683  d.vals[48] = x49;
8684  d.vals[49] = x50;
8685  d.vals[50] = x51;
8686  d.vals[51] = x52;
8687  d.vals[52] = x53;
8688  d.vals[53] = x54;
8689  d.vals[54] = x55;
8690  d.vals[55] = x56;
8691  d.vals[56] = x57;
8692  d.vals[57] = x58;
8693  d.vals[58] = x59;
8694  d.vals[59] = x60;
8695  d.vals[60] = x61;
8696  d.vals[61] = x62;
8697  d.vals[62] = x63;
8698  d.vals[63] = x64;
8699  d.vals[64] = x65;
8700  d.vals[65] = x66;
8701  d.vals[66] = x67;
8702  d.vals[67] = x68;
8703  d.vals[68] = x69;
8704  d.vals[69] = x70;
8705  d.vals[70] = x71;
8706  d.vals[71] = x72;
8707  d.vals[72] = x73;
8708  d.vals[73] = x74;
8709  d.vals[74] = x75;
8710  d.vals[75] = x76;
8711  d.vals[76] = x77;
8712  d.vals[77] = x78;
8713  d.vals[78] = x79;
8714  d.vals[79] = x80;
8715  d.vals[80] = x81;
8716  d.vals[81] = x82;
8717  d.vals[82] = x83;
8718  d.vals[83] = x84;
8719  d.vals[84] = x85;
8720  d.vals[85] = x86;
8721  d.vals[86] = x87;
8722  d.vals[87] = x88;
8723  d.vals[88] = x89;
8724  return d;
8725 }
8726 inline Operator<Internal::Data<90, double> > Data(double x1, double x2, double x3, double x4, double x5, double x6, double x7, double x8, double x9, double x10, double x11, double x12, double x13, double x14, double x15, double x16, double x17, double x18, double x19, double x20, double x21, double x22, double x23, double x24, double x25, double x26, double x27, double x28, double x29, double x30, double x31, double x32, double x33, double x34, double x35, double x36, double x37, double x38, double x39, double x40, double x41, double x42, double x43, double x44, double x45, double x46, double x47, double x48, double x49, double x50, double x51, double x52, double x53, double x54, double x55, double x56, double x57, double x58, double x59, double x60, double x61, double x62, double x63, double x64, double x65, double x66, double x67, double x68, double x69, double x70, double x71, double x72, double x73, double x74, double x75, double x76, double x77, double x78, double x79, double x80, double x81, double x82, double x83, double x84, double x85, double x86, double x87, double x88, double x89, double x90){
8728  d.vals[0] = x1;
8729  d.vals[1] = x2;
8730  d.vals[2] = x3;
8731  d.vals[3] = x4;
8732  d.vals[4] = x5;
8733  d.vals[5] = x6;
8734  d.vals[6] = x7;
8735  d.vals[7] = x8;
8736  d.vals[8] = x9;
8737  d.vals[9] = x10;
8738  d.vals[10] = x11;
8739  d.vals[11] = x12;
8740  d.vals[12] = x13;
8741  d.vals[13] = x14;
8742  d.vals[14] = x15;
8743  d.vals[15] = x16;
8744  d.vals[16] = x17;
8745  d.vals[17] = x18;
8746  d.vals[18] = x19;
8747  d.vals[19] = x20;
8748  d.vals[20] = x21;
8749  d.vals[21] = x22;
8750  d.vals[22] = x23;
8751  d.vals[23] = x24;
8752  d.vals[24] = x25;
8753  d.vals[25] = x26;
8754  d.vals[26] = x27;
8755  d.vals[27] = x28;
8756  d.vals[28] = x29;
8757  d.vals[29] = x30;
8758  d.vals[30] = x31;
8759  d.vals[31] = x32;
8760  d.vals[32] = x33;
8761  d.vals[33] = x34;
8762  d.vals[34] = x35;
8763  d.vals[35] = x36;
8764  d.vals[36] = x37;
8765  d.vals[37] = x38;
8766  d.vals[38] = x39;
8767  d.vals[39] = x40;
8768  d.vals[40] = x41;
8769  d.vals[41] = x42;
8770  d.vals[42] = x43;
8771  d.vals[43] = x44;
8772  d.vals[44] = x45;
8773  d.vals[45] = x46;
8774  d.vals[46] = x47;
8775  d.vals[47] = x48;
8776  d.vals[48] = x49;
8777  d.vals[49] = x50;
8778  d.vals[50] = x51;
8779  d.vals[51] = x52;
8780  d.vals[52] = x53;
8781  d.vals[53] = x54;
8782  d.vals[54] = x55;
8783  d.vals[55] = x56;
8784  d.vals[56] = x57;
8785  d.vals[57] = x58;
8786  d.vals[58] = x59;
8787  d.vals[59] = x60;
8788  d.vals[60] = x61;
8789  d.vals[61] = x62;
8790  d.vals[62] = x63;
8791  d.vals[63] = x64;
8792  d.vals[64] = x65;
8793  d.vals[65] = x66;
8794  d.vals[66] = x67;
8795  d.vals[67] = x68;
8796  d.vals[68] = x69;
8797  d.vals[69] = x70;
8798  d.vals[70] = x71;
8799  d.vals[71] = x72;
8800  d.vals[72] = x73;
8801  d.vals[73] = x74;
8802  d.vals[74] = x75;
8803  d.vals[75] = x76;
8804  d.vals[76] = x77;
8805  d.vals[77] = x78;
8806  d.vals[78] = x79;
8807  d.vals[79] = x80;
8808  d.vals[80] = x81;
8809  d.vals[81] = x82;
8810  d.vals[82] = x83;
8811  d.vals[83] = x84;
8812  d.vals[84] = x85;
8813  d.vals[85] = x86;
8814  d.vals[86] = x87;
8815  d.vals[87] = x88;
8816  d.vals[88] = x89;
8817  d.vals[89] = x90;
8818  return d;
8819 }
8820 template<typename Precision> inline Operator<Internal::Data<90, Precision> > Data(const Precision& x1, const Precision& x2, const Precision& x3, const Precision& x4, const Precision& x5, const Precision& x6, const Precision& x7, const Precision& x8, const Precision& x9, const Precision& x10, const Precision& x11, const Precision& x12, const Precision& x13, const Precision& x14, const Precision& x15, const Precision& x16, const Precision& x17, const Precision& x18, const Precision& x19, const Precision& x20, const Precision& x21, const Precision& x22, const Precision& x23, const Precision& x24, const Precision& x25, const Precision& x26, const Precision& x27, const Precision& x28, const Precision& x29, const Precision& x30, const Precision& x31, const Precision& x32, const Precision& x33, const Precision& x34, const Precision& x35, const Precision& x36, const Precision& x37, const Precision& x38, const Precision& x39, const Precision& x40, const Precision& x41, const Precision& x42, const Precision& x43, const Precision& x44, const Precision& x45, const Precision& x46, const Precision& x47, const Precision& x48, const Precision& x49, const Precision& x50, const Precision& x51, const Precision& x52, const Precision& x53, const Precision& x54, const Precision& x55, const Precision& x56, const Precision& x57, const Precision& x58, const Precision& x59, const Precision& x60, const Precision& x61, const Precision& x62, const Precision& x63, const Precision& x64, const Precision& x65, const Precision& x66, const Precision& x67, const Precision& x68, const Precision& x69, const Precision& x70, const Precision& x71, const Precision& x72, const Precision& x73, const Precision& x74, const Precision& x75, const Precision& x76, const Precision& x77, const Precision& x78, const Precision& x79, const Precision& x80, const Precision& x81, const Precision& x82, const Precision& x83, const Precision& x84, const Precision& x85, const Precision& x86, const Precision& x87, const Precision& x88, const Precision& x89, const Precision& x90){
8822  d.vals[0] = x1;
8823  d.vals[1] = x2;
8824  d.vals[2] = x3;
8825  d.vals[3] = x4;
8826  d.vals[4] = x5;
8827  d.vals[5] = x6;
8828  d.vals[6] = x7;
8829  d.vals[7] = x8;
8830  d.vals[8] = x9;
8831  d.vals[9] = x10;
8832  d.vals[10] = x11;
8833  d.vals[11] = x12;
8834  d.vals[12] = x13;
8835  d.vals[13] = x14;
8836  d.vals[14] = x15;
8837  d.vals[15] = x16;
8838  d.vals[16] = x17;
8839  d.vals[17] = x18;
8840  d.vals[18] = x19;
8841  d.vals[19] = x20;
8842  d.vals[20] = x21;
8843  d.vals[21] = x22;
8844  d.vals[22] = x23;
8845  d.vals[23] = x24;
8846  d.vals[24] = x25;
8847  d.vals[25] = x26;
8848  d.vals[26] = x27;
8849  d.vals[27] = x28;
8850  d.vals[28] = x29;
8851  d.vals[29] = x30;
8852  d.vals[30] = x31;
8853  d.vals[31] = x32;
8854  d.vals[32] = x33;
8855  d.vals[33] = x34;
8856  d.vals[34] = x35;
8857  d.vals[35] = x36;
8858  d.vals[36] = x37;
8859  d.vals[37] = x38;
8860  d.vals[38] = x39;
8861  d.vals[39] = x40;
8862  d.vals[40] = x41;
8863  d.vals[41] = x42;
8864  d.vals[42] = x43;
8865  d.vals[43] = x44;
8866  d.vals[44] = x45;
8867  d.vals[45] = x46;
8868  d.vals[46] = x47;
8869  d.vals[47] = x48;
8870  d.vals[48] = x49;
8871  d.vals[49] = x50;
8872  d.vals[50] = x51;
8873  d.vals[51] = x52;
8874  d.vals[52] = x53;
8875  d.vals[53] = x54;
8876  d.vals[54] = x55;
8877  d.vals[55] = x56;
8878  d.vals[56] = x57;
8879  d.vals[57] = x58;
8880  d.vals[58] = x59;
8881  d.vals[59] = x60;
8882  d.vals[60] = x61;
8883  d.vals[61] = x62;
8884  d.vals[62] = x63;
8885  d.vals[63] = x64;
8886  d.vals[64] = x65;
8887  d.vals[65] = x66;
8888  d.vals[66] = x67;
8889  d.vals[67] = x68;
8890  d.vals[68] = x69;
8891  d.vals[69] = x70;
8892  d.vals[70] = x71;
8893  d.vals[71] = x72;
8894  d.vals[72] = x73;
8895  d.vals[73] = x74;
8896  d.vals[74] = x75;
8897  d.vals[75] = x76;
8898  d.vals[76] = x77;
8899  d.vals[77] = x78;
8900  d.vals[78] = x79;
8901  d.vals[79] = x80;
8902  d.vals[80] = x81;
8903  d.vals[81] = x82;
8904  d.vals[82] = x83;
8905  d.vals[83] = x84;
8906  d.vals[84] = x85;
8907  d.vals[85] = x86;
8908  d.vals[86] = x87;
8909  d.vals[87] = x88;
8910  d.vals[88] = x89;
8911  d.vals[89] = x90;
8912  return d;
8913 }
8914 inline Operator<Internal::Data<91, double> > Data(double x1, double x2, double x3, double x4, double x5, double x6, double x7, double x8, double x9, double x10, double x11, double x12, double x13, double x14, double x15, double x16, double x17, double x18, double x19, double x20, double x21, double x22, double x23, double x24, double x25, double x26, double x27, double x28, double x29, double x30, double x31, double x32, double x33, double x34, double x35, double x36, double x37, double x38, double x39, double x40, double x41, double x42, double x43, double x44, double x45, double x46, double x47, double x48, double x49, double x50, double x51, double x52, double x53, double x54, double x55, double x56, double x57, double x58, double x59, double x60, double x61, double x62, double x63, double x64, double x65, double x66, double x67, double x68, double x69, double x70, double x71, double x72, double x73, double x74, double x75, double x76, double x77, double x78, double x79, double x80, double x81, double x82, double x83, double x84, double x85, double x86, double x87, double x88, double x89, double x90, double x91){
8916  d.vals[0] = x1;
8917  d.vals[1] = x2;
8918  d.vals[2] = x3;
8919  d.vals[3] = x4;
8920  d.vals[4] = x5;
8921  d.vals[5] = x6;
8922  d.vals[6] = x7;
8923  d.vals[7] = x8;
8924  d.vals[8] = x9;
8925  d.vals[9] = x10;
8926  d.vals[10] = x11;
8927  d.vals[11] = x12;
8928  d.vals[12] = x13;
8929  d.vals[13] = x14;
8930  d.vals[14] = x15;
8931  d.vals[15] = x16;
8932  d.vals[16] = x17;
8933  d.vals[17] = x18;
8934  d.vals[18] = x19;
8935  d.vals[19] = x20;
8936  d.vals[20] = x21;
8937  d.vals[21] = x22;
8938  d.vals[22] = x23;
8939  d.vals[23] = x24;
8940  d.vals[24] = x25;
8941  d.vals[25] = x26;
8942  d.vals[26] = x27;
8943  d.vals[27] = x28;
8944  d.vals[28] = x29;
8945  d.vals[29] = x30;
8946  d.vals[30] = x31;
8947  d.vals[31] = x32;
8948  d.vals[32] = x33;
8949  d.vals[33] = x34;
8950  d.vals[34] = x35;
8951  d.vals[35] = x36;
8952  d.vals[36] = x37;
8953  d.vals[37] = x38;
8954  d.vals[38] = x39;
8955  d.vals[39] = x40;
8956  d.vals[40] = x41;
8957  d.vals[41] = x42;
8958  d.vals[42] = x43;
8959  d.vals[43] = x44;
8960  d.vals[44] = x45;
8961  d.vals[45] = x46;
8962  d.vals[46] = x47;
8963  d.vals[47] = x48;
8964  d.vals[48] = x49;
8965  d.vals[49] = x50;
8966  d.vals[50] = x51;
8967  d.vals[51] = x52;
8968  d.vals[52] = x53;
8969  d.vals[53] = x54;
8970  d.vals[54] = x55;
8971  d.vals[55] = x56;
8972  d.vals[56] = x57;
8973  d.vals[57] = x58;
8974  d.vals[58] = x59;
8975  d.vals[59] = x60;
8976  d.vals[60] = x61;
8977  d.vals[61] = x62;
8978  d.vals[62] = x63;
8979  d.vals[63] = x64;
8980  d.vals[64] = x65;
8981  d.vals[65] = x66;
8982  d.vals[66] = x67;
8983  d.vals[67] = x68;
8984  d.vals[68] = x69;
8985  d.vals[69] = x70;
8986  d.vals[70] = x71;
8987  d.vals[71] = x72;
8988  d.vals[72] = x73;
8989  d.vals[73] = x74;
8990  d.vals[74] = x75;
8991  d.vals[75] = x76;
8992  d.vals[76] = x77;
8993  d.vals[77] = x78;
8994  d.vals[78] = x79;
8995  d.vals[79] = x80;
8996  d.vals[80] = x81;
8997  d.vals[81] = x82;
8998  d.vals[82] = x83;
8999  d.vals[83] = x84;
9000  d.vals[84] = x85;
9001  d.vals[85] = x86;
9002  d.vals[86] = x87;
9003  d.vals[87] = x88;
9004  d.vals[88] = x89;
9005  d.vals[89] = x90;
9006  d.vals[90] = x91;
9007  return d;
9008 }
9009 template<typename Precision> inline Operator<Internal::Data<91, Precision> > Data(const Precision& x1, const Precision& x2, const Precision& x3, const Precision& x4, const Precision& x5, const Precision& x6, const Precision& x7, const Precision& x8, const Precision& x9, const Precision& x10, const Precision& x11, const Precision& x12, const Precision& x13, const Precision& x14, const Precision& x15, const Precision& x16, const Precision& x17, const Precision& x18, const Precision& x19, const Precision& x20, const Precision& x21, const Precision& x22, const Precision& x23, const Precision& x24, const Precision& x25, const Precision& x26, const Precision& x27, const Precision& x28, const Precision& x29, const Precision& x30, const Precision& x31, const Precision& x32, const Precision& x33, const Precision& x34, const Precision& x35, const Precision& x36, const Precision& x37, const Precision& x38, const Precision& x39, const Precision& x40, const Precision& x41, const Precision& x42, const Precision& x43, const Precision& x44, const Precision& x45, const Precision& x46, const Precision& x47, const Precision& x48, const Precision& x49, const Precision& x50, const Precision& x51, const Precision& x52, const Precision& x53, const Precision& x54, const Precision& x55, const Precision& x56, const Precision& x57, const Precision& x58, const Precision& x59, const Precision& x60, const Precision& x61, const Precision& x62, const Precision& x63, const Precision& x64, const Precision& x65, const Precision& x66, const Precision& x67, const Precision& x68, const Precision& x69, const Precision& x70, const Precision& x71, const Precision& x72, const Precision& x73, const Precision& x74, const Precision& x75, const Precision& x76, const Precision& x77, const Precision& x78, const Precision& x79, const Precision& x80, const Precision& x81, const Precision& x82, const Precision& x83, const Precision& x84, const Precision& x85, const Precision& x86, const Precision& x87, const Precision& x88, const Precision& x89, const Precision& x90, const Precision& x91){
9011  d.vals[0] = x1;
9012  d.vals[1] = x2;
9013  d.vals[2] = x3;
9014  d.vals[3] = x4;
9015  d.vals[4] = x5;
9016  d.vals[5] = x6;
9017  d.vals[6] = x7;
9018  d.vals[7] = x8;
9019  d.vals[8] = x9;
9020  d.vals[9] = x10;
9021  d.vals[10] = x11;
9022  d.vals[11] = x12;
9023  d.vals[12] = x13;
9024  d.vals[13] = x14;
9025  d.vals[14] = x15;
9026  d.vals[15] = x16;
9027  d.vals[16] = x17;
9028  d.vals[17] = x18;
9029  d.vals[18] = x19;
9030  d.vals[19] = x20;
9031  d.vals[20] = x21;
9032  d.vals[21] = x22;
9033  d.vals[22] = x23;
9034  d.vals[23] = x24;
9035  d.vals[24] = x25;
9036  d.vals[25] = x26;
9037  d.vals[26] = x27;
9038  d.vals[27] = x28;
9039  d.vals[28] = x29;
9040  d.vals[29] = x30;
9041  d.vals[30] = x31;
9042  d.vals[31] = x32;
9043  d.vals[32] = x33;
9044  d.vals[33] = x34;
9045  d.vals[34] = x35;
9046  d.vals[35] = x36;
9047  d.vals[36] = x37;
9048  d.vals[37] = x38;
9049  d.vals[38] = x39;
9050  d.vals[39] = x40;
9051  d.vals[40] = x41;
9052  d.vals[41] = x42;
9053  d.vals[42] = x43;
9054  d.vals[43] = x44;
9055  d.vals[44] = x45;
9056  d.vals[45] = x46;
9057  d.vals[46] = x47;
9058  d.vals[47] = x48;
9059  d.vals[48] = x49;
9060  d.vals[49] = x50;
9061  d.vals[50] = x51;
9062  d.vals[51] = x52;
9063  d.vals[52] = x53;
9064  d.vals[53] = x54;
9065  d.vals[54] = x55;
9066  d.vals[55] = x56;
9067  d.vals[56] = x57;
9068  d.vals[57] = x58;
9069  d.vals[58] = x59;
9070  d.vals[59] = x60;
9071  d.vals[60] = x61;
9072  d.vals[61] = x62;
9073  d.vals[62] = x63;
9074  d.vals[63] = x64;
9075  d.vals[64] = x65;
9076  d.vals[65] = x66;
9077  d.vals[66] = x67;
9078  d.vals[67] = x68;
9079  d.vals[68] = x69;
9080  d.vals[69] = x70;
9081  d.vals[70] = x71;
9082  d.vals[71] = x72;
9083  d.vals[72] = x73;
9084  d.vals[73] = x74;
9085  d.vals[74] = x75;
9086  d.vals[75] = x76;
9087  d.vals[76] = x77;
9088  d.vals[77] = x78;
9089  d.vals[78] = x79;
9090  d.vals[79] = x80;
9091  d.vals[80] = x81;
9092  d.vals[81] = x82;
9093  d.vals[82] = x83;
9094  d.vals[83] = x84;
9095  d.vals[84] = x85;
9096  d.vals[85] = x86;
9097  d.vals[86] = x87;
9098  d.vals[87] = x88;
9099  d.vals[88] = x89;
9100  d.vals[89] = x90;
9101  d.vals[90] = x91;
9102  return d;
9103 }
9104 inline Operator<Internal::Data<92, double> > Data(double x1, double x2, double x3, double x4, double x5, double x6, double x7, double x8, double x9, double x10, double x11, double x12, double x13, double x14, double x15, double x16, double x17, double x18, double x19, double x20, double x21, double x22, double x23, double x24, double x25, double x26, double x27, double x28, double x29, double x30, double x31, double x32, double x33, double x34, double x35, double x36, double x37, double x38, double x39, double x40, double x41, double x42, double x43, double x44, double x45, double x46, double x47, double x48, double x49, double x50, double x51, double x52, double x53, double x54, double x55, double x56, double x57, double x58, double x59, double x60, double x61, double x62, double x63, double x64, double x65, double x66, double x67, double x68, double x69, double x70, double x71, double x72, double x73, double x74, double x75, double x76, double x77, double x78, double x79, double x80, double x81, double x82, double x83, double x84, double x85, double x86, double x87, double x88, double x89, double x90, double x91, double x92){
9106  d.vals[0] = x1;
9107  d.vals[1] = x2;
9108  d.vals[2] = x3;
9109  d.vals[3] = x4;
9110  d.vals[4] = x5;
9111  d.vals[5] = x6;
9112  d.vals[6] = x7;
9113  d.vals[7] = x8;
9114  d.vals[8] = x9;
9115  d.vals[9] = x10;
9116  d.vals[10] = x11;
9117  d.vals[11] = x12;
9118  d.vals[12] = x13;
9119  d.vals[13] = x14;
9120  d.vals[14] = x15;
9121  d.vals[15] = x16;
9122  d.vals[16] = x17;
9123  d.vals[17] = x18;
9124  d.vals[18] = x19;
9125  d.vals[19] = x20;
9126  d.vals[20] = x21;
9127  d.vals[21] = x22;
9128  d.vals[22] = x23;
9129  d.vals[23] = x24;
9130  d.vals[24] = x25;
9131  d.vals[25] = x26;
9132  d.vals[26] = x27;
9133  d.vals[27] = x28;
9134  d.vals[28] = x29;
9135  d.vals[29] = x30;
9136  d.vals[30] = x31;
9137  d.vals[31] = x32;
9138  d.vals[32] = x33;
9139  d.vals[33] = x34;
9140  d.vals[34] = x35;
9141  d.vals[35] = x36;
9142  d.vals[36] = x37;
9143  d.vals[37] = x38;
9144  d.vals[38] = x39;
9145  d.vals[39] = x40;
9146  d.vals[40] = x41;
9147  d.vals[41] = x42;
9148  d.vals[42] = x43;
9149  d.vals[43] = x44;
9150  d.vals[44] = x45;
9151  d.vals[45] = x46;
9152  d.vals[46] = x47;
9153  d.vals[47] = x48;
9154  d.vals[48] = x49;
9155  d.vals[49] = x50;
9156  d.vals[50] = x51;
9157  d.vals[51] = x52;
9158  d.vals[52] = x53;
9159  d.vals[53] = x54;
9160  d.vals[54] = x55;
9161  d.vals[55] = x56;
9162  d.vals[56] = x57;
9163  d.vals[57] = x58;
9164  d.vals[58] = x59;
9165  d.vals[59] = x60;
9166  d.vals[60] = x61;
9167  d.vals[61] = x62;
9168  d.vals[62] = x63;
9169  d.vals[63] = x64;
9170  d.vals[64] = x65;
9171  d.vals[65] = x66;
9172  d.vals[66] = x67;
9173  d.vals[67] = x68;
9174  d.vals[68] = x69;
9175  d.vals[69] = x70;
9176  d.vals[70] = x71;
9177  d.vals[71] = x72;
9178  d.vals[72] = x73;
9179  d.vals[73] = x74;
9180  d.vals[74] = x75;
9181  d.vals[75] = x76;
9182  d.vals[76] = x77;
9183  d.vals[77] = x78;
9184  d.vals[78] = x79;
9185  d.vals[79] = x80;
9186  d.vals[80] = x81;
9187  d.vals[81] = x82;
9188  d.vals[82] = x83;
9189  d.vals[83] = x84;
9190  d.vals[84] = x85;
9191  d.vals[85] = x86;
9192  d.vals[86] = x87;
9193  d.vals[87] = x88;
9194  d.vals[88] = x89;
9195  d.vals[89] = x90;
9196  d.vals[90] = x91;
9197  d.vals[91] = x92;
9198  return d;
9199 }
9200 template<typename Precision> inline Operator<Internal::Data<92, Precision> > Data(const Precision& x1, const Precision& x2, const Precision& x3, const Precision& x4, const Precision& x5, const Precision& x6, const Precision& x7, const Precision& x8, const Precision& x9, const Precision& x10, const Precision& x11, const Precision& x12, const Precision& x13, const Precision& x14, const Precision& x15, const Precision& x16, const Precision& x17, const Precision& x18, const Precision& x19, const Precision& x20, const Precision& x21, const Precision& x22, const Precision& x23, const Precision& x24, const Precision& x25, const Precision& x26, const Precision& x27, const Precision& x28, const Precision& x29, const Precision& x30, const Precision& x31, const Precision& x32, const Precision& x33, const Precision& x34, const Precision& x35, const Precision& x36, const Precision& x37, const Precision& x38, const Precision& x39, const Precision& x40, const Precision& x41, const Precision& x42, const Precision& x43, const Precision& x44, const Precision& x45, const Precision& x46, const Precision& x47, const Precision& x48, const Precision& x49, const Precision& x50, const Precision& x51, const Precision& x52, const Precision& x53, const Precision& x54, const Precision& x55, const Precision& x56, const Precision& x57, const Precision& x58, const Precision& x59, const Precision& x60, const Precision& x61, const Precision& x62, const Precision& x63, const Precision& x64, const Precision& x65, const Precision& x66, const Precision& x67, const Precision& x68, const Precision& x69, const Precision& x70, const Precision& x71, const Precision& x72, const Precision& x73, const Precision& x74, const Precision& x75, const Precision& x76, const Precision& x77, const Precision& x78, const Precision& x79, const Precision& x80, const Precision& x81, const Precision& x82, const Precision& x83, const Precision& x84, const Precision& x85, const Precision& x86, const Precision& x87, const Precision& x88, const Precision& x89, const Precision& x90, const Precision& x91, const Precision& x92){
9202  d.vals[0] = x1;
9203  d.vals[1] = x2;
9204  d.vals[2] = x3;
9205  d.vals[3] = x4;
9206  d.vals[4] = x5;
9207  d.vals[5] = x6;
9208  d.vals[6] = x7;
9209  d.vals[7] = x8;
9210  d.vals[8] = x9;
9211  d.vals[9] = x10;
9212  d.vals[10] = x11;
9213  d.vals[11] = x12;
9214  d.vals[12] = x13;
9215  d.vals[13] = x14;
9216  d.vals[14] = x15;
9217  d.vals[15] = x16;
9218  d.vals[16] = x17;
9219  d.vals[17] = x18;
9220  d.vals[18] = x19;
9221  d.vals[19] = x20;
9222  d.vals[20] = x21;
9223  d.vals[21] = x22;
9224  d.vals[22] = x23;
9225  d.vals[23] = x24;
9226  d.vals[24] = x25;
9227  d.vals[25] = x26;
9228  d.vals[26] = x27;
9229  d.vals[27] = x28;
9230  d.vals[28] = x29;
9231  d.vals[29] = x30;
9232  d.vals[30] = x31;
9233  d.vals[31] = x32;
9234  d.vals[32] = x33;
9235  d.vals[33] = x34;
9236  d.vals[34] = x35;
9237  d.vals[35] = x36;
9238  d.vals[36] = x37;
9239  d.vals[37] = x38;
9240  d.vals[38] = x39;
9241  d.vals[39] = x40;
9242  d.vals[40] = x41;
9243  d.vals[41] = x42;
9244  d.vals[42] = x43;
9245  d.vals[43] = x44;
9246  d.vals[44] = x45;
9247  d.vals[45] = x46;
9248  d.vals[46] = x47;
9249  d.vals[47] = x48;
9250  d.vals[48] = x49;
9251  d.vals[49] = x50;
9252  d.vals[50] = x51;
9253  d.vals[51] = x52;
9254  d.vals[52] = x53;
9255  d.vals[53] = x54;
9256  d.vals[54] = x55;
9257  d.vals[55] = x56;
9258  d.vals[56] = x57;
9259  d.vals[57] = x58;
9260  d.vals[58] = x59;
9261  d.vals[59] = x60;
9262  d.vals[60] = x61;
9263  d.vals[61] = x62;
9264  d.vals[62] = x63;
9265  d.vals[63] = x64;
9266  d.vals[64] = x65;
9267  d.vals[65] = x66;
9268  d.vals[66] = x67;
9269  d.vals[67] = x68;
9270  d.vals[68] = x69;
9271  d.vals[69] = x70;
9272  d.vals[70] = x71;
9273  d.vals[71] = x72;
9274  d.vals[72] = x73;
9275  d.vals[73] = x74;
9276  d.vals[74] = x75;
9277  d.vals[75] = x76;
9278  d.vals[76] = x77;
9279  d.vals[77] = x78;
9280  d.vals[78] = x79;
9281  d.vals[79] = x80;
9282  d.vals[80] = x81;
9283  d.vals[81] = x82;
9284  d.vals[82] = x83;
9285  d.vals[83] = x84;
9286  d.vals[84] = x85;
9287  d.vals[85] = x86;
9288  d.vals[86] = x87;
9289  d.vals[87] = x88;
9290  d.vals[88] = x89;
9291  d.vals[89] = x90;
9292  d.vals[90] = x91;
9293  d.vals[91] = x92;
9294  return d;
9295 }
9296 inline Operator<Internal::Data<93, double> > Data(double x1, double x2, double x3, double x4, double x5, double x6, double x7, double x8, double x9, double x10, double x11, double x12, double x13, double x14, double x15, double x16, double x17, double x18, double x19, double x20, double x21, double x22, double x23, double x24, double x25, double x26, double x27, double x28, double x29, double x30, double x31, double x32, double x33, double x34, double x35, double x36, double x37, double x38, double x39, double x40, double x41, double x42, double x43, double x44, double x45, double x46, double x47, double x48, double x49, double x50, double x51, double x52, double x53, double x54, double x55, double x56, double x57, double x58, double x59, double x60, double x61, double x62, double x63, double x64, double x65, double x66, double x67, double x68, double x69, double x70, double x71, double x72, double x73, double x74, double x75, double x76, double x77, double x78, double x79, double x80, double x81, double x82, double x83, double x84, double x85, double x86, double x87, double x88, double x89, double x90, double x91, double x92, double x93){
9298  d.vals[0] = x1;
9299  d.vals[1] = x2;
9300  d.vals[2] = x3;
9301  d.vals[3] = x4;
9302  d.vals[4] = x5;
9303  d.vals[5] = x6;
9304  d.vals[6] = x7;
9305  d.vals[7] = x8;
9306  d.vals[8] = x9;
9307  d.vals[9] = x10;
9308  d.vals[10] = x11;
9309  d.vals[11] = x12;
9310  d.vals[12] = x13;
9311  d.vals[13] = x14;
9312  d.vals[14] = x15;
9313  d.vals[15] = x16;
9314  d.vals[16] = x17;
9315  d.vals[17] = x18;
9316  d.vals[18] = x19;
9317  d.vals[19] = x20;
9318  d.vals[20] = x21;
9319  d.vals[21] = x22;
9320  d.vals[22] = x23;
9321  d.vals[23] = x24;
9322  d.vals[24] = x25;
9323  d.vals[25] = x26;
9324  d.vals[26] = x27;
9325  d.vals[27] = x28;
9326  d.vals[28] = x29;
9327  d.vals[29] = x30;
9328  d.vals[30] = x31;
9329  d.vals[31] = x32;
9330  d.vals[32] = x33;
9331  d.vals[33] = x34;
9332  d.vals[34] = x35;
9333  d.vals[35] = x36;
9334  d.vals[36] = x37;
9335  d.vals[37] = x38;
9336  d.vals[38] = x39;
9337  d.vals[39] = x40;
9338  d.vals[40] = x41;
9339  d.vals[41] = x42;
9340  d.vals[42] = x43;
9341  d.vals[43] = x44;
9342  d.vals[44] = x45;
9343  d.vals[45] = x46;
9344  d.vals[46] = x47;
9345  d.vals[47] = x48;
9346  d.vals[48] = x49;
9347  d.vals[49] = x50;
9348  d.vals[50] = x51;
9349  d.vals[51] = x52;
9350  d.vals[52] = x53;
9351  d.vals[53] = x54;
9352  d.vals[54] = x55;
9353  d.vals[55] = x56;
9354  d.vals[56] = x57;
9355  d.vals[57] = x58;
9356  d.vals[58] = x59;
9357  d.vals[59] = x60;
9358  d.vals[60] = x61;
9359  d.vals[61] = x62;
9360  d.vals[62] = x63;
9361  d.vals[63] = x64;
9362  d.vals[64] = x65;
9363  d.vals[65] = x66;
9364  d.vals[66] = x67;
9365  d.vals[67] = x68;
9366  d.vals[68] = x69;
9367  d.vals[69] = x70;
9368  d.vals[70] = x71;
9369  d.vals[71] = x72;
9370  d.vals[72] = x73;
9371  d.vals[73] = x74;
9372  d.vals[74] = x75;
9373  d.vals[75] = x76;
9374  d.vals[76] = x77;
9375  d.vals[77] = x78;
9376  d.vals[78] = x79;
9377  d.vals[79] = x80;
9378  d.vals[80] = x81;
9379  d.vals[81] = x82;
9380  d.vals[82] = x83;
9381  d.vals[83] = x84;
9382  d.vals[84] = x85;
9383  d.vals[85] = x86;
9384  d.vals[86] = x87;
9385  d.vals[87] = x88;
9386  d.vals[88] = x89;
9387  d.vals[89] = x90;
9388  d.vals[90] = x91;
9389  d.vals[91] = x92;
9390  d.vals[92] = x93;
9391  return d;
9392 }
9393 template<typename Precision> inline Operator<Internal::Data<93, Precision> > Data(const Precision& x1, const Precision& x2, const Precision& x3, const Precision& x4, const Precision& x5, const Precision& x6, const Precision& x7, const Precision& x8, const Precision& x9, const Precision& x10, const Precision& x11, const Precision& x12, const Precision& x13, const Precision& x14, const Precision& x15, const Precision& x16, const Precision& x17, const Precision& x18, const Precision& x19, const Precision& x20, const Precision& x21, const Precision& x22, const Precision& x23, const Precision& x24, const Precision& x25, const Precision& x26, const Precision& x27, const Precision& x28, const Precision& x29, const Precision& x30, const Precision& x31, const Precision& x32, const Precision& x33, const Precision& x34, const Precision& x35, const Precision& x36, const Precision& x37, const Precision& x38, const Precision& x39, const Precision& x40, const Precision& x41, const Precision& x42, const Precision& x43, const Precision& x44, const Precision& x45, const Precision& x46, const Precision& x47, const Precision& x48, const Precision& x49, const Precision& x50, const Precision& x51, const Precision& x52, const Precision& x53, const Precision& x54, const Precision& x55, const Precision& x56, const Precision& x57, const Precision& x58, const Precision& x59, const Precision& x60, const Precision& x61, const Precision& x62, const Precision& x63, const Precision& x64, const Precision& x65, const Precision& x66, const Precision& x67, const Precision& x68, const Precision& x69, const Precision& x70, const Precision& x71, const Precision& x72, const Precision& x73, const Precision& x74, const Precision& x75, const Precision& x76, const Precision& x77, const Precision& x78, const Precision& x79, const Precision& x80, const Precision& x81, const Precision& x82, const Precision& x83, const Precision& x84, const Precision& x85, const Precision& x86, const Precision& x87, const Precision& x88, const Precision& x89, const Precision& x90, const Precision& x91, const Precision& x92, const Precision& x93){
9395  d.vals[0] = x1;
9396  d.vals[1] = x2;
9397  d.vals[2] = x3;
9398  d.vals[3] = x4;
9399  d.vals[4] = x5;
9400  d.vals[5] = x6;
9401  d.vals[6] = x7;
9402  d.vals[7] = x8;
9403  d.vals[8] = x9;
9404  d.vals[9] = x10;
9405  d.vals[10] = x11;
9406  d.vals[11] = x12;
9407  d.vals[12] = x13;
9408  d.vals[13] = x14;
9409  d.vals[14] = x15;
9410  d.vals[15] = x16;
9411  d.vals[16] = x17;
9412  d.vals[17] = x18;
9413  d.vals[18] = x19;
9414  d.vals[19] = x20;
9415  d.vals[20] = x21;
9416  d.vals[21] = x22;
9417  d.vals[22] = x23;
9418  d.vals[23] = x24;
9419  d.vals[24] = x25;
9420  d.vals[25] = x26;
9421  d.vals[26] = x27;
9422  d.vals[27] = x28;
9423  d.vals[28] = x29;
9424  d.vals[29] = x30;
9425  d.vals[30] = x31;
9426  d.vals[31] = x32;
9427  d.vals[32] = x33;
9428  d.vals[33] = x34;
9429  d.vals[34] = x35;
9430  d.vals[35] = x36;
9431  d.vals[36] = x37;
9432  d.vals[37] = x38;
9433  d.vals[38] = x39;
9434  d.vals[39] = x40;
9435  d.vals[40] = x41;
9436  d.vals[41] = x42;
9437  d.vals[42] = x43;
9438  d.vals[43] = x44;
9439  d.vals[44] = x45;
9440  d.vals[45] = x46;
9441  d.vals[46] = x47;
9442  d.vals[47] = x48;
9443  d.vals[48] = x49;
9444  d.vals[49] = x50;
9445  d.vals[50] = x51;
9446  d.vals[51] = x52;
9447  d.vals[52] = x53;
9448  d.vals[53] = x54;
9449  d.vals[54] = x55;
9450  d.vals[55] = x56;
9451  d.vals[56] = x57;
9452  d.vals[57] = x58;
9453  d.vals[58] = x59;
9454  d.vals[59] = x60;
9455  d.vals[60] = x61;
9456  d.vals[61] = x62;
9457  d.vals[62] = x63;
9458  d.vals[63] = x64;
9459  d.vals[64] = x65;
9460  d.vals[65] = x66;
9461  d.vals[66] = x67;
9462  d.vals[67] = x68;
9463  d.vals[68] = x69;
9464  d.vals[69] = x70;
9465  d.vals[70] = x71;
9466  d.vals[71] = x72;
9467  d.vals[72] = x73;
9468  d.vals[73] = x74;
9469  d.vals[74] = x75;
9470  d.vals[75] = x76;
9471  d.vals[76] = x77;
9472  d.vals[77] = x78;
9473  d.vals[78] = x79;
9474  d.vals[79] = x80;
9475  d.vals[80] = x81;
9476  d.vals[81] = x82;
9477  d.vals[82] = x83;
9478  d.vals[83] = x84;
9479  d.vals[84] = x85;
9480  d.vals[85] = x86;
9481  d.vals[86] = x87;
9482  d.vals[87] = x88;
9483  d.vals[88] = x89;
9484  d.vals[89] = x90;
9485  d.vals[90] = x91;
9486  d.vals[91] = x92;
9487  d.vals[92] = x93;
9488  return d;
9489 }
9490 inline Operator<Internal::Data<94, double> > Data(double x1, double x2, double x3, double x4, double x5, double x6, double x7, double x8, double x9, double x10, double x11, double x12, double x13, double x14, double x15, double x16, double x17, double x18, double x19, double x20, double x21, double x22, double x23, double x24, double x25, double x26, double x27, double x28, double x29, double x30, double x31, double x32, double x33, double x34, double x35, double x36, double x37, double x38, double x39, double x40, double x41, double x42, double x43, double x44, double x45, double x46, double x47, double x48, double x49, double x50, double x51, double x52, double x53, double x54, double x55, double x56, double x57, double x58, double x59, double x60, double x61, double x62, double x63, double x64, double x65, double x66, double x67, double x68, double x69, double x70, double x71, double x72, double x73, double x74, double x75, double x76, double x77, double x78, double x79, double x80, double x81, double x82, double x83, double x84, double x85, double x86, double x87, double x88, double x89, double x90, double x91, double x92, double x93, double x94){
9492  d.vals[0] = x1;
9493  d.vals[1] = x2;
9494  d.vals[2] = x3;
9495  d.vals[3] = x4;
9496  d.vals[4] = x5;
9497  d.vals[5] = x6;
9498  d.vals[6] = x7;
9499  d.vals[7] = x8;
9500  d.vals[8] = x9;
9501  d.vals[9] = x10;
9502  d.vals[10] = x11;
9503  d.vals[11] = x12;
9504  d.vals[12] = x13;
9505  d.vals[13] = x14;
9506  d.vals[14] = x15;
9507  d.vals[15] = x16;
9508  d.vals[16] = x17;
9509  d.vals[17] = x18;
9510  d.vals[18] = x19;
9511  d.vals[19] = x20;
9512  d.vals[20] = x21;
9513  d.vals[21] = x22;
9514  d.vals[22] = x23;
9515  d.vals[23] = x24;
9516  d.vals[24] = x25;
9517  d.vals[25] = x26;
9518  d.vals[26] = x27;
9519  d.vals[27] = x28;
9520  d.vals[28] = x29;
9521  d.vals[29] = x30;
9522  d.vals[30] = x31;
9523  d.vals[31] = x32;
9524  d.vals[32] = x33;
9525  d.vals[33] = x34;
9526  d.vals[34] = x35;
9527  d.vals[35] = x36;
9528  d.vals[36] = x37;
9529  d.vals[37] = x38;
9530  d.vals[38] = x39;
9531  d.vals[39] = x40;
9532  d.vals[40] = x41;
9533  d.vals[41] = x42;
9534  d.vals[42] = x43;
9535  d.vals[43] = x44;
9536  d.vals[44] = x45;
9537  d.vals[45] = x46;
9538  d.vals[46] = x47;
9539  d.vals[47] = x48;
9540  d.vals[48] = x49;
9541  d.vals[49] = x50;
9542  d.vals[50] = x51;
9543  d.vals[51] = x52;
9544  d.vals[52] = x53;
9545  d.vals[53] = x54;
9546  d.vals[54] = x55;
9547  d.vals[55] = x56;
9548  d.vals[56] = x57;
9549  d.vals[57] = x58;
9550  d.vals[58] = x59;
9551  d.vals[59] = x60;
9552  d.vals[60] = x61;
9553  d.vals[61] = x62;
9554  d.vals[62] = x63;
9555  d.vals[63] = x64;
9556  d.vals[64] = x65;
9557  d.vals[65] = x66;
9558  d.vals[66] = x67;
9559  d.vals[67] = x68;
9560  d.vals[68] = x69;
9561  d.vals[69] = x70;
9562  d.vals[70] = x71;
9563  d.vals[71] = x72;
9564  d.vals[72] = x73;
9565  d.vals[73] = x74;
9566  d.vals[74] = x75;
9567  d.vals[75] = x76;
9568  d.vals[76] = x77;
9569  d.vals[77] = x78;
9570  d.vals[78] = x79;
9571  d.vals[79] = x80;
9572  d.vals[80] = x81;
9573  d.vals[81] = x82;
9574  d.vals[82] = x83;
9575  d.vals[83] = x84;
9576  d.vals[84] = x85;
9577  d.vals[85] = x86;
9578  d.vals[86] = x87;
9579  d.vals[87] = x88;
9580  d.vals[88] = x89;
9581  d.vals[89] = x90;
9582  d.vals[90] = x91;
9583  d.vals[91] = x92;
9584  d.vals[92] = x93;
9585  d.vals[93] = x94;
9586  return d;
9587 }
9588 template<typename Precision> inline Operator<Internal::Data<94, Precision> > Data(const Precision& x1, const Precision& x2, const Precision& x3, const Precision& x4, const Precision& x5, const Precision& x6, const Precision& x7, const Precision& x8, const Precision& x9, const Precision& x10, const Precision& x11, const Precision& x12, const Precision& x13, const Precision& x14, const Precision& x15, const Precision& x16, const Precision& x17, const Precision& x18, const Precision& x19, const Precision& x20, const Precision& x21, const Precision& x22, const Precision& x23, const Precision& x24, const Precision& x25, const Precision& x26, const Precision& x27, const Precision& x28, const Precision& x29, const Precision& x30, const Precision& x31, const Precision& x32, const Precision& x33, const Precision& x34, const Precision& x35, const Precision& x36, const Precision& x37, const Precision& x38, const Precision& x39, const Precision& x40, const Precision& x41, const Precision& x42, const Precision& x43, const Precision& x44, const Precision& x45, const Precision& x46, const Precision& x47, const Precision& x48, const Precision& x49, const Precision& x50, const Precision& x51, const Precision& x52, const Precision& x53, const Precision& x54, const Precision& x55, const Precision& x56, const Precision& x57, const Precision& x58, const Precision& x59, const Precision& x60, const Precision& x61, const Precision& x62, const Precision& x63, const Precision& x64, const Precision& x65, const Precision& x66, const Precision& x67, const Precision& x68, const Precision& x69, const Precision& x70, const Precision& x71, const Precision& x72, const Precision& x73, const Precision& x74, const Precision& x75, const Precision& x76, const Precision& x77, const Precision& x78, const Precision& x79, const Precision& x80, const Precision& x81, const Precision& x82, const Precision& x83, const Precision& x84, const Precision& x85, const Precision& x86, const Precision& x87, const Precision& x88, const Precision& x89, const Precision& x90, const Precision& x91, const Precision& x92, const Precision& x93, const Precision& x94){
9590  d.vals[0] = x1;
9591  d.vals[1] = x2;
9592  d.vals[2] = x3;
9593  d.vals[3] = x4;
9594  d.vals[4] = x5;
9595  d.vals[5] = x6;
9596  d.vals[6] = x7;
9597  d.vals[7] = x8;
9598  d.vals[8] = x9;
9599  d.vals[9] = x10;
9600  d.vals[10] = x11;
9601  d.vals[11] = x12;
9602  d.vals[12] = x13;
9603  d.vals[13] = x14;
9604  d.vals[14] = x15;
9605  d.vals[15] = x16;
9606  d.vals[16] = x17;
9607  d.vals[17] = x18;
9608  d.vals[18] = x19;
9609  d.vals[19] = x20;
9610  d.vals[20] = x21;
9611  d.vals[21] = x22;
9612  d.vals[22] = x23;
9613  d.vals[23] = x24;
9614  d.vals[24] = x25;
9615  d.vals[25] = x26;
9616  d.vals[26] = x27;
9617  d.vals[27] = x28;
9618  d.vals[28] = x29;
9619  d.vals[29] = x30;
9620  d.vals[30] = x31;
9621  d.vals[31] = x32;
9622  d.vals[32] = x33;
9623  d.vals[33] = x34;
9624  d.vals[34] = x35;
9625  d.vals[35] = x36;
9626  d.vals[36] = x37;
9627  d.vals[37] = x38;
9628  d.vals[38] = x39;
9629  d.vals[39] = x40;
9630  d.vals[40] = x41;
9631  d.vals[41] = x42;
9632  d.vals[42] = x43;
9633  d.vals[43] = x44;
9634  d.vals[44] = x45;
9635  d.vals[45] = x46;
9636  d.vals[46] = x47;
9637  d.vals[47] = x48;
9638  d.vals[48] = x49;
9639  d.vals[49] = x50;
9640  d.vals[50] = x51;
9641  d.vals[51] = x52;
9642  d.vals[52] = x53;
9643  d.vals[53] = x54;
9644  d.vals[54] = x55;
9645  d.vals[55] = x56;
9646  d.vals[56] = x57;
9647  d.vals[57] = x58;
9648  d.vals[58] = x59;
9649  d.vals[59] = x60;
9650  d.vals[60] = x61;
9651  d.vals[61] = x62;
9652  d.vals[62] = x63;
9653  d.vals[63] = x64;
9654  d.vals[64] = x65;
9655  d.vals[65] = x66;
9656  d.vals[66] = x67;
9657  d.vals[67] = x68;
9658  d.vals[68] = x69;
9659  d.vals[69] = x70;
9660  d.vals[70] = x71;
9661  d.vals[71] = x72;
9662  d.vals[72] = x73;
9663  d.vals[73] = x74;
9664  d.vals[74] = x75;
9665  d.vals[75] = x76;
9666  d.vals[76] = x77;
9667  d.vals[77] = x78;
9668  d.vals[78] = x79;
9669  d.vals[79] = x80;
9670  d.vals[80] = x81;
9671  d.vals[81] = x82;
9672  d.vals[82] = x83;
9673  d.vals[83] = x84;
9674  d.vals[84] = x85;
9675  d.vals[85] = x86;
9676  d.vals[86] = x87;
9677  d.vals[87] = x88;
9678  d.vals[88] = x89;
9679  d.vals[89] = x90;
9680  d.vals[90] = x91;
9681  d.vals[91] = x92;
9682  d.vals[92] = x93;
9683  d.vals[93] = x94;
9684  return d;
9685 }
9686 inline Operator<Internal::Data<95, double> > Data(double x1, double x2, double x3, double x4, double x5, double x6, double x7, double x8, double x9, double x10, double x11, double x12, double x13, double x14, double x15, double x16, double x17, double x18, double x19, double x20, double x21, double x22, double x23, double x24, double x25, double x26, double x27, double x28, double x29, double x30, double x31, double x32, double x33, double x34, double x35, double x36, double x37, double x38, double x39, double x40, double x41, double x42, double x43, double x44, double x45, double x46, double x47, double x48, double x49, double x50, double x51, double x52, double x53, double x54, double x55, double x56, double x57, double x58, double x59, double x60, double x61, double x62, double x63, double x64, double x65, double x66, double x67, double x68, double x69, double x70, double x71, double x72, double x73, double x74, double x75, double x76, double x77, double x78, double x79, double x80, double x81, double x82, double x83, double x84, double x85, double x86, double x87, double x88, double x89, double x90, double x91, double x92, double x93, double x94, double x95){
9688  d.vals[0] = x1;
9689  d.vals[1] = x2;
9690  d.vals[2] = x3;
9691  d.vals[3] = x4;
9692  d.vals[4] = x5;
9693  d.vals[5] = x6;
9694  d.vals[6] = x7;
9695  d.vals[7] = x8;
9696  d.vals[8] = x9;
9697  d.vals[9] = x10;
9698  d.vals[10] = x11;
9699  d.vals[11] = x12;
9700  d.vals[12] = x13;
9701  d.vals[13] = x14;
9702  d.vals[14] = x15;
9703  d.vals[15] = x16;
9704  d.vals[16] = x17;
9705  d.vals[17] = x18;
9706  d.vals[18] = x19;
9707  d.vals[19] = x20;
9708  d.vals[20] = x21;
9709  d.vals[21] = x22;
9710  d.vals[22] = x23;
9711  d.vals[23] = x24;
9712  d.vals[24] = x25;
9713  d.vals[25] = x26;
9714  d.vals[26] = x27;
9715  d.vals[27] = x28;
9716  d.vals[28] = x29;
9717  d.vals[29] = x30;
9718  d.vals[30] = x31;
9719  d.vals[31] = x32;
9720  d.vals[32] = x33;
9721  d.vals[33] = x34;
9722  d.vals[34] = x35;
9723  d.vals[35] = x36;
9724  d.vals[36] = x37;
9725  d.vals[37] = x38;
9726  d.vals[38] = x39;
9727  d.vals[39] = x40;
9728  d.vals[40] = x41;
9729  d.vals[41] = x42;
9730  d.vals[42] = x43;
9731  d.vals[43] = x44;
9732  d.vals[44] = x45;
9733  d.vals[45] = x46;
9734  d.vals[46] = x47;
9735  d.vals[47] = x48;
9736  d.vals[48] = x49;
9737  d.vals[49] = x50;
9738  d.vals[50] = x51;
9739  d.vals[51] = x52;
9740  d.vals[52] = x53;
9741  d.vals[53] = x54;
9742  d.vals[54] = x55;
9743  d.vals[55] = x56;
9744  d.vals[56] = x57;
9745  d.vals[57] = x58;
9746  d.vals[58] = x59;
9747  d.vals[59] = x60;
9748  d.vals[60] = x61;
9749  d.vals[61] = x62;
9750  d.vals[62] = x63;
9751  d.vals[63] = x64;
9752  d.vals[64] = x65;
9753  d.vals[65] = x66;
9754  d.vals[66] = x67;
9755  d.vals[67] = x68;
9756  d.vals[68] = x69;
9757  d.vals[69] = x70;
9758  d.vals[70] = x71;
9759  d.vals[71] = x72;
9760  d.vals[72] = x73;
9761  d.vals[73] = x74;
9762  d.vals[74] = x75;
9763  d.vals[75] = x76;
9764  d.vals[76] = x77;
9765  d.vals[77] = x78;
9766  d.vals[78] = x79;
9767  d.vals[79] = x80;
9768  d.vals[80] = x81;
9769  d.vals[81] = x82;
9770  d.vals[82] = x83;
9771  d.vals[83] = x84;
9772  d.vals[84] = x85;
9773  d.vals[85] = x86;
9774  d.vals[86] = x87;
9775  d.vals[87] = x88;
9776  d.vals[88] = x89;
9777  d.vals[89] = x90;
9778  d.vals[90] = x91;
9779  d.vals[91] = x92;
9780  d.vals[92] = x93;
9781  d.vals[93] = x94;
9782  d.vals[94] = x95;
9783  return d;
9784 }
9785 template<typename Precision> inline Operator<Internal::Data<95, Precision> > Data(const Precision& x1, const Precision& x2, const Precision& x3, const Precision& x4, const Precision& x5, const Precision& x6, const Precision& x7, const Precision& x8, const Precision& x9, const Precision& x10, const Precision& x11, const Precision& x12, const Precision& x13, const Precision& x14, const Precision& x15, const Precision& x16, const Precision& x17, const Precision& x18, const Precision& x19, const Precision& x20, const Precision& x21, const Precision& x22, const Precision& x23, const Precision& x24, const Precision& x25, const Precision& x26, const Precision& x27, const Precision& x28, const Precision& x29, const Precision& x30, const Precision& x31, const Precision& x32, const Precision& x33, const Precision& x34, const Precision& x35, const Precision& x36, const Precision& x37, const Precision& x38, const Precision& x39, const Precision& x40, const Precision& x41, const Precision& x42, const Precision& x43, const Precision& x44, const Precision& x45, const Precision& x46, const Precision& x47, const Precision& x48, const Precision& x49, const Precision& x50, const Precision& x51, const Precision& x52, const Precision& x53, const Precision& x54, const Precision& x55, const Precision& x56, const Precision& x57, const Precision& x58, const Precision& x59, const Precision& x60, const Precision& x61, const Precision& x62, const Precision& x63, const Precision& x64, const Precision& x65, const Precision& x66, const Precision& x67, const Precision& x68, const Precision& x69, const Precision& x70, const Precision& x71, const Precision& x72, const Precision& x73, const Precision& x74, const Precision& x75, const Precision& x76, const Precision& x77, const Precision& x78, const Precision& x79, const Precision& x80, const Precision& x81, const Precision& x82, const Precision& x83, const Precision& x84, const Precision& x85, const Precision& x86, const Precision& x87, const Precision& x88, const Precision& x89, const Precision& x90, const Precision& x91, const Precision& x92, const Precision& x93, const Precision& x94, const Precision& x95){
9787  d.vals[0] = x1;
9788  d.vals[1] = x2;
9789  d.vals[2] = x3;
9790  d.vals[3] = x4;
9791  d.vals[4] = x5;
9792  d.vals[5] = x6;
9793  d.vals[6] = x7;
9794  d.vals[7] = x8;
9795  d.vals[8] = x9;
9796  d.vals[9] = x10;
9797  d.vals[10] = x11;
9798  d.vals[11] = x12;
9799  d.vals[12] = x13;
9800  d.vals[13] = x14;
9801  d.vals[14] = x15;
9802  d.vals[15] = x16;
9803  d.vals[16] = x17;
9804  d.vals[17] = x18;
9805  d.vals[18] = x19;
9806  d.vals[19] = x20;
9807  d.vals[20] = x21;
9808  d.vals[21] = x22;
9809  d.vals[22] = x23;
9810  d.vals[23] = x24;
9811  d.vals[24] = x25;
9812  d.vals[25] = x26;
9813  d.vals[26] = x27;
9814  d.vals[27] = x28;
9815  d.vals[28] = x29;
9816  d.vals[29] = x30;
9817  d.vals[30] = x31;
9818  d.vals[31] = x32;
9819  d.vals[32] = x33;
9820  d.vals[33] = x34;
9821  d.vals[34] = x35;
9822  d.vals[35] = x36;
9823  d.vals[36] = x37;
9824  d.vals[37] = x38;
9825  d.vals[38] = x39;
9826  d.vals[39] = x40;
9827  d.vals[40] = x41;
9828  d.vals[41] = x42;
9829  d.vals[42] = x43;
9830  d.vals[43] = x44;
9831  d.vals[44] = x45;
9832  d.vals[45] = x46;
9833  d.vals[46] = x47;
9834  d.vals[47] = x48;
9835  d.vals[48] = x49;
9836  d.vals[49] = x50;
9837  d.vals[50] = x51;
9838  d.vals[51] = x52;
9839  d.vals[52] = x53;
9840  d.vals[53] = x54;
9841  d.vals[54] = x55;
9842  d.vals[55] = x56;
9843  d.vals[56] = x57;
9844  d.vals[57] = x58;
9845  d.vals[58] = x59;
9846  d.vals[59] = x60;
9847  d.vals[60] = x61;
9848  d.vals[61] = x62;
9849  d.vals[62] = x63;
9850  d.vals[63] = x64;
9851  d.vals[64] = x65;
9852  d.vals[65] = x66;
9853  d.vals[66] = x67;
9854  d.vals[67] = x68;
9855  d.vals[68] = x69;
9856  d.vals[69] = x70;
9857  d.vals[70] = x71;
9858  d.vals[71] = x72;
9859  d.vals[72] = x73;
9860  d.vals[73] = x74;
9861  d.vals[74] = x75;
9862  d.vals[75] = x76;
9863  d.vals[76] = x77;
9864  d.vals[77] = x78;
9865  d.vals[78] = x79;
9866  d.vals[79] = x80;
9867  d.vals[80] = x81;
9868  d.vals[81] = x82;
9869  d.vals[82] = x83;
9870  d.vals[83] = x84;
9871  d.vals[84] = x85;
9872  d.vals[85] = x86;
9873  d.vals[86] = x87;
9874  d.vals[87] = x88;
9875  d.vals[88] = x89;
9876  d.vals[89] = x90;
9877  d.vals[90] = x91;
9878  d.vals[91] = x92;
9879  d.vals[92] = x93;
9880  d.vals[93] = x94;
9881  d.vals[94] = x95;
9882  return d;
9883 }
9884 inline Operator<Internal::Data<96, double> > Data(double x1, double x2, double x3, double x4, double x5, double x6, double x7, double x8, double x9, double x10, double x11, double x12, double x13, double x14, double x15, double x16, double x17, double x18, double x19, double x20, double x21, double x22, double x23, double x24, double x25, double x26, double x27, double x28, double x29, double x30, double x31, double x32, double x33, double x34, double x35, double x36, double x37, double x38, double x39, double x40, double x41, double x42, double x43, double x44, double x45, double x46, double x47, double x48, double x49, double x50, double x51, double x52, double x53, double x54, double x55, double x56, double x57, double x58, double x59, double x60, double x61, double x62, double x63, double x64, double x65, double x66, double x67, double x68, double x69, double x70, double x71, double x72, double x73, double x74, double x75, double x76, double x77, double x78, double x79, double x80, double x81, double x82, double x83, double x84, double x85, double x86, double x87, double x88, double x89, double x90, double x91, double x92, double x93, double x94, double x95, double x96){
9886  d.vals[0] = x1;
9887  d.vals[1] = x2;
9888  d.vals[2] = x3;
9889  d.vals[3] = x4;
9890  d.vals[4] = x5;
9891  d.vals[5] = x6;
9892  d.vals[6] = x7;
9893  d.vals[7] = x8;
9894  d.vals[8] = x9;
9895  d.vals[9] = x10;
9896  d.vals[10] = x11;
9897  d.vals[11] = x12;
9898  d.vals[12] = x13;
9899  d.vals[13] = x14;
9900  d.vals[14] = x15;
9901  d.vals[15] = x16;
9902  d.vals[16] = x17;
9903  d.vals[17] = x18;
9904  d.vals[18] = x19;
9905  d.vals[19] = x20;
9906  d.vals[20] = x21;
9907  d.vals[21] = x22;
9908  d.vals[22] = x23;
9909  d.vals[23] = x24;
9910  d.vals[24] = x25;
9911  d.vals[25] = x26;
9912  d.vals[26] = x27;
9913  d.vals[27] = x28;
9914  d.vals[28] = x29;
9915  d.vals[29] = x30;
9916  d.vals[30] = x31;
9917  d.vals[31] = x32;
9918  d.vals[32] = x33;
9919  d.vals[33] = x34;
9920  d.vals[34] = x35;
9921  d.vals[35] = x36;
9922  d.vals[36] = x37;
9923  d.vals[37] = x38;
9924  d.vals[38] = x39;
9925  d.vals[39] = x40;
9926  d.vals[40] = x41;
9927  d.vals[41] = x42;
9928  d.vals[42] = x43;
9929  d.vals[43] = x44;
9930  d.vals[44] = x45;
9931  d.vals[45] = x46;
9932  d.vals[46] = x47;
9933  d.vals[47] = x48;
9934  d.vals[48] = x49;
9935  d.vals[49] = x50;
9936  d.vals[50] = x51;
9937  d.vals[51] = x52;
9938  d.vals[52] = x53;
9939  d.vals[53] = x54;
9940  d.vals[54] = x55;
9941  d.vals[55] = x56;
9942  d.vals[56] = x57;
9943  d.vals[57] = x58;
9944  d.vals[58] = x59;
9945  d.vals[59] = x60;
9946  d.vals[60] = x61;
9947  d.vals[61] = x62;
9948  d.vals[62] = x63;
9949  d.vals[63] = x64;
9950  d.vals[64] = x65;
9951  d.vals[65] = x66;
9952  d.vals[66] = x67;
9953  d.vals[67] = x68;
9954  d.vals[68] = x69;
9955  d.vals[69] = x70;
9956  d.vals[70] = x71;
9957  d.vals[71] = x72;
9958  d.vals[72] = x73;
9959  d.vals[73] = x74;
9960  d.vals[74] = x75;
9961  d.vals[75] = x76;
9962  d.vals[76] = x77;
9963  d.vals[77] = x78;
9964  d.vals[78] = x79;
9965  d.vals[79] = x80;
9966  d.vals[80] = x81;
9967  d.vals[81] = x82;
9968  d.vals[82] = x83;
9969  d.vals[83] = x84;
9970  d.vals[84] = x85;
9971  d.vals[85] = x86;
9972  d.vals[86] = x87;
9973  d.vals[87] = x88;
9974  d.vals[88] = x89;
9975  d.vals[89] = x90;
9976  d.vals[90] = x91;
9977  d.vals[91] = x92;
9978  d.vals[92] = x93;
9979  d.vals[93] = x94;
9980  d.vals[94] = x95;
9981  d.vals[95] = x96;
9982  return d;
9983 }
9984 template<typename Precision> inline Operator<Internal::Data<96, Precision> > Data(const Precision& x1, const Precision& x2, const Precision& x3, const Precision& x4, const Precision& x5, const Precision& x6, const Precision& x7, const Precision& x8, const Precision& x9, const Precision& x10, const Precision& x11, const Precision& x12, const Precision& x13, const Precision& x14, const Precision& x15, const Precision& x16, const Precision& x17, const Precision& x18, const Precision& x19, const Precision& x20, const Precision& x21, const Precision& x22, const Precision& x23, const Precision& x24, const Precision& x25, const Precision& x26, const Precision& x27, const Precision& x28, const Precision& x29, const Precision& x30, const Precision& x31, const Precision& x32, const Precision& x33, const Precision& x34, const Precision& x35, const Precision& x36, const Precision& x37, const Precision& x38, const Precision& x39, const Precision& x40, const Precision& x41, const Precision& x42, const Precision& x43, const Precision& x44, const Precision& x45, const Precision& x46, const Precision& x47, const Precision& x48, const Precision& x49, const Precision& x50, const Precision& x51, const Precision& x52, const Precision& x53, const Precision& x54, const Precision& x55, const Precision& x56, const Precision& x57, const Precision& x58, const Precision& x59, const Precision& x60, const Precision& x61, const Precision& x62, const Precision& x63, const Precision& x64, const Precision& x65, const Precision& x66, const Precision& x67, const Precision& x68, const Precision& x69, const Precision& x70, const Precision& x71, const Precision& x72, const Precision& x73, const Precision& x74, const Precision& x75, const Precision& x76, const Precision& x77, const Precision& x78, const Precision& x79, const Precision& x80, const Precision& x81, const Precision& x82, const Precision& x83, const Precision& x84, const Precision& x85, const Precision& x86, const Precision& x87, const Precision& x88, const Precision& x89, const Precision& x90, const Precision& x91, const Precision& x92, const Precision& x93, const Precision& x94, const Precision& x95, const Precision& x96){
9986  d.vals[0] = x1;
9987  d.vals[1] = x2;
9988  d.vals[2] = x3;
9989  d.vals[3] = x4;
9990  d.vals[4] = x5;
9991  d.vals[5] = x6;
9992  d.vals[6] = x7;
9993  d.vals[7] = x8;
9994  d.vals[8] = x9;
9995  d.vals[9] = x10;
9996  d.vals[10] = x11;
9997  d.vals[11] = x12;
9998  d.vals[12] = x13;
9999  d.vals[13] = x14;
10000  d.vals[14] = x15;
10001  d.vals[15] = x16;
10002  d.vals[16] = x17;
10003  d.vals[17] = x18;
10004  d.vals[18] = x19;
10005  d.vals[19] = x20;
10006  d.vals[20] = x21;
10007  d.vals[21] = x22;
10008  d.vals[22] = x23;
10009  d.vals[23] = x24;
10010  d.vals[24] = x25;
10011  d.vals[25] = x26;
10012  d.vals[26] = x27;
10013  d.vals[27] = x28;
10014  d.vals[28] = x29;
10015  d.vals[29] = x30;
10016  d.vals[30] = x31;
10017  d.vals[31] = x32;
10018  d.vals[32] = x33;
10019  d.vals[33] = x34;
10020  d.vals[34] = x35;
10021  d.vals[35] = x36;
10022  d.vals[36] = x37;
10023  d.vals[37] = x38;
10024  d.vals[38] = x39;
10025  d.vals[39] = x40;
10026  d.vals[40] = x41;
10027  d.vals[41] = x42;
10028  d.vals[42] = x43;
10029  d.vals[43] = x44;
10030  d.vals[44] = x45;
10031  d.vals[45] = x46;
10032  d.vals[46] = x47;
10033  d.vals[47] = x48;
10034  d.vals[48] = x49;
10035  d.vals[49] = x50;
10036  d.vals[50] = x51;
10037  d.vals[51] = x52;
10038  d.vals[52] = x53;
10039  d.vals[53] = x54;
10040  d.vals[54] = x55;
10041  d.vals[55] = x56;
10042  d.vals[56] = x57;
10043  d.vals[57] = x58;
10044  d.vals[58] = x59;
10045  d.vals[59] = x60;
10046  d.vals[60] = x61;
10047  d.vals[61] = x62;
10048  d.vals[62] = x63;
10049  d.vals[63] = x64;
10050  d.vals[64] = x65;
10051  d.vals[65] = x66;
10052  d.vals[66] = x67;
10053  d.vals[67] = x68;
10054  d.vals[68] = x69;
10055  d.vals[69] = x70;
10056  d.vals[70] = x71;
10057  d.vals[71] = x72;
10058  d.vals[72] = x73;
10059  d.vals[73] = x74;
10060  d.vals[74] = x75;
10061  d.vals[75] = x76;
10062  d.vals[76] = x77;
10063  d.vals[77] = x78;
10064  d.vals[78] = x79;
10065  d.vals[79] = x80;
10066  d.vals[80] = x81;
10067  d.vals[81] = x82;
10068  d.vals[82] = x83;
10069  d.vals[83] = x84;
10070  d.vals[84] = x85;
10071  d.vals[85] = x86;
10072  d.vals[86] = x87;
10073  d.vals[87] = x88;
10074  d.vals[88] = x89;
10075  d.vals[89] = x90;
10076  d.vals[90] = x91;
10077  d.vals[91] = x92;
10078  d.vals[92] = x93;
10079  d.vals[93] = x94;
10080  d.vals[94] = x95;
10081  d.vals[95] = x96;
10082  return d;
10083 }
10084 inline Operator<Internal::Data<97, double> > Data(double x1, double x2, double x3, double x4, double x5, double x6, double x7, double x8, double x9, double x10, double x11, double x12, double x13, double x14, double x15, double x16, double x17, double x18, double x19, double x20, double x21, double x22, double x23, double x24, double x25, double x26, double x27, double x28, double x29, double x30, double x31, double x32, double x33, double x34, double x35, double x36, double x37, double x38, double x39, double x40, double x41, double x42, double x43, double x44, double x45, double x46, double x47, double x48, double x49, double x50, double x51, double x52, double x53, double x54, double x55, double x56, double x57, double x58, double x59, double x60, double x61, double x62, double x63, double x64, double x65, double x66, double x67, double x68, double x69, double x70, double x71, double x72, double x73, double x74, double x75, double x76, double x77, double x78, double x79, double x80, double x81, double x82, double x83, double x84, double x85, double x86, double x87, double x88, double x89, double x90, double x91, double x92, double x93, double x94, double x95, double x96, double x97){
10086  d.vals[0] = x1;
10087  d.vals[1] = x2;
10088  d.vals[2] = x3;
10089  d.vals[3] = x4;
10090  d.vals[4] = x5;
10091  d.vals[5] = x6;
10092  d.vals[6] = x7;
10093  d.vals[7] = x8;
10094  d.vals[8] = x9;
10095  d.vals[9] = x10;
10096  d.vals[10] = x11;
10097  d.vals[11] = x12;
10098  d.vals[12] = x13;
10099  d.vals[13] = x14;
10100  d.vals[14] = x15;
10101  d.vals[15] = x16;
10102  d.vals[16] = x17;
10103  d.vals[17] = x18;
10104  d.vals[18] = x19;
10105  d.vals[19] = x20;
10106  d.vals[20] = x21;
10107  d.vals[21] = x22;
10108  d.vals[22] = x23;
10109  d.vals[23] = x24;
10110  d.vals[24] = x25;
10111  d.vals[25] = x26;
10112  d.vals[26] = x27;
10113  d.vals[27] = x28;
10114  d.vals[28] = x29;
10115  d.vals[29] = x30;
10116  d.vals[30] = x31;
10117  d.vals[31] = x32;
10118  d.vals[32] = x33;
10119  d.vals[33] = x34;
10120  d.vals[34] = x35;
10121  d.vals[35] = x36;
10122  d.vals[36] = x37;
10123  d.vals[37] = x38;
10124  d.vals[38] = x39;
10125  d.vals[39] = x40;
10126  d.vals[40] = x41;
10127  d.vals[41] = x42;
10128  d.vals[42] = x43;
10129  d.vals[43] = x44;
10130  d.vals[44] = x45;
10131  d.vals[45] = x46;
10132  d.vals[46] = x47;
10133  d.vals[47] = x48;
10134  d.vals[48] = x49;
10135  d.vals[49] = x50;
10136  d.vals[50] = x51;
10137  d.vals[51] = x52;
10138  d.vals[52] = x53;
10139  d.vals[53] = x54;
10140  d.vals[54] = x55;
10141  d.vals[55] = x56;
10142  d.vals[56] = x57;
10143  d.vals[57] = x58;
10144  d.vals[58] = x59;
10145  d.vals[59] = x60;
10146  d.vals[60] = x61;
10147  d.vals[61] = x62;
10148  d.vals[62] = x63;
10149  d.vals[63] = x64;
10150  d.vals[64] = x65;
10151  d.vals[65] = x66;
10152  d.vals[66] = x67;
10153  d.vals[67] = x68;
10154  d.vals[68] = x69;
10155  d.vals[69] = x70;
10156  d.vals[70] = x71;
10157  d.vals[71] = x72;
10158  d.vals[72] = x73;
10159  d.vals[73] = x74;
10160  d.vals[74] = x75;
10161  d.vals[75] = x76;
10162  d.vals[76] = x77;
10163  d.vals[77] = x78;
10164  d.vals[78] = x79;
10165  d.vals[79] = x80;
10166  d.vals[80] = x81;
10167  d.vals[81] = x82;
10168  d.vals[82] = x83;
10169  d.vals[83] = x84;
10170  d.vals[84] = x85;
10171  d.vals[85] = x86;
10172  d.vals[86] = x87;
10173  d.vals[87] = x88;
10174  d.vals[88] = x89;
10175  d.vals[89] = x90;
10176  d.vals[90] = x91;
10177  d.vals[91] = x92;
10178  d.vals[92] = x93;
10179  d.vals[93] = x94;
10180  d.vals[94] = x95;
10181  d.vals[95] = x96;
10182  d.vals[96] = x97;
10183  return d;
10184 }
10185 template<typename Precision> inline Operator<Internal::Data<97, Precision> > Data(const Precision& x1, const Precision& x2, const Precision& x3, const Precision& x4, const Precision& x5, const Precision& x6, const Precision& x7, const Precision& x8, const Precision& x9, const Precision& x10, const Precision& x11, const Precision& x12, const Precision& x13, const Precision& x14, const Precision& x15, const Precision& x16, const Precision& x17, const Precision& x18, const Precision& x19, const Precision& x20, const Precision& x21, const Precision& x22, const Precision& x23, const Precision& x24, const Precision& x25, const Precision& x26, const Precision& x27, const Precision& x28, const Precision& x29, const Precision& x30, const Precision& x31, const Precision& x32, const Precision& x33, const Precision& x34, const Precision& x35, const Precision& x36, const Precision& x37, const Precision& x38, const Precision& x39, const Precision& x40, const Precision& x41, const Precision& x42, const Precision& x43, const Precision& x44, const Precision& x45, const Precision& x46, const Precision& x47, const Precision& x48, const Precision& x49, const Precision& x50, const Precision& x51, const Precision& x52, const Precision& x53, const Precision& x54, const Precision& x55, const Precision& x56, const Precision& x57, const Precision& x58, const Precision& x59, const Precision& x60, const Precision& x61, const Precision& x62, const Precision& x63, const Precision& x64, const Precision& x65, const Precision& x66, const Precision& x67, const Precision& x68, const Precision& x69, const Precision& x70, const Precision& x71, const Precision& x72, const Precision& x73, const Precision& x74, const Precision& x75, const Precision& x76, const Precision& x77, const Precision& x78, const Precision& x79, const Precision& x80, const Precision& x81, const Precision& x82, const Precision& x83, const Precision& x84, const Precision& x85, const Precision& x86, const Precision& x87, const Precision& x88, const Precision& x89, const Precision& x90, const Precision& x91, const Precision& x92, const Precision& x93, const Precision& x94, const Precision& x95, const Precision& x96, const Precision& x97){
10187  d.vals[0] = x1;
10188  d.vals[1] = x2;
10189  d.vals[2] = x3;
10190  d.vals[3] = x4;
10191  d.vals[4] = x5;
10192  d.vals[5] = x6;
10193  d.vals[6] = x7;
10194  d.vals[7] = x8;
10195  d.vals[8] = x9;
10196  d.vals[9] = x10;
10197  d.vals[10] = x11;
10198  d.vals[11] = x12;
10199  d.vals[12] = x13;
10200  d.vals[13] = x14;
10201  d.vals[14] = x15;
10202  d.vals[15] = x16;
10203  d.vals[16] = x17;
10204  d.vals[17] = x18;
10205  d.vals[18] = x19;
10206  d.vals[19] = x20;
10207  d.vals[20] = x21;
10208  d.vals[21] = x22;
10209  d.vals[22] = x23;
10210  d.vals[23] = x24;
10211  d.vals[24] = x25;
10212  d.vals[25] = x26;
10213  d.vals[26] = x27;
10214  d.vals[27] = x28;
10215  d.vals[28] = x29;
10216  d.vals[29] = x30;
10217  d.vals[30] = x31;
10218  d.vals[31] = x32;
10219  d.vals[32] = x33;
10220  d.vals[33] = x34;
10221  d.vals[34] = x35;
10222  d.vals[35] = x36;
10223  d.vals[36] = x37;
10224  d.vals[37] = x38;
10225  d.vals[38] = x39;
10226  d.vals[39] = x40;
10227  d.vals[40] = x41;
10228  d.vals[41] = x42;
10229  d.vals[42] = x43;
10230  d.vals[43] = x44;
10231  d.vals[44] = x45;
10232  d.vals[45] = x46;
10233  d.vals[46] = x47;
10234  d.vals[47] = x48;
10235  d.vals[48] = x49;
10236  d.vals[49] = x50;
10237  d.vals[50] = x51;
10238  d.vals[51] = x52;
10239  d.vals[52] = x53;
10240  d.vals[53] = x54;
10241  d.vals[54] = x55;
10242  d.vals[55] = x56;
10243  d.vals[56] = x57;
10244  d.vals[57] = x58;
10245  d.vals[58] = x59;
10246  d.vals[59] = x60;
10247  d.vals[60] = x61;
10248  d.vals[61] = x62;
10249  d.vals[62] = x63;
10250  d.vals[63] = x64;
10251  d.vals[64] = x65;
10252  d.vals[65] = x66;
10253  d.vals[66] = x67;
10254  d.vals[67] = x68;
10255  d.vals[68] = x69;
10256  d.vals[69] = x70;
10257  d.vals[70] = x71;
10258  d.vals[71] = x72;
10259  d.vals[72] = x73;
10260  d.vals[73] = x74;
10261  d.vals[74] = x75;
10262  d.vals[75] = x76;
10263  d.vals[76] = x77;
10264  d.vals[77] = x78;
10265  d.vals[78] = x79;
10266  d.vals[79] = x80;
10267  d.vals[80] = x81;
10268  d.vals[81] = x82;
10269  d.vals[82] = x83;
10270  d.vals[83] = x84;
10271  d.vals[84] = x85;
10272  d.vals[85] = x86;
10273  d.vals[86] = x87;
10274  d.vals[87] = x88;
10275  d.vals[88] = x89;
10276  d.vals[89] = x90;
10277  d.vals[90] = x91;
10278  d.vals[91] = x92;
10279  d.vals[92] = x93;
10280  d.vals[93] = x94;
10281  d.vals[94] = x95;
10282  d.vals[95] = x96;
10283  d.vals[96] = x97;
10284  return d;
10285 }
10286 inline Operator<Internal::Data<98, double> > Data(double x1, double x2, double x3, double x4, double x5, double x6, double x7, double x8, double x9, double x10, double x11, double x12, double x13, double x14, double x15, double x16, double x17, double x18, double x19, double x20, double x21, double x22, double x23, double x24, double x25, double x26, double x27, double x28, double x29, double x30, double x31, double x32, double x33, double x34, double x35, double x36, double x37, double x38, double x39, double x40, double x41, double x42, double x43, double x44, double x45, double x46, double x47, double x48, double x49, double x50, double x51, double x52, double x53, double x54, double x55, double x56, double x57, double x58, double x59, double x60, double x61, double x62, double x63, double x64, double x65, double x66, double x67, double x68, double x69, double x70, double x71, double x72, double x73, double x74, double x75, double x76, double x77, double x78, double x79, double x80, double x81, double x82, double x83, double x84, double x85, double x86, double x87, double x88, double x89, double x90, double x91, double x92, double x93, double x94, double x95, double x96, double x97, double x98){
10288  d.vals[0] = x1;
10289  d.vals[1] = x2;
10290  d.vals[2] = x3;
10291  d.vals[3] = x4;
10292  d.vals[4] = x5;
10293  d.vals[5] = x6;
10294  d.vals[6] = x7;
10295  d.vals[7] = x8;
10296  d.vals[8] = x9;
10297  d.vals[9] = x10;
10298  d.vals[10] = x11;
10299  d.vals[11] = x12;
10300  d.vals[12] = x13;
10301  d.vals[13] = x14;
10302  d.vals[14] = x15;
10303  d.vals[15] = x16;
10304  d.vals[16] = x17;
10305  d.vals[17] = x18;
10306  d.vals[18] = x19;
10307  d.vals[19] = x20;
10308  d.vals[20] = x21;
10309  d.vals[21] = x22;
10310  d.vals[22] = x23;
10311  d.vals[23] = x24;
10312  d.vals[24] = x25;
10313  d.vals[25] = x26;
10314  d.vals[26] = x27;
10315  d.vals[27] = x28;
10316  d.vals[28] = x29;
10317  d.vals[29] = x30;
10318  d.vals[30] = x31;
10319  d.vals[31] = x32;
10320  d.vals[32] = x33;
10321  d.vals[33] = x34;
10322  d.vals[34] = x35;
10323  d.vals[35] = x36;
10324  d.vals[36] = x37;
10325  d.vals[37] = x38;
10326  d.vals[38] = x39;
10327  d.vals[39] = x40;
10328  d.vals[40] = x41;
10329  d.vals[41] = x42;
10330  d.vals[42] = x43;
10331  d.vals[43] = x44;
10332  d.vals[44] = x45;
10333  d.vals[45] = x46;
10334  d.vals[46] = x47;
10335  d.vals[47] = x48;
10336  d.vals[48] = x49;
10337  d.vals[49] = x50;
10338  d.vals[50] = x51;
10339  d.vals[51] = x52;
10340  d.vals[52] = x53;
10341  d.vals[53] = x54;
10342  d.vals[54] = x55;
10343  d.vals[55] = x56;
10344  d.vals[56] = x57;
10345  d.vals[57] = x58;
10346  d.vals[58] = x59;
10347  d.vals[59] = x60;
10348  d.vals[60] = x61;
10349  d.vals[61] = x62;
10350  d.vals[62] = x63;
10351  d.vals[63] = x64;
10352  d.vals[64] = x65;
10353  d.vals[65] = x66;
10354  d.vals[66] = x67;
10355  d.vals[67] = x68;
10356  d.vals[68] = x69;
10357  d.vals[69] = x70;
10358  d.vals[70] = x71;
10359  d.vals[71] = x72;
10360  d.vals[72] = x73;
10361  d.vals[73] = x74;
10362  d.vals[74] = x75;
10363  d.vals[75] = x76;
10364  d.vals[76] = x77;
10365  d.vals[77] = x78;
10366  d.vals[78] = x79;
10367  d.vals[79] = x80;
10368  d.vals[80] = x81;
10369  d.vals[81] = x82;
10370  d.vals[82] = x83;
10371  d.vals[83] = x84;
10372  d.vals[84] = x85;
10373  d.vals[85] = x86;
10374  d.vals[86] = x87;
10375  d.vals[87] = x88;
10376  d.vals[88] = x89;
10377  d.vals[89] = x90;
10378  d.vals[90] = x91;
10379  d.vals[91] = x92;
10380  d.vals[92] = x93;
10381  d.vals[93] = x94;
10382  d.vals[94] = x95;
10383  d.vals[95] = x96;
10384  d.vals[96] = x97;
10385  d.vals[97] = x98;
10386  return d;
10387 }
10388 template<typename Precision> inline Operator<Internal::Data<98, Precision> > Data(const Precision& x1, const Precision& x2, const Precision& x3, const Precision& x4, const Precision& x5, const Precision& x6, const Precision& x7, const Precision& x8, const Precision& x9, const Precision& x10, const Precision& x11, const Precision& x12, const Precision& x13, const Precision& x14, const Precision& x15, const Precision& x16, const Precision& x17, const Precision& x18, const Precision& x19, const Precision& x20, const Precision& x21, const Precision& x22, const Precision& x23, const Precision& x24, const Precision& x25, const Precision& x26, const Precision& x27, const Precision& x28, const Precision& x29, const Precision& x30, const Precision& x31, const Precision& x32, const Precision& x33, const Precision& x34, const Precision& x35, const Precision& x36, const Precision& x37, const Precision& x38, const Precision& x39, const Precision& x40, const Precision& x41, const Precision& x42, const Precision& x43, const Precision& x44, const Precision& x45, const Precision& x46, const Precision& x47, const Precision& x48, const Precision& x49, const Precision& x50, const Precision& x51, const Precision& x52, const Precision& x53, const Precision& x54, const Precision& x55, const Precision& x56, const Precision& x57, const Precision& x58, const Precision& x59, const Precision& x60, const Precision& x61, const Precision& x62, const Precision& x63, const Precision& x64, const Precision& x65, const Precision& x66, const Precision& x67, const Precision& x68, const Precision& x69, const Precision& x70, const Precision& x71, const Precision& x72, const Precision& x73, const Precision& x74, const Precision& x75, const Precision& x76, const Precision& x77, const Precision& x78, const Precision& x79, const Precision& x80, const Precision& x81, const Precision& x82, const Precision& x83, const Precision& x84, const Precision& x85, const Precision& x86, const Precision& x87, const Precision& x88, const Precision& x89, const Precision& x90, const Precision& x91, const Precision& x92, const Precision& x93, const Precision& x94, const Precision& x95, const Precision& x96, const Precision& x97, const Precision& x98){
10390  d.vals[0] = x1;
10391  d.vals[1] = x2;
10392  d.vals[2] = x3;
10393  d.vals[3] = x4;
10394  d.vals[4] = x5;
10395  d.vals[5] = x6;
10396  d.vals[6] = x7;
10397  d.vals[7] = x8;
10398  d.vals[8] = x9;
10399  d.vals[9] = x10;
10400  d.vals[10] = x11;
10401  d.vals[11] = x12;
10402  d.vals[12] = x13;
10403  d.vals[13] = x14;
10404  d.vals[14] = x15;
10405  d.vals[15] = x16;
10406  d.vals[16] = x17;
10407  d.vals[17] = x18;
10408  d.vals[18] = x19;
10409  d.vals[19] = x20;
10410  d.vals[20] = x21;
10411  d.vals[21] = x22;
10412  d.vals[22] = x23;
10413  d.vals[23] = x24;
10414  d.vals[24] = x25;
10415  d.vals[25] = x26;
10416  d.vals[26] = x27;
10417  d.vals[27] = x28;
10418  d.vals[28] = x29;
10419  d.vals[29] = x30;
10420  d.vals[30] = x31;
10421  d.vals[31] = x32;
10422  d.vals[32] = x33;
10423  d.vals[33] = x34;
10424  d.vals[34] = x35;
10425  d.vals[35] = x36;
10426  d.vals[36] = x37;
10427  d.vals[37] = x38;
10428  d.vals[38] = x39;
10429  d.vals[39] = x40;
10430  d.vals[40] = x41;
10431  d.vals[41] = x42;
10432  d.vals[42] = x43;
10433  d.vals[43] = x44;
10434  d.vals[44] = x45;
10435  d.vals[45] = x46;
10436  d.vals[46] = x47;
10437  d.vals[47] = x48;
10438  d.vals[48] = x49;
10439  d.vals[49] = x50;
10440  d.vals[50] = x51;
10441  d.vals[51] = x52;
10442  d.vals[52] = x53;
10443  d.vals[53] = x54;
10444  d.vals[54] = x55;
10445  d.vals[55] = x56;
10446  d.vals[56] = x57;
10447  d.vals[57] = x58;
10448  d.vals[58] = x59;
10449  d.vals[59] = x60;
10450  d.vals[60] = x61;
10451  d.vals[61] = x62;
10452  d.vals[62] = x63;
10453  d.vals[63] = x64;
10454  d.vals[64] = x65;
10455  d.vals[65] = x66;
10456  d.vals[66] = x67;
10457  d.vals[67] = x68;
10458  d.vals[68] = x69;
10459  d.vals[69] = x70;
10460  d.vals[70] = x71;
10461  d.vals[71] = x72;
10462  d.vals[72] = x73;
10463  d.vals[73] = x74;
10464  d.vals[74] = x75;
10465  d.vals[75] = x76;
10466  d.vals[76] = x77;
10467  d.vals[77] = x78;
10468  d.vals[78] = x79;
10469  d.vals[79] = x80;
10470  d.vals[80] = x81;
10471  d.vals[81] = x82;
10472  d.vals[82] = x83;
10473  d.vals[83] = x84;
10474  d.vals[84] = x85;
10475  d.vals[85] = x86;
10476  d.vals[86] = x87;
10477  d.vals[87] = x88;
10478  d.vals[88] = x89;
10479  d.vals[89] = x90;
10480  d.vals[90] = x91;
10481  d.vals[91] = x92;
10482  d.vals[92] = x93;
10483  d.vals[93] = x94;
10484  d.vals[94] = x95;
10485  d.vals[95] = x96;
10486  d.vals[96] = x97;
10487  d.vals[97] = x98;
10488  return d;
10489 }
10490 inline Operator<Internal::Data<99, double> > Data(double x1, double x2, double x3, double x4, double x5, double x6, double x7, double x8, double x9, double x10, double x11, double x12, double x13, double x14, double x15, double x16, double x17, double x18, double x19, double x20, double x21, double x22, double x23, double x24, double x25, double x26, double x27, double x28, double x29, double x30, double x31, double x32, double x33, double x34, double x35, double x36, double x37, double x38, double x39, double x40, double x41, double x42, double x43, double x44, double x45, double x46, double x47, double x48, double x49, double x50, double x51, double x52, double x53, double x54, double x55, double x56, double x57, double x58, double x59, double x60, double x61, double x62, double x63, double x64, double x65, double x66, double x67, double x68, double x69, double x70, double x71, double x72, double x73, double x74, double x75, double x76, double x77, double x78, double x79, double x80, double x81, double x82, double x83, double x84, double x85, double x86, double x87, double x88, double x89, double x90, double x91, double x92, double x93, double x94, double x95, double x96, double x97, double x98, double x99){
10492  d.vals[0] = x1;
10493  d.vals[1] = x2;
10494  d.vals[2] = x3;
10495  d.vals[3] = x4;
10496  d.vals[4] = x5;
10497  d.vals[5] = x6;
10498  d.vals[6] = x7;
10499  d.vals[7] = x8;
10500  d.vals[8] = x9;
10501  d.vals[9] = x10;
10502  d.vals[10] = x11;
10503  d.vals[11] = x12;
10504  d.vals[12] = x13;
10505  d.vals[13] = x14;
10506  d.vals[14] = x15;
10507  d.vals[15] = x16;
10508  d.vals[16] = x17;
10509  d.vals[17] = x18;
10510  d.vals[18] = x19;
10511  d.vals[19] = x20;
10512  d.vals[20] = x21;
10513  d.vals[21] = x22;
10514  d.vals[22] = x23;
10515  d.vals[23] = x24;
10516  d.vals[24] = x25;
10517  d.vals[25] = x26;
10518  d.vals[26] = x27;
10519  d.vals[27] = x28;
10520  d.vals[28] = x29;
10521  d.vals[29] = x30;
10522  d.vals[30] = x31;
10523  d.vals[31] = x32;
10524  d.vals[32] = x33;
10525  d.vals[33] = x34;
10526  d.vals[34] = x35;
10527  d.vals[35] = x36;
10528  d.vals[36] = x37;
10529  d.vals[37] = x38;
10530  d.vals[38] = x39;
10531  d.vals[39] = x40;
10532  d.vals[40] = x41;
10533  d.vals[41] = x42;
10534  d.vals[42] = x43;
10535  d.vals[43] = x44;
10536  d.vals[44] = x45;
10537  d.vals[45] = x46;
10538  d.vals[46] = x47;
10539  d.vals[47] = x48;
10540  d.vals[48] = x49;
10541  d.vals[49] = x50;
10542  d.vals[50] = x51;
10543  d.vals[51] = x52;
10544  d.vals[52] = x53;
10545  d.vals[53] = x54;
10546  d.vals[54] = x55;
10547  d.vals[55] = x56;
10548  d.vals[56] = x57;
10549  d.vals[57] = x58;
10550  d.vals[58] = x59;
10551  d.vals[59] = x60;
10552  d.vals[60] = x61;
10553  d.vals[61] = x62;
10554  d.vals[62] = x63;
10555  d.vals[63] = x64;
10556  d.vals[64] = x65;
10557  d.vals[65] = x66;
10558  d.vals[66] = x67;
10559  d.vals[67] = x68;
10560  d.vals[68] = x69;
10561  d.vals[69] = x70;
10562  d.vals[70] = x71;
10563  d.vals[71] = x72;
10564  d.vals[72] = x73;
10565  d.vals[73] = x74;
10566  d.vals[74] = x75;
10567  d.vals[75] = x76;
10568  d.vals[76] = x77;
10569  d.vals[77] = x78;
10570  d.vals[78] = x79;
10571  d.vals[79] = x80;
10572  d.vals[80] = x81;
10573  d.vals[81] = x82;
10574  d.vals[82] = x83;
10575  d.vals[83] = x84;
10576  d.vals[84] = x85;
10577  d.vals[85] = x86;
10578  d.vals[86] = x87;
10579  d.vals[87] = x88;
10580  d.vals[88] = x89;
10581  d.vals[89] = x90;
10582  d.vals[90] = x91;
10583  d.vals[91] = x92;
10584  d.vals[92] = x93;
10585  d.vals[93] = x94;
10586  d.vals[94] = x95;
10587  d.vals[95] = x96;
10588  d.vals[96] = x97;
10589  d.vals[97] = x98;
10590  d.vals[98] = x99;
10591  return d;
10592 }
10593 template<typename Precision> inline Operator<Internal::Data<99, Precision> > Data(const Precision& x1, const Precision& x2, const Precision& x3, const Precision& x4, const Precision& x5, const Precision& x6, const Precision& x7, const Precision& x8, const Precision& x9, const Precision& x10, const Precision& x11, const Precision& x12, const Precision& x13, const Precision& x14, const Precision& x15, const Precision& x16, const Precision& x17, const Precision& x18, const Precision& x19, const Precision& x20, const Precision& x21, const Precision& x22, const Precision& x23, const Precision& x24, const Precision& x25, const Precision& x26, const Precision& x27, const Precision& x28, const Precision& x29, const Precision& x30, const Precision& x31, const Precision& x32, const Precision& x33, const Precision& x34, const Precision& x35, const Precision& x36, const Precision& x37, const Precision& x38, const Precision& x39, const Precision& x40, const Precision& x41, const Precision& x42, const Precision& x43, const Precision& x44, const Precision& x45, const Precision& x46, const Precision& x47, const Precision& x48, const Precision& x49, const Precision& x50, const Precision& x51, const Precision& x52, const Precision& x53, const Precision& x54, const Precision& x55, const Precision& x56, const Precision& x57, const Precision& x58, const Precision& x59, const Precision& x60, const Precision& x61, const Precision& x62, const Precision& x63, const Precision& x64, const Precision& x65, const Precision& x66, const Precision& x67, const Precision& x68, const Precision& x69, const Precision& x70, const Precision& x71, const Precision& x72, const Precision& x73, const Precision& x74, const Precision& x75, const Precision& x76, const Precision& x77, const Precision& x78, const Precision& x79, const Precision& x80, const Precision& x81, const Precision& x82, const Precision& x83, const Precision& x84, const Precision& x85, const Precision& x86, const Precision& x87, const Precision& x88, const Precision& x89, const Precision& x90, const Precision& x91, const Precision& x92, const Precision& x93, const Precision& x94, const Precision& x95, const Precision& x96, const Precision& x97, const Precision& x98, const Precision& x99){
10595  d.vals[0] = x1;
10596  d.vals[1] = x2;
10597  d.vals[2] = x3;
10598  d.vals[3] = x4;
10599  d.vals[4] = x5;
10600  d.vals[5] = x6;
10601  d.vals[6] = x7;
10602  d.vals[7] = x8;
10603  d.vals[8] = x9;
10604  d.vals[9] = x10;
10605  d.vals[10] = x11;
10606  d.vals[11] = x12;
10607  d.vals[12] = x13;
10608  d.vals[13] = x14;
10609  d.vals[14] = x15;
10610  d.vals[15] = x16;
10611  d.vals[16] = x17;
10612  d.vals[17] = x18;
10613  d.vals[18] = x19;
10614  d.vals[19] = x20;
10615  d.vals[20] = x21;
10616  d.vals[21] = x22;
10617  d.vals[22] = x23;
10618  d.vals[23] = x24;
10619  d.vals[24] = x25;
10620  d.vals[25] = x26;
10621  d.vals[26] = x27;
10622  d.vals[27] = x28;
10623  d.vals[28] = x29;
10624  d.vals[29] = x30;
10625  d.vals[30] = x31;
10626  d.vals[31] = x32;
10627  d.vals[32] = x33;
10628  d.vals[33] = x34;
10629  d.vals[34] = x35;
10630  d.vals[35] = x36;
10631  d.vals[36] = x37;
10632  d.vals[37] = x38;
10633  d.vals[38] = x39;
10634  d.vals[39] = x40;
10635  d.vals[40] = x41;
10636  d.vals[41] = x42;
10637  d.vals[42] = x43;
10638  d.vals[43] = x44;
10639  d.vals[44] = x45;
10640  d.vals[45] = x46;
10641  d.vals[46] = x47;
10642  d.vals[47] = x48;
10643  d.vals[48] = x49;
10644  d.vals[49] = x50;
10645  d.vals[50] = x51;
10646  d.vals[51] = x52;
10647  d.vals[52] = x53;
10648  d.vals[53] = x54;
10649  d.vals[54] = x55;
10650  d.vals[55] = x56;
10651  d.vals[56] = x57;
10652  d.vals[57] = x58;
10653  d.vals[58] = x59;
10654  d.vals[59] = x60;
10655  d.vals[60] = x61;
10656  d.vals[61] = x62;
10657  d.vals[62] = x63;
10658  d.vals[63] = x64;
10659  d.vals[64] = x65;
10660  d.vals[65] = x66;
10661  d.vals[66] = x67;
10662  d.vals[67] = x68;
10663  d.vals[68] = x69;
10664  d.vals[69] = x70;
10665  d.vals[70] = x71;
10666  d.vals[71] = x72;
10667  d.vals[72] = x73;
10668  d.vals[73] = x74;
10669  d.vals[74] = x75;
10670  d.vals[75] = x76;
10671  d.vals[76] = x77;
10672  d.vals[77] = x78;
10673  d.vals[78] = x79;
10674  d.vals[79] = x80;
10675  d.vals[80] = x81;
10676  d.vals[81] = x82;
10677  d.vals[82] = x83;
10678  d.vals[83] = x84;
10679  d.vals[84] = x85;
10680  d.vals[85] = x86;
10681  d.vals[86] = x87;
10682  d.vals[87] = x88;
10683  d.vals[88] = x89;
10684  d.vals[89] = x90;
10685  d.vals[90] = x91;
10686  d.vals[91] = x92;
10687  d.vals[92] = x93;
10688  d.vals[93] = x94;
10689  d.vals[94] = x95;
10690  d.vals[95] = x96;
10691  d.vals[96] = x97;
10692  d.vals[97] = x98;
10693  d.vals[98] = x99;
10694  return d;
10695 }
10696 inline Operator<Internal::Data<100, double> > Data(double x1, double x2, double x3, double x4, double x5, double x6, double x7, double x8, double x9, double x10, double x11, double x12, double x13, double x14, double x15, double x16, double x17, double x18, double x19, double x20, double x21, double x22, double x23, double x24, double x25, double x26, double x27, double x28, double x29, double x30, double x31, double x32, double x33, double x34, double x35, double x36, double x37, double x38, double x39, double x40, double x41, double x42, double x43, double x44, double x45, double x46, double x47, double x48, double x49, double x50, double x51, double x52, double x53, double x54, double x55, double x56, double x57, double x58, double x59, double x60, double x61, double x62, double x63, double x64, double x65, double x66, double x67, double x68, double x69, double x70, double x71, double x72, double x73, double x74, double x75, double x76, double x77, double x78, double x79, double x80, double x81, double x82, double x83, double x84, double x85, double x86, double x87, double x88, double x89, double x90, double x91, double x92, double x93, double x94, double x95, double x96, double x97, double x98, double x99, double x100){
10698  d.vals[0] = x1;
10699  d.vals[1] = x2;
10700  d.vals[2] = x3;
10701  d.vals[3] = x4;
10702  d.vals[4] = x5;
10703  d.vals[5] = x6;
10704  d.vals[6] = x7;
10705  d.vals[7] = x8;
10706  d.vals[8] = x9;
10707  d.vals[9] = x10;
10708  d.vals[10] = x11;
10709  d.vals[11] = x12;
10710  d.vals[12] = x13;
10711  d.vals[13] = x14;
10712  d.vals[14] = x15;
10713  d.vals[15] = x16;
10714  d.vals[16] = x17;
10715  d.vals[17] = x18;
10716  d.vals[18] = x19;
10717  d.vals[19] = x20;
10718  d.vals[20] = x21;
10719  d.vals[21] = x22;
10720  d.vals[22] = x23;
10721  d.vals[23] = x24;
10722  d.vals[24] = x25;
10723  d.vals[25] = x26;
10724  d.vals[26] = x27;
10725  d.vals[27] = x28;
10726  d.vals[28] = x29;
10727  d.vals[29] = x30;
10728  d.vals[30] = x31;
10729  d.vals[31] = x32;
10730  d.vals[32] = x33;
10731  d.vals[33] = x34;
10732  d.vals[34] = x35;
10733  d.vals[35] = x36;
10734  d.vals[36] = x37;
10735  d.vals[37] = x38;
10736  d.vals[38] = x39;
10737  d.vals[39] = x40;
10738  d.vals[40] = x41;
10739  d.vals[41] = x42;
10740  d.vals[42] = x43;
10741  d.vals[43] = x44;
10742  d.vals[44] = x45;
10743  d.vals[45] = x46;
10744  d.vals[46] = x47;
10745  d.vals[47] = x48;
10746  d.vals[48] = x49;
10747  d.vals[49] = x50;
10748  d.vals[50] = x51;
10749  d.vals[51] = x52;
10750  d.vals[52] = x53;
10751  d.vals[53] = x54;
10752  d.vals[54] = x55;
10753  d.vals[55] = x56;
10754  d.vals[56] = x57;
10755  d.vals[57] = x58;
10756  d.vals[58] = x59;
10757  d.vals[59] = x60;
10758  d.vals[60] = x61;
10759  d.vals[61] = x62;
10760  d.vals[62] = x63;
10761  d.vals[63] = x64;
10762  d.vals[64] = x65;
10763  d.vals[65] = x66;
10764  d.vals[66] = x67;
10765  d.vals[67] = x68;
10766  d.vals[68] = x69;
10767  d.vals[69] = x70;
10768  d.vals[70] = x71;
10769  d.vals[71] = x72;
10770  d.vals[72] = x73;
10771  d.vals[73] = x74;
10772  d.vals[74] = x75;
10773  d.vals[75] = x76;
10774  d.vals[76] = x77;
10775  d.vals[77] = x78;
10776  d.vals[78] = x79;
10777  d.vals[79] = x80;
10778  d.vals[80] = x81;
10779  d.vals[81] = x82;
10780  d.vals[82] = x83;
10781  d.vals[83] = x84;
10782  d.vals[84] = x85;
10783  d.vals[85] = x86;
10784  d.vals[86] = x87;
10785  d.vals[87] = x88;
10786  d.vals[88] = x89;
10787  d.vals[89] = x90;
10788  d.vals[90] = x91;
10789  d.vals[91] = x92;
10790  d.vals[92] = x93;
10791  d.vals[93] = x94;
10792  d.vals[94] = x95;
10793  d.vals[95] = x96;
10794  d.vals[96] = x97;
10795  d.vals[97] = x98;
10796  d.vals[98] = x99;
10797  d.vals[99] = x100;
10798  return d;
10799 }
10800 template<typename Precision> inline Operator<Internal::Data<100, Precision> > Data(const Precision& x1, const Precision& x2, const Precision& x3, const Precision& x4, const Precision& x5, const Precision& x6, const Precision& x7, const Precision& x8, const Precision& x9, const Precision& x10, const Precision& x11, const Precision& x12, const Precision& x13, const Precision& x14, const Precision& x15, const Precision& x16, const Precision& x17, const Precision& x18, const Precision& x19, const Precision& x20, const Precision& x21, const Precision& x22, const Precision& x23, const Precision& x24, const Precision& x25, const Precision& x26, const Precision& x27, const Precision& x28, const Precision& x29, const Precision& x30, const Precision& x31, const Precision& x32, const Precision& x33, const Precision& x34, const Precision& x35, const Precision& x36, const Precision& x37, const Precision& x38, const Precision& x39, const Precision& x40, const Precision& x41, const Precision& x42, const Precision& x43, const Precision& x44, const Precision& x45, const Precision& x46, const Precision& x47, const Precision& x48, const Precision& x49, const Precision& x50, const Precision& x51, const Precision& x52, const Precision& x53, const Precision& x54, const Precision& x55, const Precision& x56, const Precision& x57, const Precision& x58, const Precision& x59, const Precision& x60, const Precision& x61, const Precision& x62, const Precision& x63, const Precision& x64, const Precision& x65, const Precision& x66, const Precision& x67, const Precision& x68, const Precision& x69, const Precision& x70, const Precision& x71, const Precision& x72, const Precision& x73, const Precision& x74, const Precision& x75, const Precision& x76, const Precision& x77, const Precision& x78, const Precision& x79, const Precision& x80, const Precision& x81, const Precision& x82, const Precision& x83, const Precision& x84, const Precision& x85, const Precision& x86, const Precision& x87, const Precision& x88, const Precision& x89, const Precision& x90, const Precision& x91, const Precision& x92, const Precision& x93, const Precision& x94, const Precision& x95, const Precision& x96, const Precision& x97, const Precision& x98, const Precision& x99, const Precision& x100){
10802  d.vals[0] = x1;
10803  d.vals[1] = x2;
10804  d.vals[2] = x3;
10805  d.vals[3] = x4;
10806  d.vals[4] = x5;
10807  d.vals[5] = x6;
10808  d.vals[6] = x7;
10809  d.vals[7] = x8;
10810  d.vals[8] = x9;
10811  d.vals[9] = x10;
10812  d.vals[10] = x11;
10813  d.vals[11] = x12;
10814  d.vals[12] = x13;
10815  d.vals[13] = x14;
10816  d.vals[14] = x15;
10817  d.vals[15] = x16;
10818  d.vals[16] = x17;
10819  d.vals[17] = x18;
10820  d.vals[18] = x19;
10821  d.vals[19] = x20;
10822  d.vals[20] = x21;
10823  d.vals[21] = x22;
10824  d.vals[22] = x23;
10825  d.vals[23] = x24;
10826  d.vals[24] = x25;
10827  d.vals[25] = x26;
10828  d.vals[26] = x27;
10829  d.vals[27] = x28;
10830  d.vals[28] = x29;
10831  d.vals[29] = x30;
10832  d.vals[30] = x31;
10833  d.vals[31] = x32;
10834  d.vals[32] = x33;
10835  d.vals[33] = x34;
10836  d.vals[34] = x35;
10837  d.vals[35] = x36;
10838  d.vals[36] = x37;
10839  d.vals[37] = x38;
10840  d.vals[38] = x39;
10841  d.vals[39] = x40;
10842  d.vals[40] = x41;
10843  d.vals[41] = x42;
10844  d.vals[42] = x43;
10845  d.vals[43] = x44;
10846  d.vals[44] = x45;
10847  d.vals[45] = x46;
10848  d.vals[46] = x47;
10849  d.vals[47] = x48;
10850  d.vals[48] = x49;
10851  d.vals[49] = x50;
10852  d.vals[50] = x51;
10853  d.vals[51] = x52;
10854  d.vals[52] = x53;
10855  d.vals[53] = x54;
10856  d.vals[54] = x55;
10857  d.vals[55] = x56;
10858  d.vals[56] = x57;
10859  d.vals[57] = x58;
10860  d.vals[58] = x59;
10861  d.vals[59] = x60;
10862  d.vals[60] = x61;
10863  d.vals[61] = x62;
10864  d.vals[62] = x63;
10865  d.vals[63] = x64;
10866  d.vals[64] = x65;
10867  d.vals[65] = x66;
10868  d.vals[66] = x67;
10869  d.vals[67] = x68;
10870  d.vals[68] = x69;
10871  d.vals[69] = x70;
10872  d.vals[70] = x71;
10873  d.vals[71] = x72;
10874  d.vals[72] = x73;
10875  d.vals[73] = x74;
10876  d.vals[74] = x75;
10877  d.vals[75] = x76;
10878  d.vals[76] = x77;
10879  d.vals[77] = x78;
10880  d.vals[78] = x79;
10881  d.vals[79] = x80;
10882  d.vals[80] = x81;
10883  d.vals[81] = x82;
10884  d.vals[82] = x83;
10885  d.vals[83] = x84;
10886  d.vals[84] = x85;
10887  d.vals[85] = x86;
10888  d.vals[86] = x87;
10889  d.vals[87] = x88;
10890  d.vals[88] = x89;
10891  d.vals[89] = x90;
10892  d.vals[90] = x91;
10893  d.vals[91] = x92;
10894  d.vals[92] = x93;
10895  d.vals[93] = x94;
10896  d.vals[94] = x95;
10897  d.vals[95] = x96;
10898  d.vals[96] = x97;
10899  d.vals[97] = x98;
10900  d.vals[98] = x99;
10901  d.vals[99] = x100;
10902  return d;
10903 }
10904 }
Everything lives inside this namespace.
Definition: allocator.hh:48
Operator< Internal::Data< 1, double > > Data(double x1)