|
| 1 | +/* Various Thresholds of MPFR, not exported. -*- mode: C -*- |
| 2 | +
|
| 3 | +Copyright 2005-2015 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, 2011-07-31, gcc 4.3.2 */ |
| 23 | +/* gcc14.fsffrance.org (Intel(R) Xeon(R) CPU X5450 @ 3.00GHz) with gmp 5.0.2 */ |
| 24 | + |
| 25 | +/* very similar timings were obtained on 2012-01-25 with gcc 4.1.3 |
| 26 | + on gcc70.fsffrance.org (Intel(R) Xeon(TM) CPU 3.20GHz) with gmp 5.0.2, |
| 27 | + where GMP defines -mtune=nocona, thus we share the parameters */ |
| 28 | + |
| 29 | +#define MPFR_MULHIGH_TAB \ |
| 30 | + -1,0,0,0,-1,0,0,0,0,0,0,0,0,0,0,9, \ |
| 31 | + 10,10,12,12,13,13,13,13,14,16,16,17,18,19,20,24, \ |
| 32 | + 24,24,24,24,26,26,26,26,28,28,28,30,30,32,32,28, \ |
| 33 | + 28,30,30,32,32,32,32,32,32,32,32,34,36,48,38,36, \ |
| 34 | + 40,46,48,48,48,48,48,48,48,48,48,48,48,56,56,56, \ |
| 35 | + 56,48,48,48,56,60,60,60,64,64,56,56,56,60,60,60, \ |
| 36 | + 64,69,64,64,64,69,69,69,69,69,69,69,64,64,75,81, \ |
| 37 | + 81,80,80,80,81,81,81,81,81,81,87,81,87,87,92,93, \ |
| 38 | + 92,87,93,92,87,90,93,92,93,92,90,93,92,93,92,93, \ |
| 39 | + 92,93,93,93,104,93,99,93,99,104,105,104,105,104,105,104, \ |
| 40 | + 111,104,111,110,104,117,117,117,117,117,117,104,105,141,141,140, \ |
| 41 | + 141,141,141,141,141,141,141,141,141,141,141,141,141,140,141,141, \ |
| 42 | + 141,141,141,141,141,141,141,141,140,141,141,141,141,138,140,141, \ |
| 43 | + 141,141,140,141,141,141,141,141,141,141,141,141,165,141,153,141, \ |
| 44 | + 153,165,188,188,188,188,188,188,188,188,188,188,188,188,188,188, \ |
| 45 | + 188,188,188,188,188,188,188,188,188,188,188,188,188,188,188,188, \ |
| 46 | + 188,188,188,188,188,188,188,188,188,188,188,188,188,188,188,188, \ |
| 47 | + 188,188,204,204,188,203,188,188,204,204,188,188,216,220,220,220, \ |
| 48 | + 220,204,204,220,220,220,220,220,220,220,220,220,220,220,220,220, \ |
| 49 | + 220,220,220,235,236,219,220,220,236,236,236,236,236,236,236,236, \ |
| 50 | + 236,236,236,236,236,236,236,282,282,282,282,282,282,282,282,282, \ |
| 51 | + 282,282,282,282,282,282,282,282,282,281,282,280,282,282,282,282, \ |
| 52 | + 282,282,282,282,282,282,282,281,281,282,281,281,282,282,282,282, \ |
| 53 | + 282,282,282,282,282,282,282,282,282,282,282,281,282,280,281,282, \ |
| 54 | + 282,282,282,282,306,282,306,330,330,306,281,330,282,282,330,330, \ |
| 55 | + 330,282,330,329,330,330,330,330,330,330,330,330,330,330,330,330, \ |
| 56 | + 330,330,330,330,330,330,330,330,330,330,354,354,330,330,330,329, \ |
| 57 | + 330,330,330,330,330,330,330,329,330,330,354,354,330,330,330,330, \ |
| 58 | + 330,330,378,330,354,330,354,354,354,354,354,377,378,354,354,354, \ |
| 59 | + 378,354,378,378,354,353,354,378,354,378,378,377,378,378,378,408, \ |
| 60 | + 408,408,378,408,408,408,378,416,408,408,377,378,378,408,408,407, \ |
| 61 | + 408,408,408,408,408,408,408,440,408,440,440,440,439,440,440,440, \ |
| 62 | + 432,439,440,440,440,439,440,440,440,439,440,439,440,439,440,440, \ |
| 63 | + 440,440,440,439,440,440,440,440,440,439,440,440,440,440,439,440, \ |
| 64 | + 440,440,440,439,471,440,440,440,440,440,440,439,440,440,440,440, \ |
| 65 | + 440,440,440,440,440,440,472,440,440,439,440,440,440,439,440,440, \ |
| 66 | + 440,472,439,440,440,440,472,440,471,472,472,472,472,472,472,471, \ |
| 67 | + 471,472,471,472,472,472,504,504,504,504,504,504,504,504,472,471, \ |
| 68 | + 472,472,504,472,471,472,504,504,504,504,504,503,504,504,504,504, \ |
| 69 | + 504,503,504,504,504,504,503,504,504,504,504,504,503,504,504,504, \ |
| 70 | + 504,504,503,504,504,504,504,504,504,504,504,504,504,504,504,504, \ |
| 71 | + 504,504,504,504,544,544,544,544,544,544,544,544,544,544,544,544, \ |
| 72 | + 542,543,544,544,544,544,544,544,544,544,544,544,544,544,544,544, \ |
| 73 | + 543,544,544,544,544,544,544,544,544,544,544,544,544,544,544,544, \ |
| 74 | + 544,592,544,544,592,592,544,592,592,591,592,592,632,631,592,592, \ |
| 75 | + 592,592,592,592,592,640,640,640,640,640,616,616,616,616,616,616, \ |
| 76 | + 632,592,616,616,632,630,631,632,632,632,616,632,640,632,632,640, \ |
| 77 | + 640,640,640,640,640,640,639,640,632,632,639,640,640,640,632,632, \ |
| 78 | + 640,639,640,640,632,640,640,640,640,640,640,640,640,640,640,640, \ |
| 79 | + 640,640,640,640,640,640,632,640,640,640,640,640,640,640,640,640, \ |
| 80 | + 640,640,640,640,640,640,640,640,640,640,632,688,640,640,632,632, \ |
| 81 | + 640,640,640,640,639,640,640,640,688,632,687,640,712,688,640,640, \ |
| 82 | + 640,640,640,712,640,640,640,712,736,640,640,640,711,712,736,736, \ |
| 83 | + 640,640,688,712,712,712,712,712,728,736,728,728,736,736,736,736, \ |
| 84 | + 736,736,736,736,734,736,728,736,736,736,728,736,736,736,736,736, \ |
| 85 | + 736,736,736,736,735,712,736,736,736,712,736,736,736,736,736,736, \ |
| 86 | + 736,736,736,712,736,736,712,736,728,712,736,712,736,736,736,736, \ |
| 87 | + 728,712,736,736,735,736,736,736,735,736,736,736,736,735,736,736, \ |
| 88 | + 736,736,736,736,736,736,736,736,736,736,736,736,736,734,736,736, \ |
| 89 | + 736,736,735,736,736,736,735,736,736,736,736,736,736,736,736,736, \ |
| 90 | + 736,736,736,736,736,736,736,736,736,736,736,736,736,736,736,736, \ |
| 91 | + 736,736,736,736,736,736,736,736,736,736,736,736,736,736,735,736, \ |
| 92 | + 736,736,736,736,736,736,736,736,736,736,736,736,736,736,736,736, \ |
| 93 | + 824,824,832,832,832,832,824,832,832,832,832,832,824,831,832,832 \ |
| 94 | + |
| 95 | +#define MPFR_SQRHIGH_TAB \ |
| 96 | + -1,0,0,0,0,0,0,5,6,6,7,8,8,8,10,9, \ |
| 97 | + 10,11,11,11,12,13,13,13,14,16,16,17,17,17,17,17, \ |
| 98 | + 18,19,20,21,20,23,24,21,26,23,23,24,24,24,25,28, \ |
| 99 | + 26,28,28,34,32,34,32,32,34,34,32,34,34,34,34,34, \ |
| 100 | + 34,36,40,38,38,36,42,42,40,40,40,40,42,42,42,42, \ |
| 101 | + 46,42,48,48,48,46,52,52,52,52,52,52,56,56,56,56, \ |
| 102 | + 64,56,64,64,64,64,68,56,64,64,64,68,63,64,64,68, \ |
| 103 | + 68,68,68,68,64,68,68,68,72,64,68,68,68,64,67,68, \ |
| 104 | + 68,68,68,68,68,68,72,84,80,72,72,72,72,72,76,76, \ |
| 105 | + 76,76,80,80,76,76,80,84,80,80,80,84,84,84,84,84, \ |
| 106 | + 84,84,84,96,84,84,92,92,96,96,96,99,92,92,92,95, \ |
| 107 | + 96,105,111,105,104,105,104,104,105,105,105,105,104,105,104,105, \ |
| 108 | + 99,114,105,116,117,117,117,123,117,123,116,123,116,111,123,123, \ |
| 109 | + 123,123,123,123,123,117,117,117,123,123,123,117,123,117,123,123, \ |
| 110 | + 123,123,123,123,117,123,123,123,156,123,123,141,123,123,135,135, \ |
| 111 | + 123,148,123,141,141,156,156,129,156,163,156,164,156,156,156,135, \ |
| 112 | + 156,141,155,164,156,156,164,148,148,147,141,164,164,164,164,156, \ |
| 113 | + 164,164,164,164,163,164,164,164,164,164,164,164,164,164,164,164, \ |
| 114 | + 164,156,164,164,156,164,164,164,188,163,164,164,164,164,187,188, \ |
| 115 | + 180,164,204,204,164,188,196,188,188,204,196,180,196,204,188,196, \ |
| 116 | + 220,187,204,220,204,180,220,220,204,204,196,204,220,204,220,220, \ |
| 117 | + 220,220,204,220,220,220,220,220,220,220,220,220,220,220,220,220, \ |
| 118 | + 252,220,220,220,220,220,252,220,252,220,220,220,220,252,252,252, \ |
| 119 | + 252,252,252,252,252,252,252,252,252,252,252,252,267,268,252,252, \ |
| 120 | + 252,250,252,252,252,268,251,252,268,252,268,268,268,252,252,252, \ |
| 121 | + 265,268,268,268,268,268,268,268,268,268,268,268,268,268,268,268, \ |
| 122 | + 268,267,268,268,268,267,268,268,268,267,268,268,268,268,268,268, \ |
| 123 | + 268,268,252,268,252,268,268,268,268,268,268,265,268,268,268,268, \ |
| 124 | + 268,268,268,268,268,268,268,268,268,268,268,268,265,268,268,268, \ |
| 125 | + 252,268,268,266,268,268,268,328,265,282,312,268,268,268,268,268, \ |
| 126 | + 268,268,268,268,268,268,268,311,310,282,282,294,312,282,281,294, \ |
| 127 | + 282,268,312,312,268,311,312,268,268,312,268,312,312,268,312,327, \ |
| 128 | + 268,312,328,268,328,268,328,328,328,312,328,312,327,328,328,312, \ |
| 129 | + 327,328,328,327,325,327,327,359,328,328,327,328,328,328,328,328, \ |
| 130 | + 311,328,360,360,360,360,360,360,360,360,360,360,328,360,360,360, \ |
| 131 | + 328,312,328,360,327,328,328,359,360,328,359,328,312,360,360,327, \ |
| 132 | + 312,408,328,440,328,328,328,328,328,392,328,328,408,408,408,392, \ |
| 133 | + 407,408,408,408,392,407,408,408,407,407,408,408,408,392,408,408, \ |
| 134 | + 407,408,392,408,408,440,406,408,408,408,440,408,408,408,440,440, \ |
| 135 | + 440,440,440,392,440,392,440,440,440,440,440,440,440,440,440,440, \ |
| 136 | + 408,392,440,440,440,438,439,440,440,440,440,440,440,439,440,439, \ |
| 137 | + 440,440,440,504,408,504,408,408,408,472,408,408,407,408,440,439, \ |
| 138 | + 439,440,440,440,440,440,440,440,437,440,440,440,439,504,503,504, \ |
| 139 | + 504,503,504,504,440,502,504,503,503,504,504,503,504,504,504,504, \ |
| 140 | + 504,503,504,504,499,503,502,504,504,536,502,504,504,504,536,504, \ |
| 141 | + 504,504,503,504,504,503,536,504,502,536,503,504,504,504,536,536, \ |
| 142 | + 504,504,504,536,536,535,504,536,535,504,504,504,504,504,504,536, \ |
| 143 | + 536,536,503,536,504,503,536,536,504,535,536,536,504,535,520,536, \ |
| 144 | + 504,504,504,536,535,536,520,536,535,520,536,535,535,536,536,535, \ |
| 145 | + 504,536,536,535,536,535,535,536,536,536,536,536,535,504,536,536, \ |
| 146 | + 536,536,536,536,536,536,536,536,536,535,536,536,536,535,504,536, \ |
| 147 | + 536,536,536,536,504,535,536,536,536,535,535,536,536,536,536,536, \ |
| 148 | + 536,535,536,504,536,535,536,536,536,536,536,504,504,536,504,535, \ |
| 149 | + 536,504,536,535,536,504,504,504,536,536,504,536,504,536,504,536, \ |
| 150 | + 536,504,535,536,632,535,536,536,535,536,536,536,536,536,632,632, \ |
| 151 | + 536,631,536,536,535,536,536,536,536,535,536,536,536,631,632,632, \ |
| 152 | + 536,536,630,535,536,536,600,632,631,600,536,536,536,536,535,632, \ |
| 153 | + 536,598,536,600,536,631,600,568,632,568,568,568,568,568,664,566, \ |
| 154 | + 568,568,632,632,664,568,664,663,632,629,632,535,600,536,536,536, \ |
| 155 | + 632,536,536,599,536,630,536,632,631,632,600,600,600,664,600,664, \ |
| 156 | + 664,632,600,599,664,600,662,663,664,599,598,616,632,625,632,630, \ |
| 157 | + 628,627,630,631,632,663,632,631,632,630,632,631,632,626,632,632, \ |
| 158 | + 632,663,631,631,632,632,632,664,632,632,600,632,632,600,632,632, \ |
| 159 | + 600,600,632,632,632,662,663,663,663,600,664,632,664,663,664,632 \ |
| 160 | + |
| 161 | +#define MPFR_DIVHIGH_TAB \ |
| 162 | + 0,1,2,3,4,5,6,7,8,9,10,11,12,13,12,13, \ |
| 163 | + 14,15,16,13,14,14,14,15,15,17,17,17,19,19,19,19, \ |
| 164 | + 23,23,19,25,23,25,23,25,25,22,26,28,25,28,25,25, \ |
| 165 | + 28,27,31,27,29,28,33,31,32,33,31,32,33,33,35,35, \ |
| 166 | + 35,39,37,43,39,37,39,41,39,40,39,40,41,45,41,47, \ |
| 167 | + 45,45,47,43,44,45,50,54,49,46,53,47,55,56,52,55, \ |
| 168 | + 52,60,60,52,60,64,62,55,55,62,55,58,56,64,61,59, \ |
| 169 | + 63,63,64,59,60,60,63,64,64,63,64,64,68,68,66,66, \ |
| 170 | + 68,69,71,71,70,71,71,72,78,74,74,71,72,78,78,74, \ |
| 171 | + 76,77,78,79,78,80,79,79,84,83,80,80,82,95,96,83, \ |
| 172 | + 92,92,88,91,92,84,95,95,92,96,94,91,94,92,96,94, \ |
| 173 | + 96,96,96,104,94,94,112,112,104,112,112,112,96,112,112,112, \ |
| 174 | + 112,112,110,104,112,112,112,111,112,108,110,120,112,112,112,112, \ |
| 175 | + 112,112,120,112,120,120,112,120,120,120,120,120,128,120,120,116, \ |
| 176 | + 128,128,124,128,120,128,128,120,120,120,128,120,128,120,124,128, \ |
| 177 | + 128,128,128,127,128,128,126,128,128,128,128,127,136,128,138,137, \ |
| 178 | + 137,135,138,138,138,137,135,138,150,150,138,147,150,138,150,150, \ |
| 179 | + 150,150,160,160,156,150,156,148,150,158,162,160,161,160,150,160, \ |
| 180 | + 160,160,168,156,156,160,168,173,162,156,180,160,160,157,168,160, \ |
| 181 | + 160,160,162,168,168,160,184,162,184,162,160,160,174,160,184,180, \ |
| 182 | + 184,184,180,184,184,186,180,184,184,184,184,184,186,188,188,192, \ |
| 183 | + 185,184,184,186,192,192,192,186,182,192,192,185,184,184,192,208, \ |
| 184 | + 192,184,184,180,192,184,192,186,186,184,192,186,186,191,186,185, \ |
| 185 | + 192,216,192,192,208,192,191,192,192,192,204,192,207,192,216,208, \ |
| 186 | + 208,216,216,197,196,216,216,208,216,222,216,222,208,222,208,222, \ |
| 187 | + 224,208,209,216,216,209,224,207,216,222,224,224,208,223,224,224, \ |
| 188 | + 224,216,222,222,224,224,224,216,224,216,222,221,222,224,224,224, \ |
| 189 | + 224,224,224,232,224,222,224,232,225,233,224,240,224,232,256,240, \ |
| 190 | + 256,256,240,255,240,256,256,240,232,240,232,232,240,232,256,256, \ |
| 191 | + 256,256,256,256,256,256,255,256,256,240,256,240,256,240,254,252, \ |
| 192 | + 256,256,256,256,256,256,256,256,254,256,256,282,276,256,254,256, \ |
| 193 | + 256,255,282,256,255,256,255,256,255,288,256,264,264,256,274,276, \ |
| 194 | + 276,269,273,273,282,269,276,276,276,276,273,282,276,282,276,277, \ |
| 195 | + 280,312,282,281,288,282,276,282,276,276,288,312,276,288,300,276, \ |
| 196 | + 304,276,288,300,304,312,312,312,312,312,306,312,312,312,316,300, \ |
| 197 | + 324,312,320,320,300,312,312,312,312,324,312,330,300,320,312,312, \ |
| 198 | + 316,318,324,324,318,312,312,324,336,336,324,312,312,336,324,320, \ |
| 199 | + 312,336,312,324,336,336,336,368,324,348,312,336,368,312,312,320, \ |
| 200 | + 368,372,368,312,324,376,372,312,368,376,376,372,370,372,318,376, \ |
| 201 | + 320,372,372,368,372,324,376,376,376,376,368,372,376,376,376,376, \ |
| 202 | + 372,372,376,376,376,372,384,376,372,368,384,376,376,370,376,376, \ |
| 203 | + 376,371,372,368,384,336,370,370,376,372,376,376,368,376,376,372, \ |
| 204 | + 376,370,376,368,376,372,376,376,368,376,376,368,368,376,368,368, \ |
| 205 | + 370,370,372,368,372,376,376,376,376,368,370,368,368,372,376,376, \ |
| 206 | + 372,376,368,376,376,376,372,376,376,372,376,376,368,376,372,376, \ |
| 207 | + 372,368,376,370,376,372,376,372,376,376,372,370,376,376,370,372, \ |
| 208 | + 372,373,376,376,384,384,384,376,376,376,376,384,376,376,384,384, \ |
| 209 | + 384,416,384,384,408,384,416,384,384,384,384,408,416,416,416,432, \ |
| 210 | + 408,408,416,408,408,416,408,416,416,416,416,416,416,408,407,440, \ |
| 211 | + 432,408,416,408,416,440,416,408,416,416,432,416,416,440,416,416, \ |
| 212 | + 416,440,432,440,408,448,448,408,408,432,440,432,448,416,416,416, \ |
| 213 | + 440,432,432,416,448,432,465,440,432,440,480,448,416,448,432,432, \ |
| 214 | + 480,432,448,440,466,448,432,440,432,440,440,440,480,430,448,448, \ |
| 215 | + 448,439,440,432,438,447,448,440,440,440,448,448,480,432,448,448, \ |
| 216 | + 448,448,448,447,448,448,448,447,448,448,440,465,448,467,448,448, \ |
| 217 | + 448,448,464,464,448,448,466,480,480,480,468,480,448,464,480,464, \ |
| 218 | + 466,466,464,479,480,480,512,480,540,480,496,480,552,512,480,479, \ |
| 219 | + 504,480,552,552,512,480,504,552,564,512,480,480,504,561,564,564, \ |
| 220 | + 512,552,560,564,564,480,564,480,552,480,564,564,564,564,536,564, \ |
| 221 | + 540,564,552,564,564,564,564,552,564,552,564,480,564,552,552,564, \ |
| 222 | + 512,564,546,564,564,564,512,552,552,559,560,561,564,564,560,560, \ |
| 223 | + 552,561,564,564,560,564,561,564,564,564,564,564,564,564,564,560, \ |
| 224 | + 561,560,564,564,560,564,564,552,564,564,564,552,564,564,564,564, \ |
| 225 | + 564,563,564,564,564,564,560,564,564,564,564,552,564,564,560,564 \ |
| 226 | + |
| 227 | +#define MPFR_MUL_THRESHOLD 7 /* limbs */ |
| 228 | +#define MPFR_SQR_THRESHOLD 12 /* limbs */ |
| 229 | +#define MPFR_DIV_THRESHOLD 20 /* limbs */ |
| 230 | +#define MPFR_EXP_2_THRESHOLD 1024 /* bits */ |
| 231 | +#define MPFR_EXP_THRESHOLD 9670 /* bits */ |
| 232 | +#define MPFR_SINCOS_THRESHOLD 23808 /* bits */ |
| 233 | +#define MPFR_AI_THRESHOLD1 -13250 /* threshold for negative input of mpfr_ai */ |
| 234 | +#define MPFR_AI_THRESHOLD2 1430 |
| 235 | +#define MPFR_AI_THRESHOLD3 21190 |
| 236 | +/* Tuneup completed successfully, took 770 seconds */ |
0 commit comments