(root)/
mpfr-4.2.1/
src/
amd/
mparam.h
       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 */