summaryrefslogtreecommitdiff
path: root/src/x86_64/core2/mparam.h
blob: eecf340472d13af32d577a6329620d1687778bc8 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
176
177
178
179
180
181
182
183
184
185
186
187
188
189
190
191
192
193
194
195
196
197
198
199
200
201
202
203
204
205
206
207
208
209
210
211
/* Generated by MPFR's tuneup.c, 2010-10-13, gcc 4.3.2 */
/* gcc14.fsffrance.org (Intel(R) Xeon(R) CPU X5450 @ 3.00GHz) with gmp 5.0.1 */


#define MPFR_MULHIGH_TAB  \
 -1,0,-1,0,0,0,0,0,0,0,0,0,0,0,0,0, \
 10,10,10,12,12,12,13,13,14,15,16,17,17,18,18,20, \
 24,24,24,24,24,26,26,28,28,28,28,28,30,32,32,32, \
 30,28,32,32,32,32,32,36,36,32,32,36,38,48,48,48, \
 40,47,48,48,48,48,48,48,48,48,52,52,48,56,56,56, \
 56,48,48,48,56,60,60,52,64,64,56,56,56,60,60,60, \
 60,64,69,64,64,69,69,69,69,69,69,69,64,69,69,69, \
 80,75,80,80,81,80,81,81,81,80,80,81,81,87,92,93, \
 93,93,93,93,93,90,93,92,92,93,92,93,96,93,92,93, \
 92,93,104,105,104,93,104,105,105,102,105,104,105,105,102,117, \
 104,104,105,111,117,111,110,105,117,117,117,141,105,105,140,140, \
 141,141,141,141,141,141,141,141,141,141,141,140,141,141,141,140, \
 141,141,141,141,140,141,141,141,141,141,141,141,141,141,140,140, \
 141,141,141,141,141,141,141,141,141,141,165,141,153,153,141,141, \
 153,165,156,188,165,188,188,188,188,188,188,188,188,188,188,188, \
 188,188,188,184,188,188,184,188,188,188,188,188,188,188,188,188, \
 188,188,188,188,188,188,188,188,188,188,188,188,188,188,188,188, \
 188,188,188,204,188,204,188,188,204,204,204,220,204,204,220,204, \
 220,204,220,220,220,220,220,220,219,220,219,220,220,220,220,220, \
 220,220,220,236,220,219,220,220,236,236,220,236,236,236,236,236, \
 236,220,236,220,236,281,282,281,282,282,282,282,282,282,282,282, \
 282,282,282,282,282,282,282,281,282,282,282,280,282,282,282,282, \
 282,282,282,282,282,282,282,282,282,282,282,282,282,282,282,282, \
 282,282,282,282,282,282,282,282,281,282,282,282,282,282,282,282, \
 282,282,282,282,282,306,282,306,306,306,306,282,306,282,329,330, \
 330,330,330,330,305,329,330,330,330,330,330,330,329,330,330,330, \
 330,330,330,330,330,330,330,330,330,330,330,330,329,330,330,329, \
 330,330,330,330,330,330,330,329,330,330,330,330,330,329,330,330, \
 330,330,378,330,330,354,330,354,378,354,354,378,378,378,378,378, \
 378,354,378,378,354,378,378,354,377,377,354,378,376,378,378,378, \
 378,408,378,408,408,416,378,378,408,378,407,407,378,408,378,407, \
 408,408,408,440,408,416,440,408,438,440,407,408,440,440,440,440, \
 440,440,440,440,440,440,440,439,440,440,440,440,440,440,440,439, \
 439,439,440,440,440,440,440,440,440,440,440,440,440,440,440,440, \
 440,440,440,440,440,440,440,440,440,440,440,440,440,440,440,440, \
 440,440,440,440,440,440,472,440,440,440,440,440,440,440,440,440, \
 439,440,440,440,472,440,439,440,440,472,472,472,472,472,472,472, \
 472,472,472,472,472,472,472,472,472,472,504,504,472,503,504,472, \
 504,472,472,472,471,504,471,504,504,503,504,504,504,504,504,504, \
 504,504,504,504,504,504,504,504,504,544,504,504,544,503,503,503, \
 503,504,503,504,503,504,504,504,504,504,504,504,504,504,504,504, \
 504,544,544,544,504,544,544,544,544,544,544,544,544,544,544,544, \
 544,544,544,544,544,544,544,544,544,544,544,544,543,544,544,544, \
 544,544,544,544,544,544,544,544,544,504,544,544,544,544,616,632, \
 544,544,632,544,544,544,544,592,544,632,592,592,632,640,544,544, \
 544,592,544,640,632,640,592,592,640,592,640,592,616,615,640,616, \
 616,632,616,616,616,632,640,632,632,631,632,631,632,632,631,640, \
 632,640,640,632,640,640,640,632,640,640,632,640,640,632,632,640, \
 640,640,640,640,640,640,640,640,640,640,640,640,640,640,640,640, \
 640,640,640,640,640,632,640,640,640,639,640,640,640,640,640,640, \
 640,640,640,639,640,640,640,640,640,640,640,640,640,631,640,639, \
 632,640,640,640,640,640,640,640,640,688,688,639,712,688,640,639, \
 687,640,640,712,640,712,712,711,640,712,712,640,712,712,736,639, \
 712,712,736,712,712,712,712,727,712,736,727,736,736,736,736,736, \
 736,736,735,736,736,736,736,736,736,736,736,736,735,736,736,736, \
 736,736,736,736,736,736,736,736,712,736,712,712,736,712,736,712, \
 736,736,736,735,736,712,736,736,728,712,736,736,712,735,735,735, \
 735,736,730,736,736,735,736,736,735,736,736,735,736,736,736,736, \
 736,736,736,736,735,736,736,735,736,734,736,736,736,736,736,734, \
 736,736,736,736,736,735,736,736,736,736,736,736,736,736,736,736, \
 736,736,735,736,736,736,736,735,733,736,728,712,736,735,784,736, \
 735,736,728,735,736,736,735,736,736,728,736,736,728,736,736,783, \
 736,736,784,736,736,736,736,735,736,736,734,736,736,736,736,824, \
 824,824,824,832,832,832,832,832,832,832,824,832,832,832,824,823 \
  
