xref: /netbsd-src/external/lgpl3/mpfr/dist/src/mips/mparam.h (revision ba125506a622fe649968631a56eba5d42ff57863)
1 /* Various Thresholds of MPFR, not exported.  -*- mode: C -*-
2 
3 Copyright 2005-2023 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 https://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, 2018-02-22, gcc 4.6.3
23    on gcc22.fsffrance.org (Cavium Octeon II V0.1) with GMP 6.1.2,
24    which defines CFLAGS='-O2 -pedantic -mabi=n32' */
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,32,32,32,36,36,36,36,36,36,36,36,36,36,36,40, \
31  40,40,44,44,44,44,44,44,44,44,44,48,48,52,52,52, \
32  52,52,52,52,52,52,52,64,64,64,64,64,64,64,64,64, \
33  72,72,72,72,72,72,72,72,72,72,72,72,72,72,72,72, \
34  72,80,80,80,80,80,80,80,80,72,72,72,72,72,72,72, \
35  72,80,80,80,80,105,105,105,105,105,105,105,105,105,105,105, \
36  105,105,105,105,105,105,105,105,103,104,105,105,105,105,105,105, \
37  105,105,105,105,105,105,105,117,117,117,117,117,117,117,117,117, \
38  117,117,117,120,129,129,129,129,129,129,129,129,129,129,129,129, \
39  129,129,129,129,129,129,129,129,141,141,141,141,141,141,141,141, \
40  153,153,153,153,153,153,153,153,153,153,153,153,153,153,153,153, \
41  153,153,153,153,153,153,153,153,153,153,153,165,165,165,165,165, \
42  165,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,213,213,213,213,213,213, \
44  213,213,213,213,213,213,213,213,213,213,213,213,213,213,213,213, \
45  213,213,213,213,213,213,213,213,213,213,213,213,213,213,213,213, \
46  213,213,213,213,213,213,213,213,213,213,213,213,213,213,213,213, \
47  213,213,213,213,213,213,237,237,237,237,237,237,237,237,237,237, \
48  237,237,237,237,237,237,237,237,237,237,237,276,276,276,276,276, \
49  276,276,276,276,276,276,276,276,276,276,276,276,276,276,276,276, \
50  276,276,276,316,316,316,316,316,316,316,316,316,316,316,316,316, \
51  316,316,316,316,316,316,316,316,316,316,316,316,316,316,316,316, \
52  316,316,316,354,354,354,354,354,354,354,354,354,354,354,354,354, \
53  354,354,354,354,354,354,354,354,354,354,354,354,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,378,378,378,378,378,378,378,378,378,378, \
56  378,378,378,378,378,378,378,378,378,378,378,378,378,378,378,378, \
57  378,378,378,378,378,378,378,378,378,378,378,426,426,426,426,426, \
58  426,426,426,426,426,426,426,426,426,426,426,426,426,426,426,426, \
59  426,426,426,426,426,426,426,426,426,426,426,426,426,426,426,426, \
60  426,426,426,426,426,426,426,426,426,426,426,426,426,426,426,426, \
61  426,426,426,426,426,426,426,426,426,456,456,456,456,456,456,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,568,568,568,568,568,568, \
67  568,568,568,568,568,568,568,568,568,568,568,568,568,568,568,568, \
68  568,568,568,568,568,568,568,568,568,568,568,568,568,568,568,568, \
69  568,568,568,568,568,568,568,568,568,568,568,568,568,568,568,568, \
70  568,568,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,632,632,632,632,632,632,632,632, \
75  632,632,632,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,632,632,632,632,632,632, \
78  632,632,632,632,632,632,632,632,632,632,632,632,736,736,736,736, \
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,736,736,736,736,736,736,736,736, \
83  736,736,736,736,736,736,736,736,736,736,736,736,736,736,736,736, \
84  736,736,736,736,736,736,736,736,736,736,736,832,832,832,832,832, \
85  832,832,832,832,832,832,832,832,832,832,832,832,832,832,832,832, \
86  832,832,832,832,832,832,832,832,832,832,832,832,832,832,832,832, \
87  832,832,832,832,832,832,832,832,832,832,832,832,832,832,832,832, \
88  832,832,832,832,832,832,832,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,832,832,832,832,832,832,832,832,832,832,832,832,856,832 \
91 
92 #define MPFR_SQRHIGH_TAB  \
93  -1,0,0,0,0,0,0,0,0,0,0,0,8,8,9,10, \
94  10,10,11,11,12,12,13,14,14,14,15,15,16,16,17,18, \
95  18,18,19,19,20,20,21,22,22,22,23,23,24,24,25,25, \
96  26,26,27,27,28,28,29,30,32,32,32,32,32,36,36,36, \
97  36,36,36,36,36,36,40,40,40,40,40,42,44,44,44,44, \
98  44,44,44,44,44,48,48,48,48,52,52,52,52,52,52,52, \
99  64,64,64,64,64,64,64,64,64,64,64,64,64,64,68,72, \
100  72,64,64,64,64,64,64,64,64,64,64,68,68,68,72,72, \
101  72,72,72,72,72,72,72,72,72,72,72,72,72,80,80,80, \
102  80,80,80,84,80,80,80,88,88,84,88,88,88,88,88,99, \
103  99,99,105,99,99,105,105,99,99,105,105,105,105,105,105,105, \
104  105,105,105,105,105,105,105,105,105,105,105,105,105,111,111,111, \
105  111,111,117,117,117,117,117,117,117,117,123,123,123,123,105,105, \
106  117,129,129,111,111,111,117,117,117,117,117,117,123,123,123,123, \
107  123,123,123,123,129,129,129,129,129,129,129,129,129,129,135,135, \
108  135,135,141,141,141,141,141,141,141,141,141,147,147,147,147,147, \
109  153,153,153,153,153,153,153,153,153,153,153,153,153,153,153,153, \
110  153,153,153,153,153,153,141,141,147,147,147,147,147,147,189,189, \
111  189,189,189,189,189,189,189,189,189,189,189,189,189,189,189,189, \
112  189,189,201,201,201,201,201,201,201,189,201,201,201,201,213,213, \
113  213,213,213,189,189,189,189,189,189,189,189,189,189,189,189,189, \
114  201,201,201,201,201,201,201,201,201,201,189,189,189,213,213,213, \
115  213,213,213,213,213,213,213,213,201,201,201,201,201,213,213,213, \
116  213,213,213,213,213,213,213,213,213,213,213,213,213,213,213,213, \
117  213,213,213,213,213,213,213,213,213,213,213,213,213,213,213,213, \
118  213,213,213,213,237,237,237,237,237,237,237,237,237,237,237,237, \
119  237,237,237,237,237,237,237,237,237,237,237,237,237,237,237,249, \
120  249,261,261,261,261,261,261,294,294,294,294,294,261,261,261,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,312,312,312,294,294,294,294, \
123  294,312,312,312,312,312,312,312,312,312,312,312,312,312,312,312, \
124  312,312,312,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,402,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,426,426,426,426,426,426,426,426,426,426,426, \
131  426,426,426,426,426,426,426,426,426,426,426,426,426,426,426,426, \
132  426,426,426,426,426,426,426,426,426,456,504,426,426,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,536,504,504,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,536,536,504,536,536,536,536, \
139  504,536,536,536,536,536,536,536,536,536,536,536,536,536,568,568, \
140  568,568,568,568,568,568,568,568,568,568,568,568,568,568,568,568, \
141  568,568,568,568,568,568,568,568,568,568,568,568,568,568,568,568, \
142  568,568,568,568,568,568,568,568,568,568,568,568,568,568,568,568, \
143  568,568,568,568,568,568,568,568,568,568,568,568,568,568,568,568, \
144  568,568,568,568,568,568,568,568,568,568,568,568,568,568,568,568, \
145  568,568,568,568,568,568,568,568,568,568,568,568,568,568,568,568, \
146  568,568,568,568,568,568,568,568,568,568,568,568,568,568,568,568, \
147  568,568,568,568,568,568,568,568,568,568,568,568,568,568,568,568, \
148  568,568,568,568,568,568,600,600,600,600,600,600,600,600,600,600, \
149  600,600,632,632,632,632,632,632,632,632,632,632,632,632,632,632, \
150  632,632,632,632,632,632,632,632,632,632,632,632,632,632,632,632, \
151  632,624,632,632,632,632,632,632,632,632,632,632,632,632,632,632, \
152  632,632,632,632,664,632,664,664,664,664,664,664,664,664,664,664, \
153  664,664,664,664,664,664,664,696,664,696,696,696,696,696,696,696, \
154  696,696,696,696,568,568,568,568,568,568,568,568,568,568,568,568, \
155  568,536,568,568,568,568,568,568,568,568,568,568,568,568,568,568, \
156  568,568,568,568,568,568,568,568,568,568,568,568,568,568,568,568 \
157 
158 #define MPFR_DIVHIGH_TAB  \
159  0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /*0-15*/ \
160  0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /*16-31*/ \
161  0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /*32-47*/ \
162  0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /*48-63*/ \
163  0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /*64-79*/ \
164  0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0, /*80-95*/ \
165  0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,59, /*96-111*/ \
166  58,59,62,60,60,60,62,62,62,62,63,72,72,72,72,72, /*112-127*/ \
167  72,72,72,72,72,70,72,72,72,72,72,72,72,72,78,80, /*128-143*/ \
168  80,84,80,80,79,80,80,88,80,80,88,87,80,80,88,88, /*144-159*/ \
169  87,88,88,88,88,88,86,88,96,88,88,88,88,88,96,104, /*160-175*/ \
170  104,96,96,96,96,96,96,104,96,104,104,104,104,104,104,100, /*176-191*/ \
171  104,104,102,104,102,104,104,104,104,104,104,112,104,104,112,107, /*192-207*/ \
172  112,112,112,112,112,112,112,120,112,112,128,112,112,128,124,122, /*208-223*/ \
173  124,114,120,122,116,128,125,128,119,120,144,120,120,123,144,128, /*224-239*/ \
174  144,126,144,128,144,144,144,144,144,144,144,144,144,144,144,144, /*240-255*/ \
175  144,144,144,144,144,144,141,144,144,144,144,144,144,144,144,144, /*256-271*/ \
176  144,144,144,144,144,159,144,144,144,144,144,144,144,144,160,160, /*272-287*/ \
177  158,159,159,160,160,159,158,158,160,160,160,160,164,160,160,160, /*288-303*/ \
178  160,159,160,160,160,160,160,158,160,160,160,160,160,160,174,176, /*304-319*/ \
179  176,176,175,176,176,176,176,174,176,175,176,176,176,176,176,176, /*320-335*/ \
180  176,176,173,176,176,176,186,192,176,184,176,208,191,176,192,192, /*336-351*/ \
181  185,207,192,208,192,191,192,207,206,208,192,207,208,208,208,208, /*352-367*/ \
182  208,208,207,208,208,208,209,208,209,209,209,208,208,208,208,208, /*368-383*/ \
183  208,208,208,207,208,208,216,208,208,208,208,208,208,208,208,208, /*384-399*/ \
184  208,208,209,224,207,208,208,208,208,209,208,207,208,224,224,223, /*400-415*/ \
185  224,216,221,222,233,216,221,224,234,224,224,224,224,240,224,232, /*416-431*/ \
186  240,240,239,243,247,224,240,246,246,240,256,256,240,256,248,256, /*432-447*/ \
187  250,256,256,256,240,240,256,256,256,256,252,256,256,240,253,246, /*448-463*/ \
188  254,252,256,255,255,256,256,254,256,256,256,256,288,288,256,287, /*464-479*/ \
189  256,288,248,256,246,288,288,256,288,288,256,288,288,288,256,282, /*480-495*/ \
190  288,288,288,256,288,288,256,256,288,256,288,288,256,256,287,288, /*496-511*/ \
191  285,284,288,288,288,304,287,288,288,288,288,288,282,288,288,288, /*512-527*/ \
192  288,288,288,287,286,288,288,288,288,288,288,287,288,286,287,288, /*528-543*/ \
193  288,288,288,288,288,288,304,288,288,287,287,286,288,288,287,288, /*544-559*/ \
194  288,288,288,287,288,287,288,288,288,288,288,288,288,288,290,320, /*560-575*/ \
195  318,320,304,320,302,320,304,304,305,320,305,318,318,320,320,320, /*576-591*/ \
196  318,320,319,317,320,312,316,320,318,319,320,320,320,320,318,312, /*592-607*/ \
197  316,312,319,318,320,328,318,318,320,320,336,320,316,318,319,319, /*608-623*/ \
198  320,318,319,320,320,320,320,319,352,350,351,352,352,352,324,351, /*624-639*/ \
199  352,352,351,336,351,372,371,350,378,336,336,368,372,378,351,372, /*640-655*/ \
200  378,384,384,352,352,352,378,383,352,352,384,371,384,384,372,351, /*656-671*/ \
201  384,352,368,384,384,372,352,382,384,378,376,384,370,383,372,384, /*672-687*/ \
202  372,384,384,378,378,417,414,417,416,384,416,416,384,416,378,416, /*688-703*/ \
203  417,384,372,414,416,416,384,415,414,417,416,416,415,416,416,384, /*704-719*/ \
204  417,416,416,416,416,416,416,416,416,416,416,415,416,416,416,418, /*720-735*/ \
205  417,417,419,416,416,417,418,418,417,416,414,416,414,414,418,416, /*736-751*/ \
206  415,418,417,416,420,416,418,416,416,416,416,417,384,416,420,417, /*752-767*/ \
207  414,416,418,415,416,416,416,414,417,418,413,418,416,417,416,417, /*768-783*/ \
208  417,416,418,416,416,414,416,418,417,420,414,416,415,416,416,417, /*784-799*/ \
209  416,418,418,414,418,416,417,416,416,416,416,416,415,415,417,415, /*800-815*/ \
210  418,420,414,418,415,416,419,415,416,416,416,415,416,417,418,418, /*816-831*/ \
211  420,426,420,419,431,424,426,432,431,431,426,430,432,426,432,426, /*832-847*/ \
212  426,432,432,432,432,440,432,432,448,432,432,448,432,432,444,449, /*848-863*/ \
213  448,464,438,474,444,444,444,440,449,473,480,441,446,480,448,474, /*864-879*/ \
214  448,448,471,466,472,448,448,447,479,472,474,448,480,448,464,449, /*880-895*/ \
215  468,456,467,480,466,468,474,461,455,467,473,473,466,466,468,473, /*896-911*/ \
216  480,474,471,468,462,468,467,480,478,479,480,474,479,480,478,474, /*912-927*/ \
217  478,474,473,480,480,480,480,480,480,480,472,471,474,480,480,474, /*928-943*/ \
218  474,480,480,480,479,492,480,479,479,480,480,480,491,480,504,512, /*944-959*/ \
219  493,512,492,512,513,512,497,494,488,492,512,512,499,512,507,510, /*960-975*/ \
220  504,494,512,510,512,511,512,511,512,512,512,512,513,512,512,508, /*976-991*/ \
221  512,504,528,512,511,512,512,513,511,504,512,512,515,504,552,552, /*992-1007*/ \
222  510,576,512,512,512,508,512,576,514,512,512,576,576,570,575,576 /*1008-1023*/ \
223 
224 #define MPFR_MUL_THRESHOLD 5 /* limbs */
225 #define MPFR_SQR_THRESHOLD 8 /* limbs */
226 #define MPFR_DIV_THRESHOLD 5 /* limbs */
227 #define MPFR_EXP_2_THRESHOLD 215 /* bits */
228 #define MPFR_EXP_THRESHOLD 12405 /* bits */
229 #define MPFR_SINCOS_THRESHOLD 20831 /* bits */
230 #define MPFR_AI_THRESHOLD1 -19332 /* threshold for negative input of mpfr_ai */
231 #define MPFR_AI_THRESHOLD2 2329
232 #define MPFR_AI_THRESHOLD3 28997
233 /* Tuneup completed successfully, took 6568 seconds */
234