~ubuntu-branches/ubuntu/wily/libzn-poly/wily

« back to all changes in this revision

Viewing changes to tuning.c

  • Committer: Bazaar Package Importer
  • Author(s): Tim Abbott
  • Date: 2008-05-27 20:23:43 UTC
  • Revision ID: james.westby@ubuntu.com-20080527202343-ufcb3fwj2as0edoz
Tags: upstream-0.8
ImportĀ upstreamĀ versionĀ 0.8

Show diffs side-by-side

added added

removed removed

Lines of Context:
 
1
/*
 
2
   NOTE: do not edit this file! It is auto-generated by the "tune" program.
 
3
   (Run "make tune" and then "./tune > tuning.c" to regenerate it.)
 
4
*/
 
5
 
 
6
/*
 
7
   tuning.c:  global tuning values
 
8
 
 
9
   Copyright (C) 2007, 2008, David Harvey
 
10
 
 
11
   This file is part of the zn_poly library (version 0.8).
 
12
 
 
13
   This program is free software: you can redistribute it and/or modify
 
14
   it under the terms of the GNU General Public License as published by
 
15
   the Free Software Foundation, either version 2 of the License, or
 
16
   (at your option) version 3 of the License.
 
17
 
 
18
   This program is distributed in the hope that it will be useful,
 
19
   but WITHOUT ANY WARRANTY; without even the implied warranty of
 
20
   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
 
21
   GNU General Public License for more details.
 
22
 
 
23
   You should have received a copy of the GNU General Public License
 
24
   along with this program.  If not, see <http://www.gnu.org/licenses/>.
 
25
 
 
26
*/
 
27
 
 
28
#include "zn_poly_internal.h"
 
29
 
 
30
tuning_info_t tuning_info[] = 
 
