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