#define MPFR_SQRHIGH_TAB  \
 -1,0,0,0,0,0,0,4,5,5,6,7,8,8,8,8, \
 10,11,10,11,11,11,13,13,13,15,15,15,17,17,16,17, \
 18,21,20,21,23,23,24,25,25,23,23,24,25,25,25,24, \
 25,25,30,30,30,34,30,36,32,38,34,36,38,34,36,38, \
 38,38,40,40,40,40,40,40,40,38,40,40,42,42,44,40, \
 46,46,46,48,46,46,46,48,50,46,50,48,50,50,48,48, \
 50,60,60,60,64,60,60,60,60,64,60,64,62,68,68,72, \
 68,72,76,72,76,76,76,76,75,76,76,76,80,80,76,76, \
 76,80,68,80,80,72,76,76,79,76,76,76,72,72,76,80, \
 76,76,76,80,80,80,80,76,80,80,80,80,80,84,88,92, \
 92,92,84,92,92,96,96,92,92,96,92,92,92,92,92,92, \
 92,96,111,111,110,96,110,111,116,111,117,111,116,111,110,116, \
 123,116,117,116,117,111,117,116,117,123,116,117,116,135,117,135, \
 128,135,135,141,129,135,135,141,140,135,140,135,134,141,135,135, \
 140,135,134,147,135,135,135,147,141,147,141,135,147,135,135,135, \
 140,147,147,141,140,135,147,156,156,156,156,147,147,135,140,140, \
 141,140,141,141,141,141,140,141,140,147,180,147,180,155,147,172, \
 141,180,180,180,141,180,147,180,188,188,188,188,180,180,164,184, \
 172,180,180,188,156,188,180,180,180,196,195,196,180,180,187,188, \
 188,188,188,188,180,180,188,196,188,196,188,196,188,188,188,180, \
 184,187,188,188,196,180,180,196,196,196,188,196,188,196,196,196, \
 236,196,196,193,196,196,196,196,196,236,196,196,196,196,235,236, \
 196,236,196,236,236,236,220,236,236,233,236,236,236,236,236,236, \
 236,236,233,236,236,236,236,236,196,236,270,236,252,270,236,270, \
 270,270,270,270,270,270,270,270,270,270,270,270,270,270,270,270, \
 270,270,270,270,270,270,282,270,270,282,282,270,270,282,270,270, \
 270,294,270,294,270,270,270,294,282,294,282,282,294,270,294,294, \
 294,294,293,294,294,294,293,294,294,294,294,294,282,294,270,270, \
 312,270,270,270,270,270,270,270,270,270,270,282,282,282,282,282, \
 270,282,282,270,294,282,282,281,282,294,294,294,294,282,294,294, \
 294,293,294,294,294,293,293,294,294,294,293,294,312,294,294,282, \
 360,294,294,360,312,360,294,360,294,294,294,294,360,312,360,328, \
 328,360,328,294,328,328,294,327,328,328,328,328,328,328,328,328, \
 328,328,328,328,328,392,391,392,360,328,360,359,360,360,360,360, \
 360,392,360,360,360,360,360,360,360,360,360,360,359,360,359,359, \
 360,360,360,360,360,360,360,359,360,360,392,360,360,360,392,392, \
 392,392,392,392,392,392,392,392,392,392,392,392,391,392,392,392, \
 392,359,392,392,392,392,392,391,392,392,392,392,392,392,392,392, \
 391,392,392,392,392,392,392,360,392,392,359,392,392,392,392,392, \
 392,392,392,392,392,392,391,392,392,391,392,391,392,392,391,392, \
 392,392,392,391,391,392,392,391,392,392,392,392,392,392,392,392, \
 392,391,472,392,472,392,392,471,472,472,472,472,472,472,472,472, \
 471,470,471,472,472,472,470,472,472,472,472,472,472,472,472,471, \
 503,504,440,440,504,501,503,503,472,504,470,504,504,504,471,504, \
 504,502,504,503,504,504,472,535,471,471,472,471,472,504,536,472, \
 472,471,472,472,470,471,534,472,472,472,535,472,536,536,504,472, \
 472,472,536,472,536,472,536,472,504,536,504,472,504,536,536,536, \
 536,503,504,535,536,535,504,535,535,504,504,535,535,535,536,568, \
 504,535,536,536,536,536,535,568,536,535,536,535,536,534,535,535, \
 536,536,536,536,533,534,535,536,536,536,535,568,536,536,535,536, \
 536,536,536,600,536,536,536,536,536,600,536,599,536,600,536,598, \
 600,600,598,600,600,600,599,568,567,600,599,568,600,600,600,568, \
 600,600,600,597,600,600,600,600,599,599,568,599,600,600,597,599, \
 600,600,600,600,600,600,599,600,600,600,600,600,600,600,536,600, \
 600,600,630,600,599,600,600,600,600,599,600,600,632,599,631,632, \
 631,632,632,631,632,631,630,536,600,632,600,600,632,632,600,600, \
 599,600,599,600,632,631,600,600,600,600,632,632,600,599,600,600, \
 600,600,598,600,600,600,600,600,568,568,632,568,664,664,568,600, \
 600,600,664,600,599,632,664,597,600,599,600,600,600,600,599,600, \
 600,600,600,599,600,600,599,600,600,600,600,600,599,664,600,600, \
 600,600,632,664,599,600,600,599,599,599,600,600,600,600,664,631, \
 632,600,599,629,599,631,632,632,632,600,632,632,632,631,632,632, \
 632,632,632,631,632,632,632,599,600,600,664,600,632,664,632,600, \
 600,600,600,600,631,664,632,664,663,664,664,664,664,664,600,664 \
  