31
{
 
32
   {  // bits = 0
 
33
   },
 
34
   {  // bits = 1
 
35
   },
 
36
   {  // bits = 2
 
37
        132,   // KS1 -> KS2 multiplication crossover
 
38
       1053,   // KS2 -> KS4 multiplication crossover
 
39
   SIZE_MAX,   // KS4 -> FFT multiplication crossover
 
40
        158,   // KS1 -> KS2 squaring crossover
 
41
       1053,   // KS2 -> KS4 squaring crossover
 
42
   SIZE_MAX,   // KS4 -> FFT squaring crossover
 
43
       6889,   // fallback -> FFT middle product crossover
 
44
         13,   // nussbaumer multiplication crossover
 
45
         12    // nussbaumer squaring crossover
 
46
   },
 
47
   {  // bits = 3
 
48
        132,   // KS1 -> KS2 multiplication crossover
 
49
       1540,   // KS2 -> KS4 multiplication crossover
 
50
   SIZE_MAX,   // KS4 -> FFT multiplication crossover
 
51
        132,   // KS1 -> KS2 squaring crossover
 
52
       2755,   // KS2 -> KS4 squaring crossover
 
53
      28087,   // KS4 -> FFT squaring crossover
 
54
       6889,   // fallback -> FFT middle product crossover
 
55
         12,   // nussbaumer multiplication crossover
 
56
         12    // nussbaumer squaring crossover
 
57
   },
 
58
   {  // bits = 4
 
59
         86,   // KS1 -> KS2 multiplication crossover
 
60
        985,   // KS2 -> KS4 multiplication crossover
 
61
   SIZE_MAX,   // KS4 -> FFT multiplication crossover
 
62
        102,   // KS1 -> KS2 squaring crossover
 
63
       1053,   // KS2 -> KS4 squaring crossover
 
64
      32051,   // KS4 -> FFT squaring crossover
 
65
       4817,   // fallback -> FFT middle product crossover
 
66
         12,   // nussbaumer multiplication crossover
 
67
         12    // nussbaumer squaring crossover
 
68
   },
 
69
   {  // bits = 5
 
70
         72,   // KS1 -> KS2 multiplication crossover
 
71
        616,   // KS2 -> KS4 multiplication crossover
 
72
      32051,   // KS4 -> FFT multiplication crossover
 
73
        108,   // KS1 -> KS2 squaring crossover
 
74
        689,   // KS2 -> KS4 squaring crossover
 
75
      18901,   // KS4 -> FFT squaring crossover
 
76
       4817,   // fallback -> FFT middle product crossover
 
77
         12,   // nussbaumer multiplication crossover
 
78
         11    // nussbaumer squaring crossover
 
79
   },
 
80
   {  // bits = 6
 
81
         75,   // KS1 -> KS2 multiplication crossover
 
82
        901,   // KS2 -> KS4 multiplication crossover
 
83
   SIZE_MAX,   // KS4 -> FFT multiplication crossover
 
84
        108,   // KS1 -> KS2 squaring crossover
 
85
        901,   // KS2 -> KS4 squaring crossover
 
86
      14515,   // KS4 -> FFT squaring crossover
 
87
       4212,   // fallback -> FFT middle product crossover
 
88
         12,   // nussbaumer multiplication crossover
 
89
         11    // nussbaumer squaring crossover
 
90
   },
 
91
   {  // bits = 7
 
92
         75,   // KS1 -> KS2 multiplication crossover
 
93
        377,   // KS2 -> KS4 multiplication crossover
 
94
      20868,   // KS4 -> FFT multiplication crossover
 
95
        102,   // KS1 -> KS2 squaring crossover
 
96
        451,   // KS2 -> KS4 squaring crossover
 
97
      17119,   // KS4 -> FFT squaring crossover
 
98
       3445,   // fallback -> FFT middle product crossover
 
99
         11,   // nussbaumer multiplication crossover
 
100
         11    // nussbaumer squaring crossover
 
101
   },
 
102
   {  // bits = 8
 
103
         56,   // KS1 -> KS2 multiplication crossover
 
104
        431,   // KS2 -> KS4 multiplication crossover
 
105
      20868,   // KS4 -> FFT multiplication crossover
 
106
         67,   // KS1 -> KS2 squaring crossover
 
107
        576,   // KS2 -> KS4 squaring crossover
 
108
      15505,   // KS4 -> FFT squaring crossover
 
109
       3445,   // fallback -> FFT middle product crossover
 
110
         12,   // nussbaumer multiplication crossover
 
111
         11    // nussbaumer squaring crossover
 
112
   },
 
113
   {  // bits = 9
 
114
         54,   // KS1 -> KS2 multiplication crossover
 
115
        264,   // KS2 -> KS4 multiplication crossover
 
116
      17119,   // KS4 -> FFT multiplication crossover
 
117
         80,   // KS1 -> KS2 squaring crossover
 
118
        288,   // KS2 -> KS4 squaring crossover
 
119
      14044,   // KS4 -> FFT squaring crossover
 
120
       3012,   // fallback -> FFT middle product crossover
 
121
         11,   // nussbaumer multiplication crossover
 
122
         11    // nussbaumer squaring crossover
 
123
   },
 
124
   {  // bits = 10
 
125
         56,   // KS1 -> KS2 multiplication crossover
 
126
        226,   // KS2 -> KS4 multiplication crossover
 
127
      17119,   // KS4 -> FFT multiplication crossover
 
128
         80,   // KS1 -> KS2 squaring crossover
 
129
        264,   // KS2 -> KS4 squaring crossover
 
130
      12307,   // KS4 -> FFT squaring crossover
 
131
       3221,   // fallback -> FFT middle product crossover
 
132
         11,   // nussbaumer multiplication crossover
 
133
         11    // nussbaumer squaring crossover
 
134
   },
 
135
   {  // bits = 11
 
136
         50,   // KS1 -> KS2 multiplication crossover
 
137
        189,   // KS2 -> KS4 multiplication crossover
 
138
      15505,   // KS4 -> FFT multiplication crossover
 
139
         66,   // KS1 -> KS2 squaring crossover
 
140
        216,   // KS2 -> KS4 squaring crossover
 
141
      14044,   // KS4 -> FFT squaring crossover
 
142
       2755,   // fallback -> FFT middle product crossover
 
143
         11,   // nussbaumer multiplication crossover
 
144
         11    // nussbaumer squaring crossover
 
145
   },
 
146
   {  // bits = 12
 
147
         43,   // KS1 -> KS2 multiplication crossover
 
148
        132,   // KS2 -> KS4 multiplication crossover
 
149
      12307,   // KS4 -> FFT multiplication crossover
 
150
         66,   // KS1 -> KS2 squaring crossover
 
151
        173,   // KS2 -> KS4 squaring crossover
 
152
       8560,   // KS4 -> FFT squaring crossover
 
153
       2755,   // fallback -> FFT middle product crossover
 
154
         11,   // nussbaumer multiplication crossover
 
155
         11    // nussbaumer squaring crossover
 
156
   },
 
157
   {  // bits = 13
 
158
         46,   // KS1 -> KS2 multiplication crossover
 
159
        144,   // KS2 -> KS4 multiplication crossover
 
160
      14044,   // KS4 -> FFT multiplication crossover
 
161
         57,   // KS1 -> KS2 squaring crossover
 
162
        189,   // KS2 -> KS4 squaring crossover
 
163
      12307,   // KS4 -> FFT squaring crossover
 
164
       2576,   // fallback -> FFT middle product crossover
 
165
         11,   // nussbaumer multiplication crossover
 
166
         11    // nussbaumer squaring crossover
 
167
   },
 
168
   {  // bits = 14
 
169
         47,   // KS1 -> KS2 multiplication crossover
 
170
        101,   // KS2 -> KS4 multiplication crossover
 
171
      10785,   // KS4 -> FFT multiplication crossover
 
172
         57,   // KS1 -> KS2 squaring crossover
 
173
        141,   // KS2 -> KS4 squaring crossover
 
174
       7753,   // KS4 -> FFT squaring crossover
 
175
       2576,   // fallback -> FFT middle product crossover
 
176
         10,   // nussbaumer multiplication crossover
 
177
         10    // nussbaumer squaring crossover
 
178
   },
 
179
   {  // bits = 15
 
180
         40,   // KS1 -> KS2 multiplication crossover
 
181
        144,   // KS2 -> KS4 multiplication crossover
 
182
      12307,   // KS4 -> FFT multiplication crossover
 
183
         51,   // KS1 -> KS2 squaring crossover
 
184
        173,   // KS2 -> KS4 squaring crossover
 
185
        720,   // KS4 -> FFT squaring crossover
 
186
       2106,   // fallback -> FFT middle product crossover
 
187
         11,   // nussbaumer multiplication crossover
 
188
         10    // nussbaumer squaring crossover
 
189
   },
 
190
   {  // bits = 16
 
191
         38,   // KS1 -> KS2 multiplication crossover
 
192
        102,   // KS2 -> KS4 multiplication crossover
 
193
      10785,   // KS4 -> FFT multiplication crossover
 
194
         50,   // KS1 -> KS2 squaring crossover
 
195
        151,   // KS2 -> KS4 squaring crossover
 
196
       7022,   // KS4 -> FFT squaring crossover
 
197
       2106,   // fallback -> FFT middle product crossover
 
198
         10,   // nussbaumer multiplication crossover
 
199
         10    // nussbaumer squaring crossover
 
200
   },
 
201
   {  // bits = 17
 
202
         33,   // KS1 -> KS2 multiplication crossover
 
203
        112,   // KS2 -> KS4 multiplication crossover
 
204
      10785,   // KS4 -> FFT multiplication crossover
 
205
         47,   // KS1 -> KS2 squaring crossover
 
206
        132,   // KS2 -> KS4 squaring crossover
 
207
       8560,   // KS4 -> FFT squaring crossover
 
208
       1723,   // fallback -> FFT middle product crossover
 
209
         10,   // nussbaumer multiplication crossover
 
210
         10    // nussbaumer squaring crossover
 
211
   },
 
212
   {  // bits = 18
 
213
         31,   // KS1 -> KS2 multiplication crossover
 
214
         75,   // KS2 -> KS4 multiplication crossover
 
215
       7022,   // KS4 -> FFT multiplication crossover
 
216
         47,   // KS1 -> KS2 squaring crossover
 
217
        112,   // KS2 -> KS4 squaring crossover
 
218
       5393,   // KS4 -> FFT squaring crossover
 
219
       1842,   // fallback -> FFT middle product crossover
 
220
         10,   // nussbaumer multiplication crossover
 
221
         10    // nussbaumer squaring crossover
 
222
   },
 
223
   {  // bits = 19
 
224
         35,   // KS1 -> KS2 multiplication crossover
 
225
         78,   // KS2 -> KS4 multiplication crossover
 
226
       8560,   // KS4 -> FFT multiplication crossover
 
227
         43,   // KS1 -> KS2 squaring crossover
 
228
        108,   // KS2 -> KS4 squaring crossover
 
229
       7022,   // KS4 -> FFT squaring crossover
 
230
       1506,   // fallback -> FFT middle product crossover
 
231
         10,   // nussbaumer multiplication crossover
 
232
         10    // nussbaumer squaring crossover
 
233
   },
 
234
   {  // bits = 20
 
235
         33,   // KS1 -> KS2 multiplication crossover
 
236
         70,   // KS2 -> KS4 multiplication crossover
 
237
       6154,   // KS4 -> FFT multiplication crossover
 
238
         43,   // KS1 -> KS2 squaring crossover
 
239
         94,   // KS2 -> KS4 squaring crossover
 
240
       4726,   // KS4 -> FFT squaring crossover
 
241
       1506,   // fallback -> FFT middle product crossover
 
242
         10,   // nussbaumer multiplication crossover
 
243
         10    // nussbaumer squaring crossover
 
244
   },
 
245
   {  // bits = 21
 
246
         31,   // KS1 -> KS2 multiplication crossover
 
247
         72,   // KS2 -> KS4 multiplication crossover
 
248
       7022,   // KS4 -> FFT multiplication crossover
 
249
         39,   // KS1 -> KS2 squaring crossover
 
250
        102,   // KS2 -> KS4 squaring crossover
 
251
       6154,   // KS4 -> FFT squaring crossover
 
252
       1205,   // fallback -> FFT middle product crossover
 
253
         10,   // nussbaumer multiplication crossover
 
254
         10    // nussbaumer squaring crossover
 
255
   },
 
256
   {  // bits = 22
 
257
         31,   // KS1 -> KS2 multiplication crossover
 
258
         66,   // KS2 -> KS4 multiplication crossover
 
259
       5217,   // KS4 -> FFT multiplication crossover
 
260
         40,   // KS1 -> KS2 squaring crossover
 
261
         86,   // KS2 -> KS4 squaring crossover
 
262
       4726,   // KS4 -> FFT squaring crossover
 
263
       1378,   // fallback -> FFT middle product crossover
 
264
          9,   // nussbaumer multiplication crossover
 
265
          9    // nussbaumer squaring crossover
 
266
   },
 
267
   {  // bits = 23
 
268
         31,   // KS1 -> KS2 multiplication crossover
 
269
         70,   // KS2 -> KS4 multiplication crossover
 
270
       7022,   // KS4 -> FFT multiplication crossover
 
271
         38,   // KS1 -> KS2 squaring crossover
 
272
         86,   // KS2 -> KS4 squaring crossover
 
273
       6360,   // KS4 -> FFT squaring crossover
 
274
       1288,   // fallback -> FFT middle product crossover
 
275
          9,   // nussbaumer multiplication crossover
 
276
          9    // nussbaumer squaring crossover
 
277
   },
 
278
   {  // bits = 24
 
279
         31,   // KS1 -> KS2 multiplication crossover
 
280
         66,   // KS2 -> KS4 multiplication crossover
 
281
       5760,   // KS4 -> FFT multiplication crossover
 
282
         38,   // KS1 -> KS2 squaring crossover
 
283
         86,   // KS2 -> KS4 squaring crossover
 
284
       4280,   // KS4 -> FFT squaring crossover
 
285
       1378,   // fallback -> FFT middle product crossover
 
286
          9,   // nussbaumer multiplication crossover
 
287
          9    // nussbaumer squaring crossover
 
288
   },
 
289
   {  // bits = 25
 
290
         27,   // KS1 -> KS2 multiplication crossover
 
291
         61,   // KS2 -> KS4 multiplication crossover
 
292
       7022,   // KS4 -> FFT multiplication crossover
 
293
         35,   // KS1 -> KS2 squaring crossover
 
294
         80,   // KS2 -> KS4 squaring crossover
 
295
       4726,   // KS4 -> FFT squaring crossover
 
296
       1205,   // fallback -> FFT middle product crossover
 
297
          9,   // nussbaumer multiplication crossover
 
298
          9    // nussbaumer squaring crossover
 
299
   },
 
300
   {  // bits = 26
 
301
         31,   // KS1 -> KS2 multiplication crossover
 
302
         57,   // KS2 -> KS4 multiplication crossover
 
303
       4280,   // KS4 -> FFT multiplication crossover
 
304
         33,   // KS1 -> KS2 squaring crossover
 
305
         75,   // KS2 -> KS4 squaring crossover
 
306
       4280,   // KS4 -> FFT squaring crossover
 
307
       1127,   // fallback -> FFT middle product crossover
 
308
          9,   // nussbaumer multiplication crossover
 
309
          9    // nussbaumer squaring crossover
 
310
   },
 
311
   {  // bits = 27
 
312
         27,   // KS1 -> KS2 multiplication crossover
 
313
         56,   // KS2 -> KS4 multiplication crossover
 
314
       4280,   // KS4 -> FFT multiplication crossover
 
315
         35,   // KS1 -> KS2 squaring crossover
 
316
         66,   // KS2 -> KS4 squaring crossover
 
317
       3511,   // KS4 -> FFT squaring crossover
 
318
        985,   // fallback -> FFT middle product crossover
 
319
          9,   // nussbaumer multiplication crossover
 
320
          9    // nussbaumer squaring crossover
 
321
   },
 
322
   {  // bits = 28
 
323
         27,   // KS1 -> KS2 multiplication crossover
 
324
         51,   // KS2 -> KS4 multiplication crossover
 
325
       3877,   // KS4 -> FFT multiplication crossover
 
326
         31,   // KS1 -> KS2 squaring crossover
 
327
         70,   // KS2 -> KS4 squaring crossover
 
328
       3511,   // KS4 -> FFT squaring crossover
 
329
        862,   // fallback -> FFT middle product crossover
 
330
          9,   // nussbaumer multiplication crossover
 
331
          9    // nussbaumer squaring crossover
 
332
   },
 
333
   {  // bits = 29
 
334
         24,   // KS1 -> KS2 multiplication crossover
 
335
         54,   // KS2 -> KS4 multiplication crossover
 
336
       5217,   // KS4 -> FFT multiplication crossover
 
337
         29,   // KS1 -> KS2 squaring crossover
 
338
         70,   // KS2 -> KS4 squaring crossover
 
339
       4280,   // KS4 -> FFT squaring crossover
 
340
        806,   // fallback -> FFT middle product crossover
 
341
          8,   // nussbaumer multiplication crossover
 
342
          8    // nussbaumer squaring crossover
 
343
   },
 
344
   {  // bits = 30
 
345
         23,   // KS1 -> KS2 multiplication crossover
 
346
         47,   // KS2 -> KS4 multiplication crossover
 
347
       4280,   // KS4 -> FFT multiplication crossover
 
348
         33,   // KS1 -> KS2 squaring crossover
 
349
         66,   // KS2 -> KS4 squaring crossover
 
350
       3877,   // KS4 -> FFT squaring crossover
 
351
        921,   // fallback -> FFT middle product crossover
 
352
          8,   // nussbaumer multiplication crossover
 
353
          8    // nussbaumer squaring crossover
 
354
   },
 
355
   {  // bits = 31
 
356
         24,   // KS1 -> KS2 multiplication crossover
 
357
         43,   // KS2 -> KS4 multiplication crossover
 
358
       4726,   // KS4 -> FFT multiplication crossover
 
359
         31,   // KS1 -> KS2 squaring crossover
 
360
         66,   // KS2 -> KS4 squaring crossover
 
361
       3877,   // KS4 -> FFT squaring crossover
 
362
        862,   // fallback -> FFT middle product crossover
 
363
          9,   // nussbaumer multiplication crossover
 
364
          9    // nussbaumer squaring crossover
 
365
   },
 
366
   {  // bits = 32
 
367
         24,   // KS1 -> KS2 multiplication crossover
 
368
         39,   // KS2 -> KS4 multiplication crossover
 
369
       4280,   // KS4 -> FFT multiplication crossover
 
370
         31,   // KS1 -> KS2 squaring crossover
 
371
         66,   // KS2 -> KS4 squaring crossover
 
372
       3877,   // KS4 -> FFT squaring crossover
 
373
        862,   // fallback -> FFT middle product crossover
 
374
          9,   // nussbaumer multiplication crossover
 
375
          9    // nussbaumer squaring crossover
 
376
   },
 
377
   {  // bits = 33
 
378
         19,   // KS1 -> KS2 multiplication crossover
 
379
         36,   // KS2 -> KS4 multiplication crossover
 
380
       4280,   // KS4 -> FFT multiplication crossover
 
381
         29,   // KS1 -> KS2 squaring crossover
 
382
         57,   // KS2 -> KS4 squaring crossover
 
383
       3511,   // KS4 -> FFT squaring crossover
 
384
        862,   // fallback -> FFT middle product crossover
 
385
          9,   // nussbaumer multiplication crossover
 
386
          9    // nussbaumer squaring crossover
 
387
   },
 
388
   {  // bits = 34
 
389
         21,   // KS1 -> KS2 multiplication crossover
 
390
         33,   // KS2 -> KS4 multiplication crossover
 
391
       3877,   // KS4 -> FFT multiplication crossover
 
392
         29,   // KS1 -> KS2 squaring crossover
 
393
         56,   // KS2 -> KS4 squaring crossover
 
394
       3511,   // KS4 -> FFT squaring crossover
 
395
        806,   // fallback -> FFT middle product crossover
 
396
          9,   // nussbaumer multiplication crossover
 
397
          9    // nussbaumer squaring crossover
 
398
   },
 
399
   {  // bits = 35
 
400
         21,   // KS1 -> KS2 multiplication crossover
 
401
         33,   // KS2 -> KS4 multiplication crossover
 
402
       3877,   // KS4 -> FFT multiplication crossover
 
403
         29,   // KS1 -> KS2 squaring crossover
 
404
         43,   // KS2 -> KS4 squaring crossover
 
405
       3511,   // KS4 -> FFT squaring crossover
 
406
        824,   // fallback -> FFT middle product crossover
 
407
          9,   // nussbaumer multiplication crossover
 
408
          9    // nussbaumer squaring crossover
 
409
   },
 
410
   {  // bits = 36
 
411
         21,   // KS1 -> KS2 multiplication crossover
 
412
         27,   // KS2 -> KS4 multiplication crossover
 
413
       3877,   // KS4 -> FFT multiplication crossover
 
414
         27,   // KS1 -> KS2 squaring crossover
 
415
         45,   // KS2 -> KS4 squaring crossover
 
416
       3511,   // KS4 -> FFT squaring crossover
 
417
        753,   // fallback -> FFT middle product crossover
 
418
          9,   // nussbaumer multiplication crossover
 
419
          9    // nussbaumer squaring crossover
 
420
   },
 
421
   {  // bits = 37
 
422
         17,   // KS1 -> KS2 multiplication crossover
 
423
         31,   // KS2 -> KS4 multiplication crossover
 
424
       3511,   // KS4 -> FFT multiplication crossover
 
425
         25,   // KS1 -> KS2 squaring crossover
 
426
         43,   // KS2 -> KS4 squaring crossover
 
427
       3180,   // KS4 -> FFT squaring crossover
 
428
        630,   // fallback -> FFT middle product crossover
 
429
          9,   // nussbaumer multiplication crossover
 
430
          9    // nussbaumer squaring crossover
 
431
   },
 
432
   {  // bits = 38
 
433
         19,   // KS1 -> KS2 multiplication crossover
 
434
         25,   // KS2 -> KS4 multiplication crossover
 
435
       3511,   // KS4 -> FFT multiplication crossover
 
436
         27,   // KS1 -> KS2 squaring crossover
 
437
         28,   // KS2 -> KS4 squaring crossover
 
438
       3180,   // KS4 -> FFT squaring crossover
 
439
        689,   // fallback -> FFT middle product crossover
 
440
          8,   // nussbaumer multiplication crossover
 
441
          9    // nussbaumer squaring crossover
 
442
   },
 
443
   {  // bits = 39
 
444
         19,   // KS1 -> KS2 multiplication crossover
 
445
         27,   // KS2 -> KS4 multiplication crossover
 
446
       3511,   // KS4 -> FFT multiplication crossover
 
447
         25,   // KS1 -> KS2 squaring crossover
 
448
         41,   // KS2 -> KS4 squaring crossover
 
449
       3180,   // KS4 -> FFT squaring crossover
 
450
        689,   // fallback -> FFT middle product crossover
 
451
          8,   // nussbaumer multiplication crossover
 
452
          9    // nussbaumer squaring crossover
 
453
   },
 
454
   {  // bits = 40
 
455
         19,   // KS1 -> KS2 multiplication crossover
 
456
         27,   // KS2 -> KS4 multiplication crossover
 
457
       3511,   // KS4 -> FFT multiplication crossover
 
458
         25,   // KS1 -> KS2 squaring crossover
 
459
         43,   // KS2 -> KS4 squaring crossover
 
460
       3077,   // KS4 -> FFT squaring crossover
 
461
        689,   // fallback -> FFT middle product crossover
 
462
          8,   // nussbaumer multiplication crossover
 
463
          8    // nussbaumer squaring crossover
 
464
   },
 
465
   {  // bits = 41
 
466
         19,   // KS1 -> KS2 multiplication crossover
 
467
         25,   // KS2 -> KS4 multiplication crossover
 
468
       3511,   // KS4 -> FFT multiplication crossover
 
469
         25,   // KS1 -> KS2 squaring crossover
 
470
         39,   // KS2 -> KS4 squaring crossover
 
471
       3077,   // KS4 -> FFT squaring crossover
 
472
        689,   // fallback -> FFT middle product crossover
 
473
          8,   // nussbaumer multiplication crossover
 
474
          8    // nussbaumer squaring crossover
 
475
   },
 
476
   {  // bits = 42
 
477
         17,   // KS1 -> KS2 multiplication crossover
 
478
         25,   // KS2 -> KS4 multiplication crossover
 
479
       3511,   // KS4 -> FFT multiplication crossover
 
480
         24,   // KS1 -> KS2 squaring crossover
 
481
         43,   // KS2 -> KS4 squaring crossover
 
482
       3077,   // KS4 -> FFT squaring crossover
 
483
        603,   // fallback -> FFT middle product crossover
 
484
          8,   // nussbaumer multiplication crossover
 
485
          8    // nussbaumer squaring crossover
 
486
   },
 
487
   {  // bits = 43
 
488
         16,   // KS1 -> KS2 multiplication crossover
 
489
         25,   // KS2 -> KS4 multiplication crossover
 
490
       3180,   // KS4 -> FFT multiplication crossover
 
491
         23,   // KS1 -> KS2 squaring crossover
 
492
         33,   // KS2 -> KS4 squaring crossover
 
493
       3077,   // KS4 -> FFT squaring crossover
 
494
        616,   // fallback -> FFT middle product crossover
 
495
          8,   // nussbaumer multiplication crossover
 
496
          8    // nussbaumer squaring crossover
 
497
   },
 
498
   {  // bits = 44
 
499
         17,   // KS1 -> KS2 multiplication crossover
 
500
         23,   // KS2 -> KS4 multiplication crossover
 
501
       3180,   // KS4 -> FFT multiplication crossover
 
502
         19,   // KS1 -> KS2 squaring crossover
 
503
         38,   // KS2 -> KS4 squaring crossover
 
504
       3511,   // KS4 -> FFT squaring crossover
 
505
        564,   // fallback -> FFT middle product crossover
 
506
          8,   // nussbaumer multiplication crossover
 
507
          8    // nussbaumer squaring crossover
 
508
   },
 
509
   {  // bits = 45
 
510
         16,   // KS1 -> KS2 multiplication crossover
 
511
         25,   // KS2 -> KS4 multiplication crossover
 
512
       3511,   // KS4 -> FFT multiplication crossover
 
513
         23,   // KS1 -> KS2 squaring crossover
 
514
         36,   // KS2 -> KS4 squaring crossover
 
515
       3077,   // KS4 -> FFT squaring crossover
 
516
        360,   // fallback -> FFT middle product crossover
 
517
          9,   // nussbaumer multiplication crossover
 
518
          8    // nussbaumer squaring crossover
 
519
   },
 
520
   {  // bits = 46
 
521
         17,   // KS1 -> KS2 multiplication crossover
 
522
         21,   // KS2 -> KS4 multiplication crossover
 
523
       3180,   // KS4 -> FFT multiplication crossover
 
524
         19,   // KS1 -> KS2 squaring crossover
 
525
         43,   // KS2 -> KS4 squaring crossover
 
526
       3077,   // KS4 -> FFT squaring crossover
 
527
        527,   // fallback -> FFT middle product crossover
 
528
          8,   // nussbaumer multiplication crossover
 
529
          8    // nussbaumer squaring crossover
 
530
   },
 
531
   {  // bits = 47
 
532
         16,   // KS1 -> KS2 multiplication crossover
 
533
         21,   // KS2 -> KS4 multiplication crossover
 
534
       3077,   // KS4 -> FFT multiplication crossover
 
535
         21,   // KS1 -> KS2 squaring crossover
 
536
         33,   // KS2 -> KS4 squaring crossover
 
537
       3077,   // KS4 -> FFT squaring crossover
 
538
        527,   // fallback -> FFT middle product crossover
 
539
          8,   // nussbaumer multiplication crossover
 
540
          8    // nussbaumer squaring crossover
 
541
   },
 
542
   {  // bits = 48
 
543
         17,   // KS1 -> KS2 multiplication crossover
 
544
         21,   // KS2 -> KS4 multiplication crossover
 
545
       3077,   // KS4 -> FFT multiplication crossover
 
546
         21,   // KS1 -> KS2 squaring crossover
 
547
         25,   // KS2 -> KS4 squaring crossover
 
548
       2697,   // KS4 -> FFT squaring crossover
 
549
        493,   // fallback -> FFT middle product crossover
 
550
          8,   // nussbaumer multiplication crossover
 
551
          8    // nussbaumer squaring crossover
 
552
   },
 
553
   {  // bits = 49
 
554
         14,   // KS1 -> KS2 multiplication crossover
 
555
         17,   // KS2 -> KS4 multiplication crossover
 
556
       2880,   // KS4 -> FFT multiplication crossover
 
557
         21,   // KS1 -> KS2 squaring crossover
 
558
         25,   // KS2 -> KS4 squaring crossover
 
559
       2697,   // KS4 -> FFT squaring crossover
 
560
        527,   // fallback -> FFT middle product crossover
 
561
          8,   // nussbaumer multiplication crossover
 
562
          8    // nussbaumer squaring crossover
 
563
   },
 
564
   {  // bits = 50
 
565
         14,   // KS1 -> KS2 multiplication crossover
 
566
         19,   // KS2 -> KS4 multiplication crossover
 
567
       2880,   // KS4 -> FFT multiplication crossover
 
568
         19,   // KS1 -> KS2 squaring crossover
 
569
         36,   // KS2 -> KS4 squaring crossover
 
570
       2363,   // KS4 -> FFT squaring crossover
 
571
        493,   // fallback -> FFT middle product crossover
 
572
          8,   // nussbaumer multiplication crossover
 
573
          8    // nussbaumer squaring crossover
 
574
   },
 
575
   {  // bits = 51
 
576
         14,   // KS1 -> KS2 multiplication crossover
 
577
         19,   // KS2 -> KS4 multiplication crossover
 
578
       2697,   // KS4 -> FFT multiplication crossover
 
579
         19,   // KS1 -> KS2 squaring crossover
 
580
         33,   // KS2 -> KS4 squaring crossover
 
581
       2363,   // KS4 -> FFT squaring crossover
 
582
        461,   // fallback -> FFT middle product crossover
 
583
          8,   // nussbaumer multiplication crossover
 
584
          8    // nussbaumer squaring crossover
 
585
   },
 
586
   {  // bits = 52
 
587
         14,   // KS1 -> KS2 multiplication crossover
 
588
         19,   // KS2 -> KS4 multiplication crossover
 
589
       2697,   // KS4 -> FFT multiplication crossover
 
590
         21,   // KS1 -> KS2 squaring crossover
 
591
         24,   // KS2 -> KS4 squaring crossover
 
592
       2363,   // KS4 -> FFT squaring crossover
 
593
        412,   // fallback -> FFT middle product crossover
 
594
          8,   // nussbaumer multiplication crossover
 
595
          8    // nussbaumer squaring crossover
 
596
   },
 
597
   {  // bits = 53
 
598
         13,   // KS1 -> KS2 multiplication crossover
 
599
         17,   // KS2 -> KS4 multiplication crossover
 
600
       2697,   // KS4 -> FFT multiplication crossover
 
601
         17,   // KS1 -> KS2 squaring crossover
 
602
         25,   // KS2 -> KS4 squaring crossover
 
603
       1876,   // KS4 -> FFT squaring crossover
 
604
        377,   // fallback -> FFT middle product crossover
 
605
          8,   // nussbaumer multiplication crossover
 
606
          8    // nussbaumer squaring crossover
 
607
   },
 
608
   {  // bits = 54
 
609
         13,   // KS1 -> KS2 multiplication crossover
 
610
         19,   // KS2 -> KS4 multiplication crossover
 
611
       2697,   // KS4 -> FFT multiplication crossover
 
612
         19,   // KS1 -> KS2 squaring crossover
 
613
         31,   // KS2 -> KS4 squaring crossover
 
614
       2363,   // KS4 -> FFT squaring crossover
 
615
        412,   // fallback -> FFT middle product crossover
 
616
          8,   // nussbaumer multiplication crossover
 
617
          8    // nussbaumer squaring crossover
 
618
   },
 
619
   {  // bits = 55
 
620
         13,   // KS1 -> KS2 multiplication crossover
 
621
         16,   // KS2 -> KS4 multiplication crossover
 
622
       2697,   // KS4 -> FFT multiplication crossover
 
623
         19,   // KS1 -> KS2 squaring crossover
 
624
         19,   // KS2 -> KS4 squaring crossover
 
625
       2140,   // KS4 -> FFT squaring crossover
 
626
        377,   // fallback -> FFT middle product crossover
 
627
          8,   // nussbaumer multiplication crossover
 
628
          8    // nussbaumer squaring crossover
 
629
   },
 
630
   {  // bits = 56
 
631
         13,   // KS1 -> KS2 multiplication crossover
 
632
         10,   // KS2 -> KS4 multiplication crossover
 
633
       2697,   // KS4 -> FFT multiplication crossover
 
634
         19,   // KS1 -> KS2 squaring crossover
 
635
         17,   // KS2 -> KS4 squaring crossover
 
636
       2363,   // KS4 -> FFT squaring crossover
 
637
        377,   // fallback -> FFT middle product crossover
 
638
          8,   // nussbaumer multiplication crossover
 
639
          8    // nussbaumer squaring crossover
 
640
   },
 
641
   {  // bits = 57
 
642
         13,   // KS1 -> KS2 multiplication crossover
 
643
         14,   // KS2 -> KS4 multiplication crossover
 
644
       2071,   // KS4 -> FFT multiplication crossover
 
645
         17,   // KS1 -> KS2 squaring crossover
 
646
         17,   // KS2 -> KS4 squaring crossover
 
647
       2071,   // KS4 -> FFT squaring crossover
 
648
        345,   // fallback -> FFT middle product crossover
 
649
          8,   // nussbaumer multiplication crossover
 
650
          8    // nussbaumer squaring crossover
 
651
   },
 
652
   {  // bits = 58
 
653
         13,   // KS1 -> KS2 multiplication crossover
 
654
         19,   // KS2 -> KS4 multiplication crossover
 
655
       2071,   // KS4 -> FFT multiplication crossover
 
656
         17,   // KS1 -> KS2 squaring crossover
 
657
         24,   // KS2 -> KS4 squaring crossover
 
658
       2071,   // KS4 -> FFT squaring crossover
 
659
        345,   // fallback -> FFT middle product crossover
 
660
          8,   // nussbaumer multiplication crossover
 
661
          8    // nussbaumer squaring crossover
 
662
   },
 
663
   {  // bits = 59
 
664
         13,   // KS1 -> KS2 multiplication crossover
 
665
         11,   // KS2 -> KS4 multiplication crossover
 
666
       2004,   // KS4 -> FFT multiplication crossover
 
667
         19,   // KS1 -> KS2 squaring crossover
 
668
         21,   // KS2 -> KS4 squaring crossover
 
669
       1756,   // KS4 -> FFT squaring crossover
 
670
        345,   // fallback -> FFT middle product crossover
 
671
          8,   // nussbaumer multiplication crossover
 
672
          8    // nussbaumer squaring crossover
 
673
   },
 
674
   {  // bits = 60
 
675
         13,   // KS1 -> KS2 multiplication crossover
 
676
         12,   // KS2 -> KS4 multiplication crossover
 
677
       2140,   // KS4 -> FFT multiplication crossover
 
678
         17,   // KS1 -> KS2 squaring crossover
 
679
         19,   // KS2 -> KS4 squaring crossover
 
680
       1756,   // KS4 -> FFT squaring crossover
 
681
        247,   // fallback -> FFT middle product crossover
 
682
          8,   // nussbaumer multiplication crossover
 
683
          8    // nussbaumer squaring crossover
 
684
   },
 
685
   {  // bits = 61
 
686
         13,   // KS1 -> KS2 multiplication crossover
 
687
         14,   // KS2 -> KS4 multiplication crossover
 
688
       2212,   // KS4 -> FFT multiplication crossover
 
689
         17,   // KS1 -> KS2 squaring crossover
 
690
         19,   // KS2 -> KS4 squaring crossover
 
691
       1262,   // KS4 -> FFT squaring crossover
 
692
        226,   // fallback -> FFT middle product crossover
 
693
          7,   // nussbaumer multiplication crossover
 
694
          8    // nussbaumer squaring crossover
 
695
   },
 
696
   {  // bits = 62
 
697
         13,   // KS1 -> KS2 multiplication crossover
 
698
         21,   // KS2 -> KS4 multiplication crossover
 
699
       2697,   // KS4 -> FFT multiplication crossover
 
700
         17,   // KS1 -> KS2 squaring crossover
 
701
         33,   // KS2 -> KS4 squaring crossover
 
702
       2363,   // KS4 -> FFT squaring crossover
 
703
        431,   // fallback -> FFT middle product crossover
 
704
          8,   // nussbaumer multiplication crossover
 
705
          8    // nussbaumer squaring crossover
 
706
   },
 
707
   {  // bits = 63
 
708
         13,   // KS1 -> KS2 multiplication crossover
 
709
         23,   // KS2 -> KS4 multiplication crossover
 
710
       2363,   // KS4 -> FFT multiplication crossover
 
711
         17,   // KS1 -> KS2 squaring crossover
 
712
         35,   // KS2 -> KS4 squaring crossover
 
713
       2140,   // KS4 -> FFT squaring crossover
 
714
        403,   // fallback -> FFT middle product crossover
 
715
          8,   // nussbaumer multiplication crossover
 
716
          8    // nussbaumer squaring crossover
 
717
   },
 
718
   {  // bits = 64
 
719
         13,   // KS1 -> KS2 multiplication crossover
 
720
         23,   // KS2 -> KS4 multiplication crossover
 
721
       4280,   // KS4 -> FFT multiplication crossover
 
722
         17,   // KS1 -> KS2 squaring crossover
 
723
         33,   // KS2 -> KS4 squaring crossover
 
724
       4280,   // KS4 -> FFT squaring crossover
 
725
        689,   // fallback -> FFT middle product crossover
 
726
          9,   // nussbaumer multiplication crossover
 
727
          9    // nussbaumer squaring crossover
 
728
   },
 
729
};
 
730
 
 
731
// end of file ****************************************************************