/* Generated by tuneup.c, 2011-11-23, gcc 4.6 */ #define MUL_KARATSUBA_THRESHOLD 18 #define MUL_TOOM3_THRESHOLD 65 #define MUL_TOOM4_THRESHOLD 166 #define MUL_TOOM8H_THRESHOLD 222 #define SQR_BASECASE_THRESHOLD 0 /* always (native) */ #define SQR_KARATSUBA_THRESHOLD 35 #define SQR_TOOM3_THRESHOLD 98 #define SQR_TOOM4_THRESHOLD 160 #define SQR_TOOM8_THRESHOLD 238 #define POWM_THRESHOLD 65 #define HGCD_THRESHOLD 116 #define GCD_DC_THRESHOLD 1474 #define GCDEXT_DC_THRESHOLD 996 #define JACOBI_BASE_METHOD 1 #define DIVREM_1_NORM_THRESHOLD MP_SIZE_T_MAX /* never */ #define DIVREM_1_UNNORM_THRESHOLD MP_SIZE_T_MAX /* never */ #define MOD_1_NORM_THRESHOLD 0 /* always */ #define MOD_1_UNNORM_THRESHOLD 0 /* always */ #define USE_PREINV_DIVREM_1 1 /* native */ #define USE_PREINV_MOD_1 1 #define DIVEXACT_1_THRESHOLD 0 /* always */ #define MODEXACT_1_ODD_THRESHOLD 0 /* always (native) */ #define MOD_1_1_THRESHOLD 6 #define MOD_1_2_THRESHOLD 6 #define MOD_1_3_THRESHOLD 17 #define DIVREM_HENSEL_QR_1_THRESHOLD 13 #define RSH_DIVREM_HENSEL_QR_1_THRESHOLD 10 #define DIVREM_EUCLID_HENSEL_THRESHOLD 9 #define ROOTREM_THRESHOLD 6 #define GET_STR_DC_THRESHOLD 11 #define GET_STR_PRECOMPUTE_THRESHOLD 17 #define SET_STR_DC_THRESHOLD 6847 #define SET_STR_PRECOMPUTE_THRESHOLD 18029 #define MUL_FFT_TABLE { 368, 800, 2112, 2816, 7168, 20480, 81920, 458752, 1310720, 5242880, 0 } #define MUL_FFT_MODF_THRESHOLD 400 #define MUL_FFT_FULL_THRESHOLD 2240 #define SQR_FFT_TABLE { 336, 736, 1856, 2816, 7168, 28672, 81920, 327680, 1310720, 5242880, 12582912, 0 } #define SQR_FFT_MODF_THRESHOLD 264 #define SQR_FFT_FULL_THRESHOLD 1984 #define MULLOW_BASECASE_THRESHOLD 17 #define MULLOW_DC_THRESHOLD 17 #define MULLOW_MUL_THRESHOLD 3303 #define MULHIGH_BASECASE_THRESHOLD 18 #define MULHIGH_DC_THRESHOLD 18 #define MULHIGH_MUL_THRESHOLD 3303 #define MULMOD_2EXPM1_THRESHOLD 12 #define FAC_UI_THRESHOLD 16842 #define DC_DIV_QR_THRESHOLD 52 #define DC_DIVAPPR_Q_N_THRESHOLD 118 #define INV_DIV_QR_THRESHOLD 2747 #define INV_DIVAPPR_Q_N_THRESHOLD 118 #define DC_DIV_Q_THRESHOLD 156 #define INV_DIV_Q_THRESHOLD 3762 #define DC_DIVAPPR_Q_THRESHOLD 122 #define INV_DIVAPPR_Q_THRESHOLD 8610 #define DC_BDIV_QR_THRESHOLD 48 #define DC_BDIV_Q_THRESHOLD 35 /* Tuneup completed successfully, took 390 seconds */ #define MUL_FFT_TABLE2 {{1, 4}, {344, 5}, {360, 4}, {377, 5}, {386, 4}, {404, 5}, {423, 4}, {453, 5}, {743, 6}, {777, 5}, {813, 6}, {850, 5}, {869, 6}, {1880, 7}, {1922, 6}, {2009, 7}, {2053, 6}, {2144, 7}, {2191, 6}, {2289, 7}, {2340, 6}, {2392, 7}, {2727, 8}, {2849, 7}, {3248, 8}, {3393, 7}, {3622, 8}, {3867, 7}, {4039, 8}, {6957, 9}, {7756, 8}, {8460, 9}, {8836, 8}, {9030, 9}, {9850, 8}, {10066, 9}, {11976, 8}, {12239, 9}, {13939, 10}, {15202, 9}, {15876, 8}, {16224, 9}, {18480, 10}, {19722, 9}, {20596, 10}, {23970, 9}, {24495, 10}, {27898, 11}, {31091, 10}, {31772, 9}, {32468, 10}, {40326, 11}, {47962, 10}, {57042, 11}, {62207, 12}, {63570, 10}, {73983, 11}, {80681, 10}, {84254, 11}, {114110, 12}, {127165, 11}, {164920, 12}, {196129, 11}, {228243, 12}, {233241, 13}, {254354, 12}, {259924, 11}, {277377, 12}, {392279, 11}, {427785, 12}, {456509, 13}, {519871, 12}, {531255, 11}, {566925, 12}, {592026, 11}, {631776, 12}, {659749, 11}, {719463, 10}, {735218, 11}, {767770, 12}, {995682, 13}, {MP_SIZE_T_MAX,0}} #define MUL_FFTM_TABLE2 {{1, 4}, {313, 5}, {320, 4}, {344, 5}, {423, 4}, {453, 5}, {680, 6}, {711, 5}, {743, 6}, {777, 5}, {813, 6}, {1476, 7}, {1543, 6}, {1612, 7}, {1685, 6}, {1760, 7}, {3784, 8}, {3867, 7}, {4039, 8}, {4407, 7}, {4504, 8}, {4704, 7}, {4808, 8}, {6518, 9}, {6661, 8}, {7266, 9}, {7756, 8}, {8100, 9}, {8836, 8}, {9030, 9}, {13939, 10}, {15535, 9}, {16944, 10}, {17696, 9}, {18084, 10}, {19722, 9}, {20154, 10}, {23970, 9}, {24495, 10}, {27898, 11}, {28509, 10}, {29134, 11}, {31091, 10}, {31772, 9}, {32468, 10}, {36184, 11}, {39461, 10}, {42113, 11}, {47962, 10}, {51184, 11}, {55819, 12}, {58292, 13}, {62207, 12}, {63570, 10}, {64963, 11}, {80681, 10}, {82448, 11}, {86099, 12}, {87985, 11}, {89912, 12}, {95949, 11}, {114110, 12}, {127165, 11}, {147989, 12}, {161386, 11}, {172223, 12}, {228243, 13}, {254354, 12}, {359720, 13}, {392279, 12}, {456509, 13}, {466506, 14}, {508731, 13}, {519871, 12}, {554776, 11}, {566925, 12}, {579340, 13}, {659749, 11}, {719463, 10}, {735218, 11}, {767770, 12}, {855595, 13}, {913042, 14}, {MP_SIZE_T_MAX,0}} #define SQR_FFT_TABLE2 {{1, 4}, {344, 5}, {360, 4}, {377, 5}, {423, 4}, {453, 5}, {555, 6}, {568, 5}, {680, 6}, {711, 5}, {743, 6}, {777, 5}, {813, 6}, {850, 5}, {869, 6}, {1880, 7}, {1922, 6}, {2009, 7}, {2053, 6}, {2144, 7}, {2191, 6}, {2289, 7}, {2727, 8}, {2849, 7}, {3109, 8}, {3178, 7}, {3248, 8}, {3393, 7}, {3468, 8}, {6518, 9}, {6661, 8}, {6957, 9}, {7756, 8}, {8460, 9}, {8836, 8}, {9030, 9}, {9850, 8}, {10066, 9}, {11976, 8}, {12239, 9}, {13939, 10}, {15535, 9}, {18084, 10}, {19722, 9}, {20154, 10}, {23970, 9}, {24495, 10}, {28509, 11}, {31091, 10}, {31772, 9}, {32468, 10}, {40326, 11}, {47962, 10}, {52305, 11}, {62207, 12}, {63570, 10}, {69326, 11}, {80681, 10}, {82448, 11}, {98051, 12}, {127165, 11}, {164920, 12}, {196129, 13}, {254354, 12}, {259924, 11}, {277377, 10}, {283451, 11}, {289658, 12}, {329862, 11}, {344468, 12}, {392279, 11}, {427785, 12}, {456509, 13}, {519871, 12}, {531255, 11}, {566925, 12}, {592026, 11}, {631776, 12}, {659749, 11}, {688959, 12}, {704046, 13}, {784582, 12}, {995682, 13}, {MP_SIZE_T_MAX,0}} #define SQR_FFTM_TABLE2 {{1, 4}, {278, 5}, {292, 4}, {306, 5}, {328, 4}, {336, 5}, {423, 4}, {453, 5}, {680, 6}, {711, 5}, {743, 6}, {777, 5}, {813, 6}, {1352, 7}, {1413, 6}, {1476, 7}, {1543, 6}, {1612, 7}, {1685, 6}, {1799, 7}, {3784, 8}, {3867, 7}, {4039, 8}, {4128, 7}, {4312, 8}, {5478, 9}, {5721, 8}, {6518, 9}, {6661, 8}, {6957, 9}, {7756, 8}, {8100, 9}, {13939, 10}, {15535, 9}, {16944, 10}, {17696, 9}, {18084, 10}, {19722, 9}, {20154, 10}, {23970, 9}, {24495, 10}, {27898, 11}, {31091, 10}, {36184, 11}, {39461, 10}, {42113, 11}, {47962, 10}, {49013, 11}, {55819, 12}, {58292, 13}, {62207, 12}, {63570, 10}, {64963, 11}, {80681, 12}, {95949, 11}, {114110, 12}, {127165, 11}, {138676, 12}, {161386, 11}, {164920, 12}, {228243, 13}, {254354, 12}, {359720, 13}, {392279, 12}, {456509, 13}, {466506, 14}, {508731, 13}, {519871, 12}, {554776, 11}, {566925, 12}, {579340, 13}, {659749, 12}, {688959, 13}, {784582, 12}, {855595, 13}, {913042, 14}, {MP_SIZE_T_MAX,0}} #define MUL_FFT_FULL_TABLE2 {{16, 2}, {1022, 1}, {1045, 2}, {1068, 4}, {1092, 2}, {1116, 4}, {1141, 1}, {1219, 2}, {1274, 1}, {1734, 4}, {1772, 1}, {1811, 2}, {2021, 1}, {2066, 4}, {2112, 6}, {2256, 5}, {2357, 4}, {2409, 1}, {2462, 2}, {2516, 3}, {2572, 2}, {2629, 1}, {2746, 2}, {2932, 4}, {3063, 6}, {3200, 2}, {3271, 4}, {3417, 1}, {3492, 3}, {3648, 4}, {3728, 5}, {3810, 1}, {3894, 2}, {4068, 3}, {4158, 4}, {4250, 2}, {4440, 5}, {4740, 4}, {4844, 1}, {4951, 3}, {5171, 2}, {5285, 1}, {5401, 4}, {5520, 2}, {5765, 1}, {5892, 2}, {6022, 4}, {6154, 6}, {6289, 5}, {6427, 2}, {6568, 4}, {6859, 1}, {7010, 4}, {7482, 1}, {7986, 4}, {8161, 2}, {8340, 4}, {8710, 2}, {8901, 5}, {9296, 1}, {9922, 3}, {10140, 2}, {10590, 1}, {11059, 2}, {11302, 1}, {11803, 2}, {12062, 4}, {12327, 1}, {14040, 4}, {14985, 1}, {15993, 2}, {17824, 5}, {19022, 4}, {19439, 1}, {20300, 3}, {20745, 1}, {23628, 2}, {24146, 4}, {24675, 1}, {28104, 4}, {29992, 1}, {32007, 2}, {35670, 1}, {36452, 4}, {38067, 1}, {40624, 3}, {41514, 1}, {47280, 4}, {50456, 3}, {53845, 1}, {56230, 2}, {57462, 1}, {58721, 4}, {61321, 3}, {62664, 6}, {65440, 2}, {71365, 1}, {72928, 4}, {74525, 1}, {81272, 3}, {83052, 1}, {84871, 3}, {86730, 1}, {94582, 4}, {96654, 2}, {98771, 4}, {100934, 1}, {105404, 2}, {107713, 1}, {130905, 2}, {142755, 1}, {162570, 3}, {166130, 1}, {169768, 3}, {173486, 1}, {177285, 2}, {197567, 4}, {206315, 3}, {215450, 1}, {229917, 2}, {234952, 1}, {261830, 2}, {267564, 5}, {273423, 2}, {291783, 5}, {298173, 6}, {304703, 4}, {325163, 3}, {346997, 2}, {395159, 4}, {412655, 1}, {430925, 2}, {440362, 1}, {523686, 2}, {535154, 3}, {571086, 5}, {583592, 4}, {596372, 1}, {650350, 2}, {664591, 3}, {694016, 2}, {724743, 5}, {740613, 6}, {756831, 2}, {790340, 4}, {825333, 1}, {861875, 3}, {880748, 6}, {919743, 5}, {939883, 1}, {MP_SIZE_T_MAX,0}} #define SQR_FFT_FULL_TABLE2 {{16, 2}, {1022, 1}, {1092, 2}, {1116, 1}, {1422, 2}, {1454, 1}, {1519, 2}, {1553, 1}, {1623, 2}, {1659, 1}, {1734, 4}, {1772, 3}, {1811, 2}, {2021, 1}, {2066, 4}, {2112, 6}, {2306, 5}, {2357, 4}, {2409, 3}, {2572, 4}, {2746, 2}, {2932, 4}, {3063, 6}, {3200, 2}, {3271, 4}, {3417, 2}, {3492, 3}, {3648, 4}, {3728, 5}, {3810, 1}, {3894, 4}, {4068, 1}, {4158, 2}, {4250, 4}, {4344, 6}, {4538, 5}, {4638, 4}, {4844, 1}, {4951, 3}, {5171, 2}, {5401, 4}, {5520, 2}, {5765, 1}, {5892, 2}, {6022, 4}, {6154, 6}, {6289, 2}, {6568, 4}, {6859, 1}, {7010, 4}, {7482, 1}, {7986, 4}, {8161, 2}, {8523, 4}, {8710, 6}, {9096, 5}, {9296, 4}, {9709, 1}, {9922, 3}, {10363, 2}, {10590, 1}, {10822, 2}, {11550, 1}, {11803, 2}, {12062, 4}, {12327, 1}, {12873, 2}, {13155, 3}, {13444, 1}, {14040, 4}, {14985, 1}, {15993, 2}, {16702, 1}, {17068, 2}, {17824, 1}, {18215, 4}, {18614, 5}, {19022, 4}, {19439, 1}, {19865, 3}, {20745, 1}, {21665, 2}, {23121, 1}, {23628, 2}, {24146, 4}, {24675, 1}, {28104, 4}, {29992, 1}, {32007, 2}, {35670, 1}, {36452, 4}, {38901, 1}, {40624, 3}, {41514, 2}, {46266, 1}, {47280, 4}, {50456, 3}, {53845, 1}, {58721, 4}, {61321, 3}, {62664, 2}, {64037, 1}, {65440, 2}, {71365, 5}, {74525, 4}, {79530, 1}, {81272, 3}, {83052, 2}, {88630, 1}, {94582, 4}, {96654, 2}, {98771, 1}, {112483, 4}, {114947, 1}, {130905, 2}, {142755, 5}, {149076, 6}, {152341, 3}, {155677, 1}, {162570, 3}, {166130, 2}, {169768, 3}, {173486, 2}, {197567, 4}, {201894, 3}, {206315, 1}, {261830, 2}, {267564, 5}, {273423, 7}, {279411, 9}, {291783, 7}, {298173, 6}, {304703, 4}, {325163, 3}, {346997, 2}, {395159, 4}, {412655, 7}, {421691, 10}, {430925, 6}, {450005, 5}, {469929, 1}, {523686, 2}, {583592, 4}, {596372, 6}, {609431, 5}, {622776, 1}, {650350, 3}, {694016, 2}, {724743, 1}, {790340, 4}, {825333, 1}, {861875, 3}, {880748, 6}, {919743, 5}, {939883, 1}, {MP_SIZE_T_MAX,0}}