xref: /netbsd-src/external/lgpl3/mpfr/dist/src/arm/mparam.h (revision bdc22b2e01993381dcefeff2bc9b56ca75a4235c)
1 /* Various Thresholds of MPFR, not exported.  -*- mode: C -*-
2 
3 Copyright 2005-2016 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, 2010-10-15, gcc 4.4.4 */
23 /* gcc57.fsffrance.org (Feroceon 88FR131 rev 1 (v5l)) with gmp 5.0.1 */
24 
25 
26 #define MPFR_MULHIGH_TAB  \
27  -1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, \
28  0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, \
29  0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, \
30  0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, \
31  0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, \
32  0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, \
33  0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, \
34  62,76,76,76,76,76,76,76,76,76,76,76,76,76,76,76, \
35  76,76,76,84,84,84,88,88,88,92,88,92,92,92,92,92, \
36  92,92,92,92,92,92,92,92,92,92,92,92,92,92,100,100, \
37  104,108,104,108,108,108,108,108,108,108,108,108,108,108,108,108, \
38  108,108,108,108,108,108,108,108,120,116,120,120,129,129,129,135, \
39  135,135,135,135,135,135,135,135,135,135,135,135,135,135,135,135, \
40  135,135,135,135,135,135,135,147,147,147,147,147,147,153,153,153, \
41  159,159,159,159,159,159,159,159,159,159,159,159,159,159,159,159, \
42  159,159,159,159,159,159,159,159,159,171,171,171,171,177,177,177, \
43  183,177,183,183,183,183,183,183,183,183,183,183,183,183,183,183, \
44  183,183,183,183,183,183,183,183,204,204,204,204,204,204,212,212, \
45  212,212,212,212,212,212,212,212,212,212,212,212,212,212,212,212, \
46  212,212,212,212,212,212,212,212,212,212,212,228,228,228,228,228, \
47  228,228,236,236,236,236,236,244,244,244,244,244,244,244,244,244, \
48  244,244,244,244,244,244,244,244,244,244,244,244,244,244,244,244, \
49  244,244,244,244,260,260,244,244,243,244,244,244,244,244,244,244, \
50  244,244,244,244,244,284,284,284,284,284,284,284,284,300,300,300, \
51  300,300,300,300,300,300,300,300,300,300,300,300,300,300,300,300, \
52  300,300,300,300,300,300,300,300,300,300,300,300,300,300,300,300, \
53  300,300,300,300,300,300,300,300,300,300,300,300,300,300,300,300, \
54  300,300,300,300,300,300,300,300,300,300,300,300,300,300,300,300, \
55  300,332,332,332,332,332,332,332,332,332,332,332,332,332,332,348, \
56  348,348,348,348,348,348,348,348,348,348,348,348,348,348,348,348, \
57  348,364,364,364,364,364,364,364,348,364,364,364,364,348,364,364, \
58  364,364,364,364,364,364,364,364,364,364,364,364,364,364,364,364, \
59  364,364,364,364,364,364,364,364,366,364,364,364,364,364,364,364, \
60  364,364,390,364,390,390,390,390,390,390,390,390,390,390,390,426, \
61  426,426,426,426,426,426,426,426,426,426,426,426,426,426,426,426, \
62  426,426,426,426,426,426,426,450,426,450,450,450,450,450,450,450, \
63  450,450,450,450,450,450,450,450,450,450,450,450,450,450,450,450, \
64  450,450,450,450,450,450,450,450,450,450,450,450,450,450,450,450, \
65  450,450,450,450,450,450,450,450,450,450,450,450,450,450,450,450, \
66  450,450,450,450,474,450,474,498,498,498,498,498,498,498,498,498, \
67  498,498,498,498,498,498,498,498,497,498,497,498,498,498,498,498, \
68  498,522,522,522,522,522,522,522,522,522,522,522,522,522,522,522, \
69  522,522,522,522,522,522,522,522,522,522,522,522,522,522,522,522, \
70  546,546,546,546,546,546,546,546,546,546,546,546,546,546,546,546, \
71  546,546,546,546,545,546,568,568,568,546,568,568,568,568,568,568, \
72  568,568,568,568,568,600,600,600,600,568,600,600,600,568,568,600, \
73  600,600,600,600,600,600,600,598,600,600,600,600,600,600,600,600, \
74  599,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600, \
75  600,600,600,600,600,600,600,600,600,600,600,600,600,600,600,600, \
76  600,600,600,600,600,600,600,600,600,600,600,632,600,600,600,600, \
77  632,632,600,600,632,632,600,632,664,664,664,664,664,664,664,664, \
78  664,664,664,664,664,664,664,664,664,664,664,664,664,664,664,664, \
79  664,664,664,664,664,664,664,664,664,664,664,664,696,696,696,696, \
80  696,696,696,696,696,696,696,696,696,696,696,696,696,696,696,696, \
81  696,696,696,696,696,696,696,696,695,696,728,696,728,728,727,728, \
82  728,728,728,728,728,727,728,728,727,728,728,728,728,728,727,728, \
83  728,727,728,727,728,728,728,728,728,728,727,728,728,727,727,728, \
84  728,727,728,728,728,728,727,728,728,728,728,728,728,728,728,728, \
85  728,728,728,728,728,727,728,728,727,728,728,728,728,728,728,728, \
86  728,728,728,727,727,728,728,728,728,727,728,728,728,728,728,728, \
87  728,728,728,727,728,728,728,728,728,728,727,728,728,728,728,792, \
88  792,792,792,792,728,728,760,760,760,728,792,792,760,792,792,760, \
89  760,760,824,792,824,792,824,792,824,792,824,824,824,824,824,824, \
90  823,824,824,824,792,792,824,792,824,792,792,792,824,824,792,856 \
91 
92 #define MPFR_SQRHIGH_TAB  \
93  -1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, \
94  0,0,0,0,12,12,13,13,14,14,15,15,16,16,17,17, \
95  18,18,19,19,20,20,21,21,22,22,23,23,24,24,25,25, \
96  26,26,27,27,28,28,29,29,30,30,31,31,32,32,33,33, \
97  34,34,35,35,36,36,37,37,38,38,39,39,40,40,41,41, \
98  42,42,43,43,44,44,47,45,46,46,47,47,48,48,49,49, \
99  50,50,51,51,52,52,53,53,54,54,55,55,56,56,57,57, \
100  58,58,59,59,60,60,61,61,62,62,63,63,64,64,67,65, \
101  66,66,67,67,68,68,69,69,70,70,71,71,73,72,75,73, \
102  74,74,75,77,76,76,82,77,82,82,82,82,82,82,82,82, \
103  82,82,86,86,90,90,90,85,90,90,90,90,90,90,90,94, \
104  90,94,98,94,98,98,98,98,98,98,98,98,98,98,98,102, \
105  106,106,106,102,106,106,106,106,106,106,106,110,106,114,114,110, \
106  110,114,114,114,114,114,114,118,114,114,114,118,122,122,122,118, \
107  122,122,122,122,122,122,122,126,130,130,126,119,130,120,130,121, \
108  122,122,123,123,124,124,125,125,126,126,127,128,128,128,130,130, \
109  130,132,131,132,134,132,141,136,141,138,147,144,147,144,147,144, \
110  147,150,147,150,153,150,153,156,153,156,159,156,159,156,147,145, \
111  147,150,147,150,148,150,153,156,153,156,159,156,159,156,159,162, \
112  159,162,159,162,159,162,165,168,165,168,165,168,171,174,171,174, \
113  171,174,177,174,171,180,177,174,177,180,183,180,183,180,183,186, \
114  183,186,183,186,183,180,189,180,195,180,183,180,183,180,183,186, \
115  183,186,183,186,189,192,195,192,189,192,195,192,195,198,195,198, \
116  195,198,195,198,201,204,201,204,207,204,207,204,207,210,207,210, \
117  207,210,207,210,207,220,224,220,223,228,224,224,224,228,204,228, \
118  204,228,232,228,204,228,232,236,232,236,240,236,240,240,240,244, \
119  240,240,243,244,240,244,228,244,228,248,228,252,228,252,228,256, \
120  228,256,236,256,236,240,240,239,244,240,240,240,240,243,244,248, \
121  244,243,248,248,248,248,252,248,252,256,256,256,256,256,256,256, \
122  256,256,260,259,260,264,260,264,260,267,268,272,268,272,276,248, \
123  252,256,256,256,260,259,256,256,256,255,260,264,260,264,260,267, \
124  260,267,272,272,264,272,272,272,272,272,276,272,276,272,276,275, \
125  276,280,276,280,284,280,284,288,284,280,292,288,288,291,292,287, \
126  288,288,292,296,292,291,292,308,308,304,300,308,300,308,308,308, \
127  308,308,304,308,316,308,316,315,324,324,324,323,324,324,324,324, \
128  324,323,324,323,324,328,324,323,324,323,336,336,342,336,342,336, \
129  342,336,342,348,342,348,348,348,348,323,348,353,348,360,354,360, \
130  360,360,360,360,354,360,366,360,360,360,366,360,366,360,366,372, \
131  366,372,366,372,378,372,372,372,378,384,378,360,378,384,390,384, \
132  384,384,384,384,384,384,384,384,390,396,366,372,372,372,372,372, \
133  378,396,378,384,384,384,384,384,384,384,390,384,424,384,424,423, \
134  424,423,424,423,424,423,424,432,424,432,424,432,432,432,424,432, \
135  432,432,432,448,432,432,440,448,440,432,440,448,424,448,448,448, \
136  448,448,448,432,424,432,432,432,456,432,432,432,432,432,432,432, \
137  440,432,440,448,448,448,448,448,448,448,448,448,456,448,456,448, \
138  456,448,456,464,456,464,456,464,464,464,464,464,472,464,464,464, \
139  464,472,480,464,472,464,480,480,472,480,480,480,480,480,480,480, \
140  480,480,480,480,488,480,488,464,488,487,496,496,504,496,488,496, \
141  496,472,504,496,504,512,512,512,512,512,504,512,512,512,512,512, \
142  512,512,512,512,512,512,512,496,520,488,496,496,496,496,496,496, \
143  503,504,536,504,496,504,511,504,512,504,512,512,512,512,512,512, \
144  544,512,512,512,544,528,552,520,528,520,528,520,528,528,528,520, \
145  528,528,528,536,528,528,528,544,544,536,512,544,544,528,544,544, \
146  544,552,512,552,512,520,512,520,519,520,528,528,528,528,560,520, \
147  528,528,528,520,528,536,528,536,528,544,528,536,544,536,544,544, \
148  544,552,544,552,544,544,544,544,544,544,544,544,560,552,551,560, \
149  560,552,560,552,560,560,560,560,560,568,576,568,576,568,560,568, \
150  576,576,576,576,576,576,576,576,576,576,576,576,576,576,576,584, \
151  576,592,592,584,592,584,592,592,592,544,592,592,592,544,608,600, \
152  616,600,608,608,616,600,616,552,616,616,616,616,608,616,648,616, \
153  616,616,648,632,648,632,576,664,631,632,648,632,648,632,648,648, \
154  647,648,647,648,647,648,647,648,648,648,648,648,647,648,648,648, \
155  648,648,648,648,648,664,648,648,648,664,616,664,663,664,663,664, \
156  608,664,616,664,616,664,616,664,608,632,616,616,680,632,616,632 \
157 
158 #define MPFR_DIVHIGH_TAB  \
159  0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15, \
160  16,17,18,17,18,17,13,16,16,16,19,18,19,19,20,20, \
161  23,24,21,24,25,24,27,25,24,26,25,28,27,29,31,31, \
162  29,31,32,32,32,33,29,34,33,33,34,37,32,36,37,37, \
163  39,36,36,38,41,41,41,42,42,43,43,45,44,44,44,43, \
164  45,45,48,44,47,48,47,52,47,49,51,52,49,52,53,49, \
165  55,57,53,56,57,57,57,59,58,62,56,59,56,63,63,60, \
166  58,65,64,66,64,60,67,67,62,68,66,66,67,69,65,71, \
167  70,73,69,68,73,72,73,69,75,75,71,74,75,73,73,78, \
168  76,75,77,81,80,80,77,77,81,84,85,84,84,80,81,86, \
169  83,85,85,86,88,88,85,91,87,89,89,93,91,89,89,95, \
170  96,95,91,91,92,92,96,93,99,99,96,96,97,96,101,100, \
171  98,107,100,106,104,101,101,101,105,107,109,103,110,107,105,108, \
172  106,109,111,112,114,109,116,109,116,114,113,117,116,114,115,113, \
173  114,116,120,120,121,118,117,122,125,118,120,119,125,120,121,121, \
174  125,125,123,124,125,125,125,125,127,126,127,128,128,131,129,129, \
175  130,130,131,131,132,132,133,133,134,134,135,144,136,143,145,148, \
176  143,144,152,152,152,148,149,152,152,152,151,149,160,152,152,152, \
177  151,151,152,152,168,152,152,150,152,151,152,159,152,160,160,153, \
178  167,176,159,160,168,160,159,168,167,167,167,168,175,160,178,166, \
179  165,168,176,168,167,176,168,176,179,168,184,184,180,176,184,169, \
180  175,175,182,174,175,176,183,184,184,176,192,178,184,183,182,183, \
181  183,183,184,191,183,186,184,192,184,184,191,199,199,200,200,192, \
182  192,192,200,208,199,197,200,202,207,208,208,198,210,208,199,209, \
183  215,208,208,216,208,216,204,215,200,208,211,200,206,207,216,208, \
184  202,207,208,208,216,208,208,207,214,209,216,216,212,208,218,215, \
185  214,216,216,211,216,215,216,216,216,224,216,224,218,216,224,218, \
186  230,224,224,238,222,232,224,226,236,222,228,232,232,238,240,240, \
187  226,240,230,239,240,239,240,239,240,232,240,231,232,240,233,240, \
188  240,239,238,240,240,240,246,258,240,238,239,239,240,255,241,258, \
189  242,254,258,252,253,257,257,252,258,258,252,258,248,254,252,264, \
190  263,257,262,266,256,266,253,258,264,258,258,270,266,262,258,257, \
191  258,258,272,259,264,265,284,304,263,266,264,288,304,304,270,282, \
192  300,304,288,288,288,294,288,292,302,300,286,304,302,288,300,304, \
193  302,298,304,288,304,304,304,300,288,304,316,304,300,314,288,300, \
194  312,302,304,304,306,302,303,300,304,304,311,304,316,300,336,318, \
195  304,318,304,312,316,300,304,308,304,312,320,318,320,336,304,316, \
196  299,336,318,318,318,304,340,336,320,304,304,336,324,348,305,316, \
197  334,316,352,336,336,336,318,336,340,336,354,318,320,352,352,352, \
198  318,336,328,318,352,336,358,330,342,360,366,366,350,334,348,336, \
199  354,350,348,340,336,352,352,352,336,352,332,350,366,336,351,366, \
200  352,366,352,352,352,336,336,348,353,336,351,366,366,360,366,346, \
201  350,362,366,352,366,366,352,364,353,356,348,366,368,352,365,348, \
202  353,366,350,366,352,352,364,372,354,352,372,352,362,352,368,365, \
203  354,354,366,372,366,368,364,370,368,368,366,372,368,368,366,366, \
204  368,405,374,364,366,384,372,366,366,368,367,390,368,400,372,400, \
205  371,392,413,399,380,400,404,417,415,386,384,400,392,400,405,407, \
206  399,421,408,400,406,408,415,421,416,400,419,415,406,416,412,408, \
207  422,408,416,431,416,421,404,416,400,416,417,431,415,392,424,424, \
208  415,432,421,416,432,432,408,399,415,416,400,424,422,408,420,431, \
209  423,432,417,416,415,432,413,414,432,424,424,416,416,432,415,409, \
210  416,424,416,430,415,431,423,432,423,424,424,420,416,431,417,436, \
211  420,430,424,430,428,420,421,424,428,431,464,430,424,439,428,448, \
212  432,431,432,433,436,440,464,469,468,453,431,440,448,440,449,463, \
213  464,439,440,468,480,447,448,463,468,440,472,470,480,464,470,480, \
214  464,471,471,464,479,460,464,461,488,478,468,480,479,464,488,463, \
215  450,478,464,469,464,471,488,465,478,488,477,480,481,472,480,488, \
216  496,468,480,479,488,480,488,469,463,488,480,480,464,477,480,481, \
217  504,472,480,516,504,504,504,478,480,479,488,516,480,483,485,516, \
218  488,488,488,516,504,488,481,484,480,516,512,528,504,480,532,503, \
219  488,504,516,536,488,528,516,488,532,516,528,501,512,504,516,504, \
220  528,492,520,516,516,504,525,496,516,520,516,512,520,532,528,516, \
221  516,524,512,508,520,528,516,532,532,516,533,516,528,504,528,516, \
222  532,576,532,515,516,600,528,517,516,600,600,532,516,600,600,524 \
223 
224 #define MPFR_MUL_THRESHOLD 16 /* limbs */
225 #define MPFR_SQR_THRESHOLD 31 /* limbs */
226 #define MPFR_EXP_2_THRESHOLD 469 /* bits */
227 #define MPFR_EXP_THRESHOLD 5484 /* bits */
228 #define MPFR_SINCOS_THRESHOLD 23806 /* bits */
229 #define MPFR_AI_THRESHOLD1 -24060 /* threshold for negative input of mpfr_ai */
230 #define MPFR_AI_THRESHOLD2 2314
231 #define MPFR_AI_THRESHOLD3 40340
232 /* Tuneup completed successfully, took 8148 seconds */
233