#define MPFR_DIVHIGH_TAB  \
 0,1,2,3,4,5,6,7,8,9,10,11,10,13,12,13, \
 14,10,11,13,13,14,14,15,15,17,17,17,20,19,19,19, \
 20,20,23,19,24,23,23,23,23,22,21,28,25,23,25,28, \
 27,27,31,27,27,28,33,31,30,34,32,30,33,36,35,37, \
 39,38,34,43,39,35,39,37,42,39,37,41,40,43,39,41, \
 43,45,45,43,45,45,43,47,47,45,45,51,55,56,55,52, \
 52,54,60,59,56,63,60,55,55,58,55,58,56,64,64,59, \
 63,63,64,63,60,60,66,63,64,63,64,65,68,70,66,66, \
 65,67,71,71,70,71,71,73,69,74,74,71,72,73,71,80, \
 73,77,78,79,78,76,82,76,82,83,79,86,79,84,88,83, \
 92,92,94,94,92,84,95,95,95,96,94,91,92,92,95,95, \
 96,96,96,95,112,112,112,112,104,112,96,108,112,112,112,112, \
 112,112,110,104,112,112,112,112,110,111,112,120,112,112,112,112, \
 112,112,112,120,112,120,112,120,120,120,120,120,124,119,120,112, \
 128,128,120,128,128,120,128,128,120,128,128,120,128,120,124,128, \
 120,128,128,128,128,128,126,128,128,128,128,126,144,128,128,128, \
 128,135,138,137,138,137,136,135,150,150,142,147,136,138,156,147, \
 150,144,160,160,150,150,156,155,148,156,150,160,160,162,150,150, \
 160,150,168,156,162,156,168,160,162,172,158,160,162,160,160,157, \
 160,160,162,168,161,160,184,162,180,174,174,168,186,160,174,180, \
 184,184,186,184,184,186,184,184,180,190,186,184,192,192,188,184, \
 184,183,184,190,192,184,174,186,184,192,186,185,184,184,188,190, \
 184,184,192,180,180,184,192,186,186,192,185,186,186,184,186,192, \
 192,185,192,186,192,192,192,192,191,192,192,190,192,192,208,192, \
 208,216,216,197,196,196,216,208,216,208,216,222,208,222,208,222, \
 222,208,216,216,216,224,224,216,216,222,224,222,208,225,222,224, \
 224,224,222,222,222,222,224,224,216,216,224,221,224,240,224,224, \
 224,223,224,224,224,222,224,220,228,233,224,240,240,240,256,240, \
 256,256,240,240,240,256,256,256,240,240,256,256,240,252,256,256, \
 256,256,256,256,256,256,256,256,256,240,256,239,240,240,276,254, \
 256,256,256,256,255,256,276,256,254,256,256,282,276,256,254,256, \
 288,256,256,256,255,252,255,256,254,256,256,274,280,256,256,256, \
 256,280,273,276,282,287,276,274,276,276,273,282,276,270,276,272, \
 274,280,276,281,288,280,276,282,282,276,288,288,276,288,300,312, \
 304,300,288,300,312,312,312,312,296,312,312,312,312,312,316,300, \
 324,312,312,324,300,288,312,312,312,312,320,330,300,320,312,320, \
 320,300,324,324,324,312,312,324,328,320,312,312,324,312,320,336, \
 336,312,344,312,336,336,320,312,324,336,352,376,320,312,304,368, \
 372,372,376,328,324,312,372,316,368,368,368,336,370,328,318,368, \
 320,376,376,372,372,324,376,376,376,376,372,372,376,376,376,376, \
 372,372,368,368,376,372,368,376,376,376,372,376,376,376,376,368, \
 376,370,372,376,384,368,372,370,376,372,376,368,368,376,376,372, \
 376,376,376,376,376,372,376,376,376,376,376,370,376,376,384,368, \
 384,370,376,368,372,372,376,376,384,368,371,368,370,372,376,376, \
 360,372,376,376,376,376,372,368,376,372,376,376,368,372,368,376, \
 368,368,376,368,372,372,376,372,376,376,376,368,368,368,376,370, \
 368,373,376,376,376,376,376,376,376,376,376,376,376,376,384,376, \
 376,416,384,384,384,384,384,384,416,384,384,384,416,416,416,384, \
 408,408,416,408,408,408,416,416,432,416,416,416,416,408,408,416, \
 416,416,408,416,416,416,416,416,416,416,416,416,416,408,416,416, \
 416,440,440,432,408,440,448,440,440,432,432,432,416,440,416,416, \
 440,440,440,448,448,444,448,440,448,448,440,448,448,448,448,416, \
 480,440,432,464,464,464,432,432,432,440,440,432,464,432,448,448, \
 440,448,440,432,438,448,448,440,448,432,448,448,432,440,448,448, \
 448,448,448,448,448,448,448,448,448,448,448,447,448,440,448,440, \
 448,504,448,464,448,480,466,480,448,466,464,448,466,478,480,467, \
 466,480,464,480,480,480,480,480,540,480,504,480,540,480,552,479, \
 512,503,552,480,512,512,504,552,564,472,480,464,540,466,564,564, \
 480,512,552,564,564,480,564,564,564,564,564,564,560,564,564,480, \
 564,564,564,564,564,564,480,552,564,552,564,480,564,552,552,564, \
 512,564,564,564,564,564,564,552,552,552,560,561,564,564,564,564, \
 560,561,564,564,560,563,563,564,564,564,564,564,552,563,564,560, \
 564,552,564,560,560,562,564,564,564,564,564,552,564,564,552,564, \
 564,563,564,564,564,564,564,564,552,564,564,560,564,563,564,564 \
  
#define MPFR_MUL_THRESHOLD 21 /* limbs */
#define MPFR_SQR_THRESHOLD 18 /* limbs */
#define MPFR_EXP_2_THRESHOLD 1030 /* bits */
#define MPFR_EXP_THRESHOLD 9701 /* bits */
#define MPFR_SINCOS_THRESHOLD 32604 /* bits */
#define MPFR_AI_THRESHOLD1 -13222 /* threshold for negative input of mpfr_ai */
#define MPFR_AI_THRESHOLD2 1438
#define MPFR_AI_THRESHOLD3 21150
/* Tuneup completed successfully, took 754 seconds */