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 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