/* Various Thresholds of MPFR, not exported. -*- mode: C -*- Copyright 2005-2015 Free Software Foundation, Inc. This file is part of the GNU MPFR Library. The GNU MPFR Library is free software; you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation; either version 3 of the License, or (at your option) any later version. The GNU MPFR Library is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details. You should have received a copy of the GNU Lesser General Public License along with the GNU MPFR Library; see the file COPYING.LESSER. If not, see http://www.gnu.org/licenses/ or write to the Free Software Foundation, Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301, USA. */ /* Generated by MPFR's tuneup.c, 2011-07-31, gcc 4.3.2 */ /* gcc11.fsffrance.org (Dual-Core AMD Opteron(tm) Processor 2212) with gmp 5.0.2. Keith Briggs sent similar parameters obtained on a AMD Athlon (__tune_k8__, __x86_64, __amd64, __k8) */ #define MPFR_MULHIGH_TAB \ -1,0,0,-1,-1,-1,-1,-1,-1,-1,-1,-1,-1,9,11,11, \ 12,12,11,15,14,14,15,16,18,18,19,20,18,19,19,20, \ 22,22,23,24,26,30,28,28,32,30,30,32,32,30,32,32, \ 32,30,30,32,32,38,32,32,36,40,40,40,36,38,40,38, \ 40,44,40,44,44,44,44,48,48,46,48,48,56,56,56,56, \ 56,56,56,60,64,60,60,64,64,64,64,64,64,64,64,64, \ 72,72,72,72,72,72,72,72,72,72,72,72,80,80,80,80, \ 80,80,80,80,80,80,80,80,80,80,80,80,93,80,93,93, \ 93,76,80,93,80,93,93,90,93,93,93,93,93,93,93,93, \ 93,93,111,105,93,117,105,105,117,117,111,117,117,105,117,117, \ 117,105,117,117,117,117,117,117,117,117,117,117,117,117,117,117, \ 117,117,117,117,116,117,116,117,117,117,117,117,117,117,117,117, \ 117,117,140,117,140,140,140,140,140,148,148,147,140,156,156,156, \ 148,148,156,148,156,156,156,156,156,155,156,155,156,155,156,156, \ 156,156,156,156,156,156,156,156,172,172,172,156,172,172,172,172, \ 172,172,172,172,180,180,180,180,180,180,180,188,188,188,188,188, \ 180,188,188,188,188,187,188,188,188,188,188,188,188,188,188,188, \ 188,188,188,188,188,188,188,188,188,188,188,188,188,220,220,204, \ 220,220,220,219,220,220,220,220,220,219,220,219,220,219,220,220, \ 220,236,236,220,236,219,233,236,233,252,236,252,236,252,252,236, \ 235,236,236,252,252,236,236,252,252,236,252,252,236,251,250,251, \ 252,252,251,252,252,252,252,252,252,252,252,252,252,252,252,252, \ 252,252,284,252,284,284,284,284,284,252,284,284,284,284,284,284, \ 283,284,284,284,284,284,284,284,284,284,284,283,284,284,284,284, \ 284,284,283,284,284,284,284,284,284,284,284,284,284,300,284,300, \ 300,316,300,300,300,316,300,300,316,316,316,316,316,316,316,316, \ 316,316,316,316,316,316,316,316,316,316,316,316,316,316,316,316, \ 316,315,316,316,315,316,316,316,315,316,316,316,316,316,316,316, \ 316,316,316,368,316,316,367,368,368,368,368,368,368,368,368,368, \ 368,368,368,368,368,368,368,368,368,368,368,368,368,368,368,368, \ 368,368,368,368,368,368,367,368,368,368,368,367,368,367,367,368, \ 368,367,367,368,367,368,368,367,368,368,368,367,368,368,368,368, \ 367,368,416,415,416,416,416,416,416,416,415,416,416,416,416,416, \ 416,416,416,416,416,416,415,416,415,416,415,416,416,416,416,416, \ 416,415,416,416,415,416,416,415,416,416,440,416,416,416,440,416, \ 415,416,415,416,464,464,464,464,464,464,463,464,464,464,463,464, \ 464,464,464,464,464,463,464,464,474,474,464,464,473,474,474,504, \ 474,474,504,504,504,504,504,504,504,504,504,504,504,504,504,504, \ 504,504,504,504,504,504,504,504,504,503,504,504,504,504,504,504, \ 503,504,504,504,504,504,503,504,504,504,504,504,503,504,504,503, \ 504,504,504,504,504,504,504,504,503,504,504,504,504,504,503,504, \ 504,504,504,504,568,568,568,504,568,568,568,568,568,568,568,568, \ 568,567,568,568,568,567,568,568,568,568,568,568,568,568,568,568, \ 568,568,568,568,568,568,568,568,567,567,568,566,568,568,568,567, \ 568,568,568,568,568,568,568,568,568,568,567,568,568,567,568,568, \ 568,568,568,568,567,568,568,566,567,568,568,568,568,568,568,568, \ 568,567,568,568,567,568,567,568,567,568,567,568,567,568,632,568, \ 600,632,632,600,631,632,632,632,632,631,600,600,632,632,600,631, \ 632,632,632,632,632,632,631,632,632,632,631,632,631,632,632,632, \ 632,632,631,632,632,631,632,632,632,631,632,632,632,632,631,632, \ 632,632,632,632,630,632,632,632,632,632,631,632,631,632,631,632, \ 632,632,632,632,632,632,632,632,631,632,632,632,632,632,632,631, \ 632,632,632,631,632,632,632,736,632,631,632,736,632,632,632,632, \ 736,736,736,736,736,736,736,736,736,736,736,736,736,736,736,736, \ 736,734,736,736,735,736,736,735,736,736,736,736,736,736,736,736, \ 736,736,736,736,736,736,736,736,736,736,736,736,736,736,736,736, \ 736,736,736,736,736,736,735,736,736,736,736,736,736,736,735,736, \ 736,736,735,736,735,736,736,736,735,736,736,736,736,736,736,736, \ 736,736,736,735,736,736,736,735,736,736,736,736,736,735,736,736, \ 736,736,736,736,736,736,736,736,736,735,736,735,736,832,736,832, \ 832,832,832,832,831,832,832,831,832,832,832,832,832,832,831,832, \ 831,832,831,832,832,831,832,832,832,832,832,832,831,832,832,832, \ 831,832,832,832,832,832,831,832,832,832,832,832,831,832,831,832, \ 832,832,831,832,831,832,831,832,832,832,832,832,832,832,831,832 \ #define MPFR_SQRHIGH_TAB \ -1,0,0,0,0,-1,-1,-1,-1,-1,7,7,8,9,9,11, \ 11,11,11,11,13,13,15,15,17,17,18,17,17,17,18,20, \ 20,21,23,23,20,21,23,23,24,25,23,23,24,25,26,25, \ 28,27,28,29,28,31,34,31,34,34,34,34,34,34,34,34, \ 40,34,40,36,40,42,40,42,40,40,42,42,48,48,46,46, \ 42,46,48,48,46,50,46,52,54,54,48,56,54,50,54,52, \ 50,54,54,52,54,54,58,58,62,64,58,58,58,64,62,64, \ 58,64,66,72,68,68,68,68,68,62,66,72,72,72,68,68, \ 72,72,68,72,72,72,72,72,80,84,80,80,80,84,80,80, \ 80,84,84,84,84,84,92,80,80,84,92,84,92,92,92,96, \ 100,92,100,92,96,92,92,96,100,100,96,96,96,100,100,96, \ 96,96,92,92,96,96,108,100,96,100,100,112,112,112,112,112, \ 112,112,108,112,100,104,112,116,104,116,116,108,112,112,112,116, \ 112,112,112,112,112,141,135,141,116,135,135,135,141,141,141,141, \ 141,141,141,141,141,141,135,135,141,141,147,141,141,141,140,141, \ 141,141,147,147,141,147,147,147,147,147,147,147,147,147,147,159, \ 153,147,147,159,159,159,159,159,159,159,159,159,165,171,171,171, \ 165,170,171,171,165,171,171,171,165,171,171,171,183,171,171,171, \ 183,183,171,183,171,183,183,183,183,183,183,183,189,189,183,195, \ 171,171,188,171,171,195,171,171,171,195,195,182,195,177,182,183, \ 183,181,182,183,183,189,183,194,195,195,194,195,195,195,195,195, \ 195,195,213,195,195,195,195,195,189,195,195,195,195,195,195,195, \ 212,195,213,195,195,195,213,195,195,195,195,195,195,213,213,201, \ 195,195,195,213,213,213,213,213,212,213,213,213,213,213,213,213, \ 237,212,213,213,213,213,213,225,213,213,213,249,213,249,237,237, \ 237,237,237,249,237,237,237,237,249,237,249,237,237,237,249,249, \ 249,236,237,249,249,249,249,249,249,249,249,249,249,249,249,249, \ 249,273,273,273,273,273,273,272,273,273,273,273,273,273,273,273, \ 273,273,273,273,273,273,273,285,273,284,285,285,285,285,297,284, \ 285,297,285,297,297,297,297,297,297,297,297,296,297,296,297,296, \ 297,297,297,297,297,297,297,273,297,273,309,273,273,273,273,320, \ 321,321,321,285,285,285,285,285,284,285,297,285,297,297,297,297, \ 297,297,333,297,297,297,296,297,309,297,297,297,297,285,309,348, \ 297,297,348,348,285,321,297,321,321,297,320,321,321,297,297,321, \ 297,321,333,366,333,333,309,333,333,333,332,333,297,321,321,321, \ 321,348,321,345,348,348,348,366,348,347,348,365,366,365,333,366, \ 402,366,333,366,366,366,366,402,366,365,366,366,366,366,366,366, \ 366,348,420,420,348,420,419,420,419,420,420,420,366,366,420,366, \ 366,365,366,402,366,366,366,366,402,402,402,401,402,402,402,401, \ 420,401,402,402,420,420,420,420,402,420,420,420,420,419,420,419, \ 420,419,420,420,402,401,420,402,402,420,402,420,402,401,420,420, \ 420,420,420,420,420,402,420,420,402,420,420,420,420,420,420,420, \ 420,420,420,420,420,420,420,420,420,419,420,420,438,420,420,438, \ 420,420,420,420,420,420,438,420,437,438,438,420,438,438,420,420, \ 438,420,420,438,438,420,420,420,438,420,420,420,420,419,420,420, \ 420,420,420,420,474,419,420,420,420,438,419,456,438,474,438,437, \ 438,438,438,438,438,420,438,420,438,438,438,420,420,419,420,420, \ 438,420,438,419,420,420,420,420,420,419,420,474,420,420,438,420, \ 438,473,474,474,474,473,438,474,474,438,438,437,438,438,438,438, \ 438,438,474,437,437,474,560,456,473,474,535,536,474,560,536,536, \ 560,560,560,560,560,560,560,560,560,560,560,560,560,560,560,560, \ 560,560,559,560,560,560,560,560,560,560,560,560,560,560,560,560, \ 559,560,560,560,560,560,560,560,560,560,560,560,560,560,560,560, \ 560,560,560,560,560,560,560,560,560,560,560,560,560,560,560,560, \ 559,560,560,560,560,560,560,560,559,560,559,560,560,560,560,559, \ 559,560,559,560,560,560,560,560,560,559,560,560,559,560,559,560, \ 560,560,559,560,560,560,560,559,560,560,560,560,560,560,560,560, \ 560,560,560,560,560,560,560,560,560,560,559,584,560,560,560,560, \ 559,560,560,559,560,560,560,560,560,560,559,559,560,560,560,560, \ 560,560,559,560,560,560,560,560,560,583,560,560,584,560,584,584, \ 584,560,583,583,584,584,582,584,584,584,583,584,584,584,584,584, \ 727,584,728,632,728,560,727,728,728,560,584,560,560,727,728,728, \ 727,728,728,728,608,728,728,724,728,728,760,727,728,727,728,728, \ 728,759,728,696,728,728,728,728,728,727,759,760,727,760,760,727 \ #define MPFR_DIVHIGH_TAB \ 0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15, \ 14,15,18,19,18,14,22,18,18,18,18,20,18,18,20,22, \ 22,22,23,24,26,26,26,28,24,30,28,28,28,30,30,32, \ 32,34,32,34,32,34,34,31,32,37,32,37,32,33,34,35, \ 39,37,37,39,39,37,39,39,39,39,39,39,43,44,46,46, \ 47,45,46,48,52,48,50,50,48,46,50,50,52,56,54,50, \ 60,60,60,56,56,64,61,60,56,64,60,64,64,64,64,60, \ 64,64,64,63,64,64,64,64,64,64,70,64,64,68,78,66, \ 74,69,70,74,70,69,74,78,78,74,74,74,74,78,78,79, \ 78,78,78,78,78,78,78,78,78,78,88,88,88,88,88,88, \ 92,92,88,91,92,88,95,96,96,96,96,92,92,88,92,112, \ 112,112,112,108,112,112,112,112,120,112,112,112,120,112,120,112, \ 112,120,120,120,104,112,112,128,112,112,112,120,112,112,120,120, \ 128,120,120,120,112,120,128,128,128,120,128,128,128,128,128,128, \ 128,128,120,128,128,128,128,128,120,128,128,128,128,128,128,128, \ 128,128,128,128,128,128,126,128,128,128,127,128,128,128,144,148, \ 136,136,144,144,140,141,140,148,148,151,144,148,148,160,156,148, \ 160,160,160,160,156,156,156,148,148,156,148,160,160,160,148,156, \ 148,148,148,156,156,156,156,160,156,156,158,156,156,157,160,156, \ 156,160,160,158,156,156,158,158,159,160,159,160,160,160,184,183, \ 184,184,180,184,184,176,184,184,184,184,186,184,184,184,184,184, \ 184,184,186,186,192,184,184,186,184,184,186,183,184,185,186,184, \ 184,184,186,185,216,184,192,186,208,192,192,184,208,216,224,209, \ 208,216,224,222,224,216,208,224,224,224,208,224,210,224,216,234, \ 208,216,216,208,224,216,216,224,224,222,224,224,224,216,224,224, \ 224,221,224,216,232,224,224,224,224,224,224,224,208,224,222,224, \ 224,224,216,224,232,224,224,216,224,256,224,256,224,248,224,224, \ 224,224,224,224,224,222,224,232,222,224,224,224,224,224,230,232, \ 256,234,232,240,240,233,240,233,248,240,240,240,240,238,240,256, \ 248,240,248,256,256,256,256,256,256,248,256,256,256,256,256,256, \ 256,256,256,256,256,256,248,256,248,256,248,248,256,256,256,256, \ 256,256,256,256,280,296,280,280,256,288,296,280,256,280,280,296, \ 296,296,280,280,280,296,296,296,280,280,280,296,280,296,295,312, \ 312,312,312,296,312,311,312,312,312,296,296,312,296,296,312,312, \ 312,296,312,312,296,311,312,312,312,312,312,312,312,312,312,296, \ 296,312,311,296,312,312,312,312,312,312,312,312,296,312,312,312, \ 312,312,312,312,312,312,312,312,296,312,312,312,312,312,312,312, \ 312,312,312,312,311,311,312,312,312,312,312,312,312,312,312,312, \ 312,312,312,312,312,312,312,312,312,312,312,312,312,312,320,316, \ 320,319,319,320,320,320,319,320,319,320,360,320,320,320,352,360, \ 368,352,368,368,369,372,344,370,372,366,369,352,370,370,370,360, \ 360,360,360,368,360,372,372,360,370,368,372,367,368,360,370,368, \ 372,371,370,372,372,372,371,368,368,368,370,370,368,368,368,372, \ 370,372,367,368,368,370,368,368,360,368,360,368,370,368,368,367, \ 360,368,368,368,372,368,372,368,368,368,372,371,368,416,368,367, \ 372,368,372,372,372,370,440,372,368,416,368,368,368,433,448,369, \ 440,416,415,416,440,448,440,440,448,448,440,448,440,440,448,416, \ 416,416,415,440,417,416,416,418,432,418,417,448,416,432,416,432, \ 416,420,440,448,408,416,432,448,416,448,448,448,440,440,440,440, \ 448,440,440,440,440,448,416,448,440,416,448,416,448,448,440,448, \ 416,440,416,419,417,448,416,420,416,432,433,420,417,432,416,424, \ 440,440,440,440,448,437,440,440,448,440,440,448,448,448,448,432, \ 480,440,440,440,448,448,448,448,448,448,440,448,445,432,448,448, \ 448,439,448,448,468,448,448,440,440,440,448,448,468,496,480,448, \ 440,448,440,468,440,496,440,466,448,448,448,468,448,440,448,448, \ 448,496,496,496,496,448,448,496,448,468,468,448,448,468,480,467, \ 468,512,496,512,512,496,496,480,512,480,496,512,512,512,496,512, \ 512,496,496,496,512,512,512,512,512,496,512,512,496,496,496,496, \ 512,512,496,512,496,496,496,496,512,512,512,496,480,496,496,496, \ 496,496,512,512,512,512,496,496,512,496,496,496,512,480,496,544, \ 512,496,496,496,576,512,496,560,496,496,512,561,496,560,496,560, \ 560,496,512,512,512,496,512,512,512,576,512,512,512,512,512,512, \ 512,512,512,512,560,512,560,512,576,512,576,592,512,560,591,512, \ 592,512,576,512,576,592,592,624,592,576,560,512,592,576,592,592 \ #define MPFR_MUL_THRESHOLD 19 /* limbs */ #define MPFR_SQR_THRESHOLD 18 /* limbs */ #define MPFR_DIV_THRESHOLD 34 /* limbs */ #define MPFR_EXP_2_THRESHOLD 1031 /* bits */ #define MPFR_EXP_THRESHOLD 11014 /* bits */ #define MPFR_SINCOS_THRESHOLD 26907 /* bits */ #define MPFR_AI_THRESHOLD1 -12404 /* threshold for negative input of mpfr_ai */ #define MPFR_AI_THRESHOLD2 1024 #define MPFR_AI_THRESHOLD3 19611 /* Tuneup completed successfully, took 759 seconds */