Upgrade MPFR from 3.1.0 to 3.1.2 on the vendor branch
[dragonfly.git] / contrib / mpfr / src / x86 / core2 / mparam.h
1 /* Various Thresholds of MPFR, not exported.  -*- mode: C -*-
2
3 Copyright 2005, 2006, 2007, 2008, 2009, 2010, 2011, 2012, 2013 Free Software Foundation, Inc.
4
5 This file is part of the GNU MPFR Library.
6
7 The GNU MPFR Library is free software; you can redistribute it and/or modify
8 it under the terms of the GNU Lesser General Public License as published by
9 the Free Software Foundation; either version 3 of the License, or (at your
10 option) any later version.
11
12 The GNU MPFR Library is distributed in the hope that it will be useful, but
13 WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY
14 or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU Lesser General Public
15 License for more details.
16
17 You should have received a copy of the GNU Lesser General Public License
18 along with the GNU MPFR Library; see the file COPYING.LESSER.  If not, see
19 http://www.gnu.org/licenses/ or write to the Free Software Foundation, Inc.,
20 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. */
21
22 /* Generated by MPFR's tuneup.c, 2011-07-31, gcc 4.3.2 */
23 /* gcc14.fsffrance.org (Intel(R) Xeon(R) CPU X5450 @ 3.00GHz) with gmp 5.0.2
24    configured with ABI=32 */
25
26
27 #define MPFR_MULHIGH_TAB  \
28  -1,0,-1,-1,-1,-1,-1,-1,-1,0,-1,-1,0,10,10,0, \
29  11,11,0,13,13,0,0,17,17,16,19,19,19,18,18,22, \
30  20,18,19,26,26,28,23,24,28,29,26,28,29,28,30,32, \
31  29,30,38,30,34,32,33,37,34,36,37,38,38,38,38,38, \
32  38,44,36,52,44,48,52,56,51,52,56,56,52,52,56,58, \
33  52,60,60,56,60,55,52,68,60,68,68,68,68,72,72,67, \
34  68,68,68,76,76,68,75,75,68,72,76,68,68,75,72,72, \
35  78,73,74,72,76,74,76,72,76,74,76,72,76,76,75,76, \
36  75,74,76,76,99,99,104,76,76,111,104,102,99,99,99,104, \
37  93,105,99,104,99,104,99,99,99,96,102,99,104,104,104,108, \
38  104,105,111,110,110,111,111,111,109,111,110,111,111,114,108,111, \
39  111,111,105,105,111,108,111,110,111,110,111,111,110,111,110,134, \
40  111,141,153,153,153,140,141,165,141,153,151,153,153,153,152,152, \
41  153,165,153,152,153,153,153,163,165,164,165,153,153,164,163,164, \
42  165,165,153,168,168,173,174,165,176,177,177,164,176,177,165,165, \
43  165,172,164,165,165,165,168,177,175,176,177,176,165,175,176,176, \
44  165,177,176,177,204,204,204,204,204,203,177,218,217,220,204,219, \
45  220,217,220,220,220,218,219,220,220,220,220,217,217,219,220,220, \
46  217,204,217,219,220,220,217,218,218,219,220,219,220,219,219,220, \
47  220,220,220,220,219,220,220,220,220,251,220,219,220,220,220,236, \
48  249,220,251,250,249,249,251,248,251,251,251,250,251,251,251,249, \
49  248,248,240,250,250,250,249,251,246,251,250,251,251,251,250,250, \
50  251,249,249,250,251,251,249,251,250,306,305,306,306,306,306,306, \
51  306,306,306,251,306,306,305,305,306,306,305,305,306,306,306,305, \
52  330,305,306,305,306,306,306,330,306,306,305,305,330,330,327,330, \
53  330,330,306,329,330,330,330,330,330,329,330,306,330,330,329,329, \
54  329,330,329,330,330,330,330,330,330,327,328,329,330,329,329,330, \
55  330,329,330,330,328,330,330,330,330,330,354,330,329,330,330,354, \
56  330,329,330,353,354,330,354,354,330,353,354,354,354,354,354,354, \
57  354,354,353,354,352,354,354,354,330,354,354,353,354,354,354,378, \
58  353,408,408,408,408,407,408,407,407,408,408,408,408,407,408,408, \
59  407,407,407,440,407,408,408,407,439,408,408,408,407,408,440,440, \
60  440,440,440,440,440,439,440,437,439,440,439,439,440,440,439,440, \
61  439,439,440,439,440,440,440,439,438,439,440,440,439,440,438,439, \
62  440,440,440,439,440,440,440,440,438,440,439,439,440,440,440,439, \
63  440,440,440,440,440,440,439,440,440,471,472,471,439,440,439,472, \
64  472,472,472,472,472,472,440,472,439,440,471,472,471,471,439,472, \
65  496,496,496,472,440,471,472,480,495,496,496,495,472,534,536,534, \
66  534,536,536,536,536,536,536,536,536,536,535,536,536,536,536,536, \
67  534,535,536,536,536,535,534,534,535,536,536,534,535,536,536,535, \
68  536,536,536,536,535,536,536,536,536,536,535,536,568,535,536,536, \
69  536,535,536,568,536,536,568,536,568,568,568,536,568,536,536,566, \
70  567,567,535,568,568,536,535,536,535,536,536,536,567,536,568,536, \
71  568,567,568,568,567,600,597,568,567,567,568,600,568,568,568,598, \
72  566,567,568,568,566,568,568,568,567,568,567,568,568,568,568,568, \
73  600,567,568,600,568,600,568,568,568,568,568,600,599,566,568,600, \
74  568,568,600,567,568,599,567,600,599,600,568,600,567,599,600,599, \
75  568,597,600,598,600,599,599,599,600,600,598,600,598,600,597,600, \
76  600,600,600,600,600,599,600,600,598,599,600,599,600,639,600,600, \
77  600,600,568,639,600,568,567,568,568,568,600,640,600,599,600,599, \
78  600,600,600,598,600,599,568,600,598,600,600,599,600,597,639,598, \
79  600,600,600,600,599,600,600,600,600,600,600,687,736,598,599,600, \
80  736,600,600,688,736,736,600,688,735,736,736,734,736,736,735,736, \
81  640,734,735,736,734,733,736,736,731,735,736,736,736,736,736,736, \
82  736,735,736,736,736,736,784,735,784,735,784,783,783,736,736,735, \
83  784,784,784,736,783,784,784,784,784,783,783,784,784,784,784,784, \
84  781,782,782,784,784,784,784,784,784,734,784,783,784,784,784,736, \
85  808,783,784,784,784,783,784,783,784,783,784,783,784,832,832,829, \
86  832,824,823,832,824,784,784,824,831,832,784,783,784,783,784,832, \
87  784,784,784,783,784,784,781,784,784,784,784,783,824,832,831,784, \
88  832,831,832,830,832,807,784,832,830,784,832,808,832,824,823,832, \
89  824,808,831,824,824,824,832,823,832,824,832,831,832,832,829,830, \
90  831,832,832,832,831,831,832,832,830,832,832,832,832,831,831,832, \
91  879,832,832,880,832,831,832,831,832,832,832,832,832,832,832,831 \
92   
93 #define MPFR_SQRHIGH_TAB  \
94  -1,0,0,0,-1,-1,-1,-1,-1,-1,-1,8,8,8,9,9, \
95  10,10,11,13,13,14,15,16,14,16,17,16,18,17,19,18, \
96  20,18,19,22,21,22,23,22,23,22,25,24,25,24,25,26, \
97  27,26,29,27,28,29,30,34,34,36,36,38,38,40,40,42, \
98  34,44,42,46,38,42,44,38,38,44,40,42,42,50,44,46, \
99  50,48,48,44,50,52,52,46,50,46,52,50,52,50,50,52, \
100  52,54,52,52,54,58,58,54,57,58,58,58,56,58,58,58, \
101  68,58,64,68,72,60,64,72,68,64,72,64,72,68,72,68, \
102  76,76,72,76,80,76,76,76,84,80,76,88,84,84,84,84, \
103  88,84,87,88,88,92,92,92,88,96,92,96,96,92,96,96, \
104  100,100,100,100,96,84,92,92,88,96,92,88,99,92,96,91, \
105  92,96,100,100,99,100,100,100,100,96,98,96,100,98,100,100, \
106  100,100,100,117,100,123,123,135,122,123,124,129,126,122,135,123, \
107  129,135,135,133,134,135,141,140,135,126,140,135,129,129,129,132, \
108  146,134,129,147,150,135,152,140,135,140,141,141,147,141,147,147, \
109  147,150,141,147,152,147,141,150,141,151,153,146,147,152,147,147, \
110  147,152,147,153,151,153,147,147,153,150,147,152,153,150,150,152, \
111  153,150,153,152,153,150,147,164,150,187,188,148,187,180,152,196, \
112  187,196,180,186,187,188,196,187,196,188,196,180,195,196,188,188, \
113  188,196,196,188,192,194,195,196,196,196,195,204,211,212,203,204, \
114  204,196,196,203,204,220,212,203,196,204,195,204,196,187,216,188, \
115  200,195,196,204,219,203,195,196,188,203,204,195,203,204,219,195, \
116  196,211,212,220,196,203,196,212,204,204,220,196,203,220,220,211, \
117  203,212,212,211,212,212,216,218,220,211,211,218,220,219,220,220, \
118  220,220,220,220,220,220,219,220,282,282,219,276,276,282,282,275, \
119  276,282,269,276,258,294,276,282,282,294,294,270,282,294,258,270, \
120  258,270,294,270,258,270,282,276,306,282,282,282,282,282,276,270, \
121  282,282,282,281,282,281,281,294,282,276,282,282,282,294,294,282, \
122  306,306,294,282,294,282,294,294,305,288,306,294,294,294,306,294, \
123  306,305,318,306,306,318,312,306,306,318,305,306,306,306,317,312, \
124  311,318,311,312,324,318,317,330,330,318,318,330,323,330,329,330, \
125  324,330,329,324,342,330,342,329,330,336,341,318,294,329,341,306, \
126  300,305,300,299,300,305,306,306,324,305,318,318,312,317,330,306, \
127  306,306,306,306,318,317,318,318,318,324,330,329,324,318,318,318, \
128  323,324,306,323,324,324,329,328,328,330,330,330,318,318,318,317, \
129  317,336,330,342,342,341,330,330,330,342,330,340,330,330,318,341, \
130  342,426,426,341,342,425,426,426,426,342,426,425,426,425,425,426, \
131  426,426,318,426,425,450,426,425,378,378,378,426,426,450,450,450, \
132  402,330,449,450,449,450,450,449,450,450,402,450,450,450,450,450, \
133  426,401,402,450,450,426,426,450,474,472,474,450,426,426,426,474, \
134  474,474,473,425,426,450,450,426,424,425,426,426,474,449,450,450, \
135  450,426,474,449,426,450,450,448,449,498,450,498,450,426,450,449, \
136  448,450,450,448,449,449,474,448,449,450,450,473,474,474,473,449, \
137  449,474,450,474,450,450,473,474,450,473,474,474,474,474,521,498, \
138  474,474,474,474,474,474,498,498,474,474,474,473,473,474,474,498, \
139  498,474,498,498,498,498,498,519,498,522,522,498,498,520,498,498, \
140  498,498,498,522,522,498,521,521,520,521,522,522,474,522,521,546, \
141  520,522,546,522,516,546,546,521,522,522,522,521,522,522,521,474, \
142  545,545,546,546,474,522,522,522,522,474,498,546,522,546,546,544, \
143  545,545,522,521,546,546,546,522,546,545,522,498,546,546,522,520, \
144  522,522,522,521,521,545,546,522,521,522,600,568,522,522,521,522, \
145  600,522,521,521,522,522,519,599,521,522,545,546,522,545,546,545, \
146  522,599,522,521,546,545,546,546,600,598,600,546,546,545,546,600, \
147  568,546,600,546,598,600,600,632,632,545,546,599,600,546,546,545, \
148  546,632,632,600,632,631,632,631,600,600,632,632,598,600,632,599, \
149  599,599,600,599,599,600,600,600,600,596,600,631,599,600,600,599, \
150  600,600,600,600,600,600,664,631,632,600,663,664,696,664,600,664, \
151  663,631,696,662,600,693,696,695,663,696,696,664,631,632,688,630, \
152  632,632,696,631,695,632,632,695,696,695,695,696,696,696,632,695, \
153  696,695,696,696,632,695,696,631,664,664,695,663,663,664,696,687, \
154  662,664,664,663,664,663,694,695,695,727,728,728,693,728,693,695, \
155  696,696,696,696,696,694,695,696,696,695,696,694,727,696,696,688, \
156  695,696,696,695,696,695,695,696,696,727,696,696,695,696,695,696, \
157  696,695,696,695,696,696,696,728,728,696,720,728,728,728,726,728 \
158   
159 #define MPFR_DIVHIGH_TAB  \
160  0,1,2,3,4,5,6,7,8,9,10,9,10,11,14,13, \
161  14,11,16,17,13,14,15,16,16,14,16,16,16,19,20,18, \
162  23,18,22,19,24,25,27,23,23,24,24,23,27,28,27,28, \
163  28,33,29,30,32,29,37,32,35,33,33,39,33,33,35,38, \
164  39,38,38,37,38,39,37,37,48,40,39,40,40,50,51,46, \
165  47,48,48,46,50,50,50,59,52,50,51,48,56,56,54,50, \
166  51,54,53,58,58,58,56,59,61,58,62,59,62,67,62,67, \
167  60,64,71,68,64,64,62,68,67,72,66,72,76,72,74,72, \
168  67,72,72,74,76,70,74,74,76,76,76,76,76,76,74,76, \
169  76,76,80,87,78,76,88,80,79,88,88,96,94,96,88,103, \
170  104,104,104,100,103,102,104,104,104,96,104,104,112,112,104,104, \
171  95,104,104,103,104,104,104,112,104,104,104,103,112,104,104,112, \
172  104,104,112,104,104,112,104,112,112,112,111,112,120,104,112,116, \
173  112,120,112,110,120,112,120,112,120,118,116,126,119,120,128,120, \
174  136,128,120,120,136,120,120,136,152,136,136,136,143,136,128,140, \
175  128,152,148,152,136,144,152,152,144,152,144,152,152,152,152,152, \
176  134,152,152,136,136,136,140,152,152,143,152,144,152,152,152,152, \
177  152,152,144,152,152,152,144,152,152,152,152,152,152,152,152,152, \
178  152,152,152,152,152,152,150,151,152,152,152,152,156,152,160,160, \
179  168,156,176,159,160,160,176,160,176,174,176,176,208,176,176,174, \
180  176,183,176,208,208,176,208,208,208,208,192,208,208,208,208,208, \
181  208,208,208,200,208,208,208,208,208,208,208,208,208,208,208,208, \
182  208,208,208,208,208,208,222,208,209,208,208,208,208,208,208,222, \
183  208,208,208,208,208,208,208,208,208,208,208,208,208,207,208,208, \
184  208,208,208,208,208,208,208,208,208,222,220,220,222,208,221,216, \
185  208,220,208,208,208,209,208,208,220,208,208,208,208,208,222,221, \
186  222,220,220,224,220,216,216,220,216,220,221,222,216,224,224,222, \
187  222,221,221,222,222,224,222,222,222,222,228,240,232,224,225,225, \
188  304,228,272,256,231,248,240,234,232,272,288,234,270,256,264,240, \
189  240,272,256,272,270,271,272,240,303,270,304,304,272,303,304,304, \
190  304,304,272,270,272,304,288,287,257,303,304,304,288,304,304,272, \
191  304,304,304,272,304,305,304,303,304,304,303,302,303,304,272,303, \
192  304,304,304,303,304,304,272,304,304,288,288,304,304,304,305,282, \
193  304,304,303,304,304,304,304,304,303,304,304,304,302,304,304,305, \
194  303,302,287,302,304,304,304,305,304,304,302,302,303,303,304,288, \
195  303,304,304,304,304,302,303,304,304,288,304,303,304,304,304,303, \
196  304,304,303,303,304,304,304,304,304,304,304,303,304,303,304,304, \
197  304,303,304,303,304,304,320,303,304,304,304,304,304,304,305,306, \
198  320,312,320,320,320,320,320,320,320,320,320,320,320,320,352,320, \
199  352,320,336,320,352,320,319,320,336,336,352,348,348,344,348,348, \
200  352,348,351,351,351,352,352,354,350,352,352,352,360,353,416,359, \
201  352,360,416,352,352,370,416,352,353,416,352,416,416,416,352,416, \
202  352,416,416,416,416,352,408,416,416,384,416,352,416,392,416,416, \
203  416,401,408,416,416,416,416,416,416,416,416,407,416,408,416,416, \
204  416,408,408,416,416,416,416,432,416,416,416,436,440,416,416,440, \
205  440,416,416,416,432,416,440,416,440,438,440,416,440,416,440,438, \
206  440,444,416,448,416,440,440,440,416,448,448,415,447,440,416,440, \
207  416,416,408,408,416,416,416,448,416,416,416,416,416,416,416,416, \
208  416,416,416,416,416,416,440,416,417,416,416,416,416,416,416,416, \
209  416,416,416,440,416,416,440,416,416,448,416,416,416,416,416,416, \
210  448,416,416,416,448,416,416,416,416,416,440,416,416,416,432,440, \
211  416,416,416,416,416,432,416,432,432,440,440,416,416,416,440,440, \
212  440,448,448,438,440,433,440,439,440,448,440,440,440,439,440,447, \
213  444,439,440,440,440,440,448,448,448,440,440,448,444,448,443,440, \
214  440,440,440,440,440,448,448,440,448,439,440,444,447,448,448,448, \
215  448,448,448,448,448,448,448,447,448,448,448,448,448,448,512,608, \
216  480,608,464,480,608,456,464,608,608,480,608,480,608,480,480,480, \
217  608,480,512,480,608,513,512,608,512,512,608,512,608,496,480,496, \
218  608,516,496,608,480,512,608,512,608,512,512,608,608,608,608,608, \
219  608,576,608,607,608,608,512,608,607,609,607,608,608,609,608,608, \
220  609,608,608,608,607,608,607,608,607,608,608,608,608,608,608,607, \
221  607,608,608,608,608,608,607,607,608,607,608,608,608,607,608,608, \
222  608,608,609,609,608,608,609,608,608,608,606,606,608,608,609,607, \
223  606,607,608,608,610,608,608,609,608,608,608,608,608,608,607,608 \
224   
225 #define MPFR_MUL_THRESHOLD 15 /* limbs */
226 #define MPFR_SQR_THRESHOLD 18 /* limbs */
227 #define MPFR_DIV_THRESHOLD 22 /* limbs */
228 #define MPFR_EXP_2_THRESHOLD 649 /* bits */
229 #define MPFR_EXP_THRESHOLD 10653 /* bits */
230 #define MPFR_SINCOS_THRESHOLD 36331 /* bits */
231 #define MPFR_AI_THRESHOLD1 -21595 /* threshold for negative input of mpfr_ai */
232 #define MPFR_AI_THRESHOLD2 2333
233 #define MPFR_AI_THRESHOLD3 33925
234 /* Tuneup completed successfully, took 1155 seconds */