xref: /netbsd-src/external/lgpl3/mpfr/dist/src/mips/mparam.h (revision cef8759bd76c1b621f8eab8faa6f208faabc2e15)
1 /* Various Thresholds of MPFR, not exported.  -*- mode: C -*-
2 
3 Copyright 2005-2018 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, 2012-03-05, gcc 4.4.6
23    on gcc49.fsffrance.org (Loongson 3A) with GMP 5.0.4
24    configured with ac_cv_func_getrusage=no */
25 
26 
27 #define MPFR_MULHIGH_TAB  \
28  -1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, \
29  0,0,0,0,0,0,0,16,16,16,16,16,16,18,18,18, \
30  18,20,20,20,20,22,22,22,24,32,32,32,32,32,32,32, \
31  32,32,32,32,32,36,36,36,36,32,36,36,36,36,36,36, \
32  36,40,40,40,40,40,44,44,44,44,44,44,48,64,64,64, \
33  64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64, \
34  64,64,64,64,64,64,72,72,72,72,64,64,64,64,64,64, \
35  64,64,64,72,72,72,72,93,93,93,93,93,93,93,93,93, \
36  93,93,93,93,93,93,93,93,93,93,93,93,93,93,96,93, \
37  96,93,96,105,105,105,105,105,105,105,105,105,105,105,105,105, \
38  105,105,108,105,117,117,117,117,117,117,117,117,117,117,117,117, \
39  117,117,117,117,117,117,117,117,129,129,129,129,129,129,129,129, \
40  129,129,129,129,129,129,129,129,129,129,141,141,117,117,117,117, \
41  117,117,129,129,128,129,129,129,189,189,189,189,189,189,189,189, \
42  189,189,189,189,189,189,189,189,189,189,189,189,189,189,189,189, \
43  189,189,189,189,189,189,189,189,189,189,189,189,189,189,189,189, \
44  189,189,189,189,189,189,189,189,189,189,189,189,189,189,189,189, \
45  189,189,189,189,189,189,189,188,189,189,192,189,189,189,189,189, \
46  189,189,189,189,189,189,213,213,213,213,213,213,213,213,213,213, \
47  213,213,213,213,213,213,213,212,213,213,213,213,213,213,213,213, \
48  213,213,213,213,213,213,237,237,237,213,213,237,276,237,276,275, \
49  276,276,276,276,276,276,276,276,276,276,276,276,276,276,276,283, \
50  276,276,276,276,276,276,276,276,276,276,276,276,276,276,276,276, \
51  276,275,276,276,276,276,285,283,283,283,285,283,283,285,285,285, \
52  285,285,378,377,378,378,378,378,378,378,378,378,378,378,378,378, \
53  378,377,378,378,378,378,378,378,378,378,378,378,378,378,378,378, \
54  378,378,378,378,378,378,378,378,378,378,378,378,378,378,378,378, \
55  378,378,378,378,378,378,377,378,378,378,378,378,378,378,378,378, \
56  378,378,378,378,378,378,378,378,378,377,378,378,378,378,378,378, \
57  378,378,376,378,378,378,378,378,378,378,378,378,378,378,378,378, \
58  378,378,378,378,378,378,378,378,378,378,378,378,378,378,378,378, \
59  378,378,378,378,378,378,378,378,378,378,378,378,378,378,378,378, \
60  378,378,378,378,378,378,378,378,378,378,378,378,378,378,378,378, \
61  378,378,378,378,504,504,504,503,504,504,504,504,504,503,504,504, \
62  504,504,504,504,504,504,504,504,504,504,504,504,504,504,504,504, \
63  504,504,504,504,504,504,504,504,504,504,504,504,504,504,504,504, \
64  504,504,504,504,504,504,504,504,504,504,504,504,504,504,504,504, \
65  504,504,504,504,504,504,504,504,504,504,504,504,504,504,504,504, \
66  504,504,504,504,504,504,504,504,504,504,504,504,504,504,504,504, \
67  504,504,504,504,504,504,504,504,504,504,504,504,504,504,504,504, \
68  504,504,504,504,504,504,504,504,504,504,504,504,504,504,504,504, \
69  504,504,504,504,504,504,504,504,504,504,504,504,504,504,504,504, \
70  568,504,568,568,568,568,568,568,568,568,568,568,568,568,568,568, \
71  568,568,568,568,568,568,568,568,568,568,568,568,568,568,568,568, \
72  568,568,568,568,568,568,568,568,568,568,568,568,568,568,568,568, \
73  568,568,568,568,568,568,568,568,568,568,568,568,568,568,568,568, \
74  568,568,568,568,568,568,568,568,566,566,568,568,568,568,568,568, \
75  568,632,568,632,632,632,632,632,632,632,632,632,632,632,632,632, \
76  632,632,632,632,632,632,632,632,632,632,632,632,632,632,632,632, \
77  632,632,632,632,632,632,632,632,632,632,736,736,736,735,736,736, \
78  736,736,736,736,736,736,736,736,736,736,736,736,736,736,736,735, \
79  736,736,736,736,736,736,736,736,736,736,736,736,736,736,736,736, \
80  736,736,736,736,736,736,736,736,736,736,736,736,736,736,736,736, \
81  736,736,736,736,736,736,736,736,736,736,736,736,736,736,736,736, \
82  736,736,736,736,736,736,736,736,735,736,736,736,736,736,736,736, \
83  736,736,736,736,735,736,736,736,736,736,736,736,736,736,736,736, \
84  736,760,760,760,760,760,760,760,760,760,760,760,760,760,760,760, \
85  760,760,760,760,760,760,760,760,760,760,760,760,760,760,760,760, \
86  760,760,760,760,760,760,832,760,832,832,832,832,832,832,832,832, \
87  832,832,832,831,832,832,832,832,832,832,832,831,832,832,832,832, \
88  832,831,832,832,832,832,831,832,832,832,832,832,832,832,832,832, \
89  832,832,832,832,832,832,832,832,832,832,832,832,832,832,832,832, \
90  832,832,831,832,832,832,832,832,832,832,832,832,832,832,832,832, \
91  832,832,832,832,832,832,832,832,832,832,832,832,832,832,832,832 \
92 
93 #define MPFR_SQRHIGH_TAB  \
94  -1,0,0,0,0,0,0,0,6,6,7,7,8,8,9,9, \
95  10,10,11,11,12,12,13,13,14,14,15,15,16,16,17,17, \
96  18,18,20,19,20,20,22,21,22,23,24,23,24,25,32,32, \
97  32,32,32,32,32,32,32,32,32,32,32,32,32,32,34,34, \
98  34,34,36,36,36,36,38,38,38,38,40,40,40,40,42,42, \
99  42,44,44,44,44,44,46,45,46,46,48,47,48,48,64,64, \
100  64,64,64,64,64,64,64,64,64,64,64,64,64,64,64,64, \
101  64,64,64,64,64,64,64,64,64,64,64,68,68,64,68,72, \
102  68,68,68,68,72,72,72,72,72,72,72,72,72,76,76,98, \
103  98,98,98,99,98,99,98,99,98,99,98,99,98,99,98,99, \
104  98,99,98,99,98,99,98,99,102,99,102,99,102,105,102,105, \
105  102,105,98,99,98,99,98,99,98,99,98,99,98,99,98,99, \
106  102,102,102,105,104,105,104,105,108,105,108,111,110,111,114,111, \
107  114,117,116,117,117,117,120,117,120,123,120,123,122,123,126,129, \
108  126,117,116,117,120,117,120,123,123,123,126,126,126,129,126,129, \
109  122,129,123,123,126,126,126,126,129,126,129,128,129,129,129,129, \
110  132,132,135,132,135,132,135,135,135,134,135,138,141,138,141,141, \
111  141,189,189,189,192,189,192,189,192,189,192,192,192,192,192,192, \
112  192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, \
113  192,192,192,192,192,192,192,192,192,192,192,192,192,192,192,192, \
114  192,192,192,192,192,192,189,192,192,192,192,192,192,192,192,192, \
115  192,192,192,192,192,192,192,192,192,192,192,192,192,192,201,201, \
116  201,201,201,201,201,201,201,201,201,201,201,213,213,213,213,213, \
117  213,213,213,213,213,213,213,216,213,213,213,213,213,213,213,213, \
118  213,213,213,213,213,216,213,213,213,225,225,225,225,225,225,224, \
119  225,225,225,237,237,237,237,237,237,237,237,294,294,294,294,294, \
120  294,294,294,294,294,294,294,294,294,294,294,294,294,294,294,294, \
121  294,294,294,294,294,294,294,294,294,294,294,294,294,294,294,294, \
122  294,294,294,294,294,294,294,294,294,294,294,294,294,294,294,294, \
123  294,294,294,294,294,294,294,294,294,294,294,294,294,294,294,294, \
124  294,402,402,402,402,402,402,402,402,402,402,402,402,402,402,402, \
125  402,402,402,402,402,402,402,402,402,402,402,402,402,402,402,402, \
126  402,402,402,402,402,402,402,402,402,402,402,402,402,402,402,402, \
127  402,402,402,402,402,402,402,402,402,402,402,402,402,402,402,402, \
128  402,402,402,402,402,402,402,402,402,402,402,402,400,402,402,402, \
129  402,402,402,402,402,402,402,402,402,402,402,402,402,402,402,402, \
130  402,402,402,402,402,402,402,402,402,402,402,402,402,402,402,402, \
131  402,402,402,402,402,402,402,402,402,402,402,426,426,426,504,504, \
132  504,503,504,504,504,504,504,504,504,504,504,504,504,504,504,504, \
133  504,504,504,504,504,504,504,504,504,504,504,504,504,504,504,504, \
134  504,504,504,504,504,504,504,504,504,504,504,504,504,504,504,504, \
135  504,504,504,504,504,504,504,504,504,504,503,504,504,504,504,504, \
136  504,504,504,504,504,504,504,504,504,504,504,504,504,504,504,504, \
137  504,504,504,504,504,504,504,504,504,504,504,504,504,504,504,504, \
138  504,504,504,504,504,504,504,504,504,504,504,504,504,504,504,504, \
139  504,504,504,504,504,504,504,504,504,504,504,504,504,504,503,504, \
140  504,504,504,504,504,504,504,504,504,504,504,504,504,504,504,504, \
141  504,504,504,504,504,504,504,504,504,504,504,504,504,504,504,504, \
142  503,504,504,504,504,504,504,504,504,504,504,504,504,504,504,503, \
143  504,504,503,504,504,504,504,536,536,536,536,536,536,536,536,536, \
144  536,536,536,536,536,536,536,536,536,536,536,536,536,536,536,535, \
145  536,536,535,536,536,536,536,536,568,568,568,568,568,568,568,568, \
146  568,568,568,568,567,568,568,568,568,568,568,568,568,568,568,567, \
147  568,568,567,568,568,568,568,568,568,568,568,568,568,568,568,568, \
148  568,568,568,568,568,568,568,568,568,568,568,568,568,568,568,599, \
149  600,600,568,600,600,568,600,600,600,600,568,600,568,600,504,504, \
150  504,504,504,504,504,503,503,503,504,503,504,504,504,504,502,504, \
151  504,504,504,504,504,504,504,504,504,504,504,504,504,504,504,504, \
152  504,504,504,504,504,504,504,504,504,504,504,504,504,504,504,504, \
153  504,504,504,504,504,504,504,504,504,504,504,504,504,504,504,504, \
154  504,503,503,504,504,504,504,504,504,504,503,504,504,504,504,504, \
155  504,504,504,536,536,536,536,536,536,536,536,536,536,536,536,536, \
156  536,536,536,536,536,536,536,536,536,536,535,536,536,536,536,536, \
157  536,536,536,536,568,568,568,568,552,568,568,568,568,568,568,536 \
158 
159 #define MPFR_DIVHIGH_TAB  \
160  0,0,2,0,0,0,0,0,0,0,0,0,0,0,0,0, /*0-15*/ \
161  0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /*16-31*/ \
162  0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /*32-47*/ \
163  0,0,0,27,0,28,0,29,30,30,31,32,32,33,34,33, /*48-63*/ \
164  34,35,36,35,36,36,37,37,38,39,39,39,40,40,41,41, /*64-79*/ \
165  50,51,50,50,52,50,50,52,51,52,50,51,50,50,52,50, /*80-95*/ \
166  52,50,52,52,52,52,56,55,56,64,64,64,64,64,64,64, /*96-111*/ \
167  64,64,64,64,64,64,64,64,64,64,64,64,64,64,72,66, /*112-127*/ \
168  66,71,72,71,72,71,72,69,72,72,72,72,72,72,78,80, /*128-143*/ \
169  78,79,78,80,80,80,80,80,80,79,80,80,80,80,88,84, /*144-159*/ \
170  88,88,88,88,88,84,87,85,86,86,88,87,88,88,104,89, /*160-175*/ \
171  104,100,102,104,104,102,100,100,102,103,100,103,128,103,100,104, /*176-191*/ \
172  128,103,100,100,104,103,104,103,128,102,104,128,104,128,128,128, /*192-207*/ \
173  128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128, /*208-223*/ \
174  128,128,128,128,128,128,128,128,128,128,128,128,128,128,128,128, /*224-239*/ \
175  128,128,127,127,128,128,127,128,128,128,140,128,144,128,144,132, /*240-255*/ \
176  144,135,143,144,144,143,144,143,144,144,142,143,144,144,140,144, /*256-271*/ \
177  138,141,144,144,144,143,144,143,144,144,144,144,144,144,160,160, /*272-287*/ \
178  160,160,148,152,156,157,160,160,160,158,159,160,160,160,160,159, /*288-303*/ \
179  160,160,160,159,159,160,160,159,159,160,160,161,176,160,162,181, /*304-319*/ \
180  182,185,186,184,185,186,185,176,185,186,200,192,186,208,184,208, /*320-335*/ \
181  185,206,200,200,203,200,208,204,204,206,208,208,209,208,208,208, /*336-351*/ \
182  206,208,206,206,200,204,204,208,208,208,208,208,208,208,208,208, /*352-367*/ \
183  207,204,206,207,208,208,208,206,208,208,208,208,208,208,208,206, /*368-383*/ \
184  208,208,208,208,206,208,208,208,256,256,208,256,256,206,256,256, /*384-399*/ \
185  256,256,256,208,255,256,256,256,256,256,256,256,256,256,256,256, /*400-415*/ \
186  256,256,256,256,256,256,256,256,256,256,256,256,256,256,256,256, /*416-431*/ \
187  256,256,255,256,256,256,256,256,256,256,256,254,256,255,256,256, /*432-447*/ \
188  256,256,256,256,256,256,255,255,256,256,256,255,254,254,256,253, /*448-463*/ \
189  256,256,256,256,256,256,256,256,256,255,255,256,256,256,256,256, /*464-479*/ \
190  256,256,256,255,256,256,255,256,256,256,256,255,254,256,256,255, /*480-495*/ \
191  256,256,256,256,255,256,255,255,255,256,255,256,256,256,257,264, /*496-511*/ \
192  272,264,269,281,277,281,280,268,269,281,282,282,279,264,288,288, /*512-527*/ \
193  287,280,281,280,288,288,288,282,287,288,287,288,287,288,282,287, /*528-543*/ \
194  281,282,288,288,280,288,288,282,281,288,280,282,287,288,287,288, /*544-559*/ \
195  282,288,288,288,287,285,288,287,288,288,288,288,288,288,289,292, /*560-575*/ \
196  296,293,304,304,304,312,304,306,304,305,303,304,312,304,305,316, /*576-591*/ \
197  315,318,318,312,316,316,318,316,316,320,318,318,320,320,371,370, /*592-607*/ \
198  371,372,373,372,372,373,376,376,378,377,378,378,384,373,377,372, /*608-623*/ \
199  378,372,378,378,378,378,377,384,378,384,378,372,378,378,378,378, /*624-639*/ \
200  372,377,378,378,377,378,378,378,377,371,384,384,378,378,378,378, /*640-655*/ \
201  378,377,378,378,378,378,378,378,378,384,384,384,383,384,417,384, /*656-671*/ \
202  378,378,378,378,377,378,378,401,378,400,378,378,400,408,384,412, /*672-687*/ \
203  384,384,414,408,416,417,411,416,384,414,414,414,416,416,417,414, /*688-703*/ \
204  416,420,400,412,412,412,416,413,416,414,414,416,416,416,412,412, /*704-719*/ \
205  416,416,414,416,416,416,417,416,416,416,416,414,415,416,416,416, /*720-735*/ \
206  414,378,378,377,384,378,378,384,384,384,384,384,384,384,414,384, /*736-751*/ \
207  415,416,416,413,414,416,416,413,414,414,416,416,415,416,416,400, /*752-767*/ \
208  412,408,417,411,412,416,415,416,416,412,416,417,416,414,416,416, /*768-783*/ \
209  416,416,416,416,416,416,416,414,416,416,416,400,415,416,416,401, /*784-799*/ \
210  416,420,412,408,408,412,416,407,408,416,415,412,416,414,416,415, /*800-815*/ \
211  414,412,413,416,412,414,413,416,416,416,418,416,416,416,417,417, /*816-831*/ \
212  419,418,420,419,420,420,426,421,424,426,424,432,426,425,426,426, /*832-847*/ \
213  426,426,432,432,432,432,432,432,432,432,436,432,432,432,433,435, /*848-863*/ \
214  440,438,440,438,436,440,440,438,448,444,444,448,440,444,448,446, /*864-879*/ \
215  444,448,444,443,444,446,446,448,448,449,448,448,448,449,450,468, /*880-895*/ \
216  466,468,460,457,458,460,463,456,460,456,464,467,462,473,512,458, /*896-911*/ \
217  488,468,512,473,512,468,512,510,512,512,510,510,512,508,512,512, /*912-927*/ \
218  512,512,510,512,512,510,512,510,474,511,486,512,512,512,512,512, /*928-943*/ \
219  509,510,510,512,512,512,512,512,512,512,514,512,512,511,508,512, /*944-959*/ \
220  512,510,512,511,512,508,512,512,512,511,512,512,510,512,512,510, /*960-975*/ \
221  512,510,510,512,512,511,512,512,512,512,512,512,512,512,549,512, /*976-991*/ \
222  512,512,545,512,512,512,510,512,512,512,512,512,512,512,510,512, /*992-1007*/ \
223  512,512,551,510,545,512,550,512,552,545,511,557,545,512,544,551 /*1008-1023*/ \
224 
225 #define MPFR_MUL_THRESHOLD 6 /* limbs */
226 #define MPFR_SQR_THRESHOLD 9 /* limbs */
227 #define MPFR_DIV_THRESHOLD 6 /* limbs */
228 #define MPFR_EXP_2_THRESHOLD 530 /* bits */
229 #define MPFR_EXP_THRESHOLD 12546 /* bits */
230 #define MPFR_SINCOS_THRESHOLD 22043 /* bits */
231 #define MPFR_AI_THRESHOLD1 -17975 /* threshold for negative input of mpfr_ai */
232 #define MPFR_AI_THRESHOLD2 1889
233 #define MPFR_AI_THRESHOLD3 28004
234 /* Tuneup completed successfully, took 13753 seconds */
235