mparam.h revision 1.1.1.2
1/* Various Thresholds of MPFR, not exported. -*- mode: C -*- 2 3Copyright 2005-2023 Free Software Foundation, Inc. 4 5This file is part of the GNU MPFR Library. 6 7The GNU MPFR Library is free software; you can redistribute it and/or modify 8it under the terms of the GNU Lesser General Public License as published by 9the Free Software Foundation; either version 3 of the License, or (at your 10option) any later version. 11 12The GNU MPFR Library is distributed in the hope that it will be useful, but 13WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY 14or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public 15License for more details. 16 17You should have received a copy of the GNU Lesser General Public License 18along with the GNU MPFR Library; see the file COPYING.LESSER. If not, see 19https://www.gnu.org/licenses/ or write to the Free Software Foundation, Inc., 2051 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. */ 21 22/* Generated by MPFR's tuneup.c, 2018-02-22, gcc 6.3.0 */ 23/* gcc13.fsffrance.org (Dual-Core AMD Opteron(tm) Processor 2212) 24 with gmp 6.1.2, which uses -m64 -mtune=k8 -march=k8. */ 25 26#define MPFR_MULHIGH_TAB \ 27 -1,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,9,9,11, \ 28 12,13,11,15,14,15,15,16,18,18,19,20,18,19,19,20, \ 29 22,23,23,24,26,30,28,24,30,32,30,32,32,30,30,32, \ 30 32,30,30,32,32,38,32,40,36,36,40,40,38,38,38,38, \ 31 38,40,44,44,46,46,44,46,48,46,52,48,56,56,56,56, \ 32 56,56,56,60,60,60,64,64,64,64,64,64,64,64,64,64, \ 33 72,72,72,72,72,72,72,72,72,72,72,72,80,80,80,80, \ 34 80,80,80,80,80,80,80,80,80,93,80,93,93,80,80,93, \ 35 80,80,80,80,80,105,93,93,93,93,93,93,93,93,93,108, \ 36 93,93,111,93,105,117,105,117,117,117,111,117,117,105,111,105, \ 37 108,105,117,117,117,117,117,117,117,117,117,117,117,117,111,117, \ 38 117,117,117,117,129,129,117,129,129,129,135,129,129,129,135,135, \ 39 135,141,141,129,129,141,132,141,141,141,141,135,141,141,141,141, \ 40 141,141,141,141,141,141,141,159,141,153,141,153,153,165,165,165, \ 41 159,165,165,165,165,165,165,165,165,165,165,177,189,189,189,189, \ 42 189,189,177,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,213,213,189,189,189,189,189,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,225,225, \ 47 225,237,225,225,237,237,237,237,237,237,237,237,237,237,237,252, \ 48 237,237,252,252,252,252,252,252,252,252,252,252,252,252,252,252, \ 49 252,252,284,252,284,284,252,284,284,252,284,284,284,284,284,284, \ 50 284,284,284,284,284,284,284,284,284,284,284,284,284,284,284,284, \ 51 284,284,284,284,284,284,284,284,284,284,284,284,284,300,300,284, \ 52 300,300,300,300,300,300,300,300,316,316,315,316,316,315,316,316, \ 53 316,316,315,316,316,316,316,316,316,316,316,316,316,316,316,316, \ 54 316,314,315,316,316,316,316,314,315,316,316,316,316,316,316,316, \ 55 316,316,316,316,316,316,316,316,316,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,378,378,378,378,378, \ 58 378,378,378,378,378,378,378,378,378,378,378,378,378,378,378,426, \ 59 378,426,378,426,378,378,378,378,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,426,426,426,426,426,426,426, \ 62 426,426,426,426,426,425,426,426,426,426,426,426,426,426,426,425, \ 63 426,426,426,426,474,425,474,426,474,474,504,426,474,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,503,504,504, \ 67 504,504,504,504,504,504,504,503,504,504,503,504,504,504,504,504, \ 68 504,504,568,504,568,504,504,504,568,504,568,568,568,568,568,568, \ 69 568,568,568,568,568,568,568,567,568,568,568,568,568,568,568,568, \ 70 568,568,568,568,568,568,568,568,568,567,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,567,568,568,568,567,568,568,568,568,568,568,568, \ 73 568,568,568,568,568,568,567,568,568,568,568,568,568,568,568,568, \ 74 600,568,568,568,600,632,632,568,632,632,632,632,632,600,632,600, \ 75 632,632,600,600,632,632,599,600,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,631,632,632,632,632,632,630,631,632,632, \ 78 632,632,631,632,632,632,632,632,631,632,631,632,632,632,631,632, \ 79 632,632,632,632,632,632,632,632,632,632,632,632,632,632,632,631, \ 80 632,632,632,632,632,632,631,632,632,632,632,632,632,736,632,736, \ 81 736,736,736,736,736,735,736,735,736,736,736,735,736,736,736,735, \ 82 735,736,735,736,736,736,736,736,736,736,736,735,736,736,736,736, \ 83 736,736,736,736,735,736,736,736,736,736,736,736,736,736,735,736, \ 84 736,736,736,736,736,736,735,736,734,736,736,736,736,736,735,736, \ 85 735,736,735,736,736,736,736,736,735,736,736,736,736,736,736,736, \ 86 736,736,736,736,736,736,736,735,736,736,736,832,736,736,832,832, \ 87 736,831,831,832,832,832,832,832,832,832,830,832,832,832,832,832, \ 88 832,832,831,832,832,832,832,832,832,832,832,830,831,832,831,832, \ 89 831,832,832,832,832,832,831,832,831,831,831,832,832,832,832,832, \ 90 832,832,832,832,831,832,832,832,832,832,832,832,831,832,831,832 \ 91 92#define MPFR_SQRHIGH_TAB \ 93 -1,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,7,8,9,9,11, \ 94 11,11,11,12,13,14,15,15,17,18,18,17,17,18,18,20, \ 95 20,18,19,19,20,21,23,23,24,25,23,23,24,25,26,27, \ 96 28,27,28,29,28,31,32,31,32,31,32,33,34,34,34,40, \ 97 40,40,40,40,40,40,40,40,40,46,46,46,42,46,46,48, \ 98 48,48,48,48,48,48,48,48,56,54,56,56,56,48,56,56, \ 99 50,50,52,52,62,54,54,56,56,54,58,60,62,62,58,64, \ 100 64,62,66,64,64,72,66,68,66,72,72,72,72,72,72,72, \ 101 72,72,72,72,80,72,80,72,80,72,80,80,80,80,80,80, \ 102 84,80,80,84,80,80,80,80,80,92,92,92,96,92,96,92, \ 103 96,92,96,92,96,96,96,96,96,96,96,100,96,96,96,96, \ 104 96,96,96,96,100,96,96,112,112,112,96,112,112,112,112,112, \ 105 112,112,112,104,112,111,112,112,112,112,112,112,112,112,112,112, \ 106 112,112,112,141,112,141,135,135,141,135,128,141,141,141,135,141, \ 107 128,141,140,141,141,141,135,135,141,135,141,141,141,141,141,141, \ 108 141,141,147,141,141,147,147,141,141,141,159,147,141,147,147,159, \ 109 158,159,159,159,159,159,165,159,165,165,159,165,165,159,165,165, \ 110 165,171,159,165,165,165,165,165,165,165,171,171,165,171,171,183, \ 111 189,189,183,189,189,189,189,189,189,189,189,189,189,189,189,189, \ 112 189,189,189,188,189,189,188,171,171,188,189,189,189,189,189,189, \ 113 189,189,183,183,183,189,189,183,188,189,189,195,213,189,189,195, \ 114 189,189,188,195,189,189,189,195,213,189,189,189,213,213,213,189, \ 115 189,213,213,189,189,189,195,189,189,189,195,188,189,213,213,195, \ 116 213,213,213,213,213,213,213,213,213,213,213,213,213,213,213,213, \ 117 213,213,213,212,213,213,237,236,213,237,213,213,213,213,237,237, \ 118 237,237,237,237,237,237,237,237,237,237,237,236,237,237,237,237, \ 119 237,237,237,237,237,249,237,237,237,237,237,237,237,249,237,237, \ 120 237,272,273,236,273,237,273,273,273,285,273,273,249,273,237,285, \ 121 273,273,273,273,285,237,285,285,273,285,273,284,285,285,285,285, \ 122 285,285,285,285,285,285,285,284,285,285,285,285,285,284,273,284, \ 123 285,285,285,284,285,285,285,285,285,285,285,285,285,285,285,285, \ 124 285,285,285,285,284,333,333,333,309,333,285,332,333,333,309,333, \ 125 333,309,332,333,321,321,333,309,333,333,333,333,333,332,333,332, \ 126 333,333,333,333,333,332,333,333,332,333,333,333,333,333,333,333, \ 127 333,333,333,333,332,333,333,333,333,333,333,333,333,333,333,333, \ 128 333,333,333,333,333,332,333,333,333,332,333,333,333,333,333,333, \ 129 333,333,333,333,333,333,333,333,333,333,333,333,333,333,333,333, \ 130 333,333,333,333,333,420,333,333,333,402,420,420,402,402,420,420, \ 131 402,420,420,420,419,402,420,420,420,420,420,420,420,420,420,420, \ 132 420,420,420,420,420,420,420,420,420,420,420,419,420,420,420,420, \ 133 420,420,419,420,402,420,420,420,420,420,420,420,420,402,401,420, \ 134 420,420,402,420,420,402,419,420,420,420,419,420,420,420,420,420, \ 135 420,420,420,420,420,420,420,420,420,420,420,420,420,420,420,420, \ 136 420,420,420,420,420,418,419,420,419,420,420,420,420,420,420,420, \ 137 420,420,420,419,420,420,420,420,420,420,402,420,420,417,420,420, \ 138 420,420,420,420,420,420,420,420,419,420,420,420,420,420,420,420, \ 139 420,420,438,420,438,438,420,420,420,420,419,420,420,474,420,474, \ 140 474,474,474,492,492,474,420,474,492,474,420,492,568,473,420,492, \ 141 492,492,568,492,568,568,568,568,492,568,568,568,568,568,568,567, \ 142 568,568,568,568,568,568,492,568,568,492,568,568,568,492,568,568, \ 143 568,568,568,568,568,492,568,568,568,568,568,568,568,568,567,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,567,568,568,568,568,568,568,568,567,568,568,568,568,568, \ 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,567,568,568,568,568, \ 149 568,568,568,568,568,568,567,568,566,567,568,568,568,568,568,568, \ 150 568,568,568,568,566,568,568,568,568,568,568,568,568,568,568,568, \ 151 568,632,568,632,568,568,568,568,568,568,568,568,568,568,568,568, \ 152 632,568,568,568,568,568,568,568,568,568,568,568,568,630,568,568, \ 153 630,632,568,568,632,632,631,632,630,568,632,632,632,632,632,632, \ 154 632,632,632,632,631,632,632,632,632,632,632,632,664,631,632,664, \ 155 631,632,632,632,664,628,632,632,662,632,632,632,632,664,664,632, \ 156 632,632,632,664,664,632,632,632,664,631,632,632,664,632,632,632 \ 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,22,0,0,0,0,0,26,26,26,27,0,29,30,30, /*32-47*/ \ 162 30,30,34,34,0,33,34,0,34,33,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,0, /*96-111*/ \ 166 0,0,0,0,60,0,0,0,0,0,0,0,0,0,0,0, /*112-127*/ \ 167 0,0,0,0,0,0,74,0,0,78,74,78,74,78,78,74, /*128-143*/ \ 168 0,0,78,78,78,78,0,78,0,78,0,0,0,0,88,0, /*144-159*/ \ 169 0,0,0,0,91,92,91,92,90,88,92,90,92,92,0,112, /*160-175*/ \ 170 92,94,96,95,95,112,104,104,112,112,112,112,112,104,112,120, /*176-191*/ \ 171 112,112,112,104,112,120,107,112,120,128,112,112,120,120,120,120, /*192-207*/ \ 172 112,120,120,120,128,128,128,120,128,128,128,128,128,128,128,128, /*208-223*/ \ 173 128,128,120,128,128,128,128,128,128,120,128,128,128,128,128,128, /*224-239*/ \ 174 128,128,128,128,136,128,128,128,128,128,148,136,148,128,136,136, /*240-255*/ \ 175 136,148,148,148,135,156,148,148,135,156,156,148,156,149,160,160, /*256-271*/ \ 176 156,148,156,156,144,160,156,160,148,156,160,156,156,160,156,149, /*272-287*/ \ 177 148,160,160,160,156,156,156,156,154,156,156,156,156,156,156,156, /*288-303*/ \ 178 156,156,156,160,156,156,157,160,160,160,160,160,160,160,184,184, /*304-319*/ \ 179 184,185,184,179,185,184,184,184,184,184,174,174,183,186,184,186, /*320-335*/ \ 180 182,184,185,185,186,186,186,184,208,184,192,208,184,184,184,208, /*336-351*/ \ 181 184,208,184,208,208,209,192,216,209,208,216,208,210,208,208,224, /*352-367*/ \ 182 222,208,208,216,208,224,210,208,222,210,224,224,208,208,210,224, /*368-383*/ \ 183 240,232,208,234,206,240,216,208,208,240,240,224,208,208,208,208, /*384-399*/ \ 184 208,208,224,224,233,208,224,224,208,216,224,224,208,240,224,222, /*400-415*/ \ 185 240,224,224,256,232,216,240,224,234,256,216,256,224,256,256,232, /*416-431*/ \ 186 240,240,240,240,255,224,232,256,256,240,256,256,240,256,240,256, /*432-447*/ \ 187 240,240,256,256,256,240,256,256,256,256,240,256,256,256,256,256, /*448-463*/ \ 188 256,256,256,256,255,256,256,254,256,256,256,256,256,256,256,256, /*464-479*/ \ 189 256,256,255,256,256,256,256,256,256,255,256,256,255,256,256,256, /*480-495*/ \ 190 256,256,256,256,256,256,256,256,256,256,256,256,256,256,280,272, /*496-511*/ \ 191 272,270,280,296,280,276,280,279,280,280,281,280,280,272,272,280, /*512-527*/ \ 192 280,272,280,282,312,272,282,312,280,312,280,280,288,280,281,296, /*528-543*/ \ 193 312,296,312,312,296,296,312,288,312,312,312,315,316,312,312,312, /*544-559*/ \ 194 312,312,312,312,312,318,312,313,312,302,318,312,311,296,312,312, /*560-575*/ \ 195 318,312,312,311,312,296,304,311,312,312,312,312,312,312,312,312, /*576-591*/ \ 196 313,312,312,312,312,312,312,318,312,312,312,312,312,312,311,312, /*592-607*/ \ 197 316,312,320,312,312,312,312,312,312,312,312,312,316,313,313,318, /*608-623*/ \ 198 317,316,317,318,320,318,318,318,320,318,348,368,320,336,372,372, /*624-639*/ \ 199 372,371,367,368,368,372,371,368,372,336,372,368,372,368,364,372, /*640-655*/ \ 200 372,354,384,368,352,368,372,371,348,352,372,366,368,366,372,368, /*656-671*/ \ 201 372,365,368,372,368,372,372,371,372,378,369,371,372,372,369,372, /*672-687*/ \ 202 372,372,370,378,384,372,370,367,416,384,416,416,371,372,420,424, /*688-703*/ \ 203 366,372,372,368,416,420,372,420,432,372,372,416,378,372,416,384, /*704-719*/ \ 204 420,416,420,414,416,416,448,416,419,424,425,416,416,425,432,432, /*720-735*/ \ 205 432,432,432,432,448,424,448,432,444,432,432,444,432,432,448,448, /*736-751*/ \ 206 448,448,448,448,420,416,420,416,448,448,448,420,448,420,432,432, /*752-767*/ \ 207 448,426,448,432,416,420,448,432,448,432,414,432,432,420,417,417, /*768-783*/ \ 208 420,444,416,444,419,424,420,426,432,420,432,416,480,416,420,424, /*784-799*/ \ 209 420,432,419,420,424,424,420,416,425,419,432,448,448,444,448,432, /*800-815*/ \ 210 426,420,432,448,448,448,432,448,512,464,444,448,447,448,448,448, /*816-831*/ \ 211 432,448,448,464,431,467,448,448,448,444,448,432,448,448,448,504, /*832-847*/ \ 212 448,447,432,432,448,512,432,464,448,504,448,448,480,444,448,449, /*848-863*/ \ 213 448,512,448,512,480,444,447,448,449,512,480,448,504,480,448,468, /*864-879*/ \ 214 448,448,448,467,512,464,463,504,480,504,504,448,480,512,512,504, /*880-895*/ \ 215 480,512,503,480,512,480,504,512,512,467,504,512,512,504,512,512, /*896-911*/ \ 216 512,512,504,504,462,480,512,504,512,504,504,504,480,464,480,504, /*912-927*/ \ 217 504,504,504,512,480,504,504,512,504,512,480,504,512,512,512,512, /*928-943*/ \ 218 512,504,480,504,512,504,480,512,512,480,512,480,561,512,504,512, /*944-959*/ \ 219 496,504,512,512,504,512,497,512,504,504,504,512,512,512,504,504, /*960-975*/ \ 220 504,512,512,512,512,512,512,504,512,512,512,512,504,512,512,512, /*976-991*/ \ 221 562,512,504,512,511,512,512,512,512,504,512,512,512,504,512,512, /*992-1007*/ \ 222 512,561,512,512,536,512,512,512,512,512,544,559,561,561,563,544 /*1008-1023*/ \ 223 224#define MPFR_MUL_THRESHOLD 17 /* limbs */ 225#define MPFR_SQR_THRESHOLD 16 /* limbs */ 226#define MPFR_DIV_THRESHOLD 3 /* limbs */ 227#define MPFR_EXP_2_THRESHOLD 585 /* bits */ 228#define MPFR_EXP_THRESHOLD 11179 /* bits */ 229#define MPFR_SINCOS_THRESHOLD 30593 /* bits */ 230#define MPFR_AI_THRESHOLD1 -11898 /* threshold for negative input of mpfr_ai */ 231#define MPFR_AI_THRESHOLD2 1175 232#define MPFR_AI_THRESHOLD3 18856 233/* Tuneup completed successfully, took 705 seconds */ 234