llvm-project/libc/benchmarks/MemorySizeDistributions.cpp

70 lines
75 KiB
C++

#include "MemorySizeDistributions.h"
namespace llvm {
namespace libc_benchmarks {
// clang-format off
static constexpr double kMemcmpGoogleA[] = {0.311594, 0.0483092, 0.0229469, 0.0748792, 0.0422705, 0.00241546, 0.044686, 0.0326087, 0.0205314, 0.013285, 0.00362319, 0, 0.0108696, 0.00966184, 0.089372, 0.00845411, 0.00724638, 0, 0, 0.00362319, 0, 0.179952, 0.00120773, 0.00483092, 0.00483092, 0.00241546, 0.00120773, 0.0108696, 0.00120773, 0, 0.0144928, 0.00241546, 0.00120773, 0.00120773, 0, 0, 0, 0, 0, 0.00483092, 0, 0.00362319, 0.00241546, 0, 0.00603865, 0, 0, 0.00120773, 0, 0, 0, 0, 0, 0, 0, 0, 0.00120773, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.00120773, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.00362319, 0.00362319};
static constexpr double kMemcmpGoogleB[] = {0.0685155, 0.00489396, 0.119902, 0.00734095, 0.0252855, 0.0138662, 0.050571, 0.00326264, 0.00570962, 0.0130506, 0.0040783, 0.0212072, 0, 0, 0.000815661, 0.000815661, 0.467374, 0.0212072, 0.00244698, 0.00163132, 0.00734095, 0.00734095, 0.0040783, 0.00570962, 0.00244698, 0.000815661, 0.0195759, 0.00163132, 0, 0, 0.000815661, 0, 0.000815661, 0.0122349, 0.000815661, 0.0040783, 0.00163132, 0.000815661, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.0464927, 0.045677, 0, 0, 0, 0.000815661, 0, 0, 0, 0, 0.000815661, 0.000815661, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.000815661, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.000815661, 0.00163132};
static constexpr double kMemcmpGoogleD[] = {0, 0, 0, 0.0045045, 0.202703, 0.0518018, 0.0653153, 0.256757, 0.173423, 0, 0, 0, 0, 0.0698198, 0, 0, 0.00225225, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.130631, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.00225225, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.00675676, 0, 0, 0, 0, 0, 0, 0, 0.0337838};
static constexpr double kMemcmpGoogleL[] = {0, 0.000720461, 0, 0.985591, 0.00129683, 0, 0.00244957, 0.000144092, 0, 0.000576369, 0, 0.00648415, 0.000720461, 0.000288184, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.00172911};
static constexpr double kMemcmpGoogleM[] = {0.0275355, 0.0336493, 0.164834, 0.0696209, 0.0714692, 0.105877, 0.108057, 0.114976, 0.021564, 0.0109005, 0.120142, 0.0166351, 0.00398104, 0.00265403, 0.00118483, 0.0301422, 0.00843602, 0.00350711, 0.0036019, 0.00369668, 0.0108531, 0.00758294, 0.00881517, 0.00308057, 0.00232227, 0.00421801, 0.00279621, 0.000379147, 0.000473934, 9.47867e-05, 0.00421801, 0, 0.00028436, 0.0021327, 0.00279621, 0, 0.000473934, 0.000521327, 0.00763033, 0, 0, 0, 0, 4.73934e-05, 4.73934e-05, 0, 0.00919431, 0, 0, 0, 9.47867e-05, 0.00516588, 0.00127962, 4.73934e-05, 0, 0, 0, 9.47867e-05, 0, 0, 0, 0, 0.00028436, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.000521327, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 4.73934e-05, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.00014218, 0, 0, 0, 0, 0, 0, 0, 0.000853081, 0, 0, 0, 0, 0, 0, 0, 0.00104265};
static constexpr double kMemcmpGoogleQ[] = {0.0985062, 0.051215, 0.00598885, 0.0212707, 0.034281, 0.0360019, 0.0353824, 0.0235424, 0.0256075, 0.0131479, 0.298823, 0.0168651, 0.00268466, 0.00392373, 0.0203759, 0.00653955, 0.00378605, 0.00172093, 0.0035107, 0.00929304, 0.00592001, 0.00275349, 0.00282233, 0.00839816, 0.00509396, 0.00757211, 0.0016521, 0.00206512, 0.0113582, 0.00178977, 0.00247814, 0.00240931, 0.00385489, 0.00357954, 0.00468094, 0.00158326, 0.00103256, 0.00137675, 0.00117023, 0.00103256, 0.00261582, 0.000550699, 0.00103256, 0.00123907, 0.000826048, 0.0051628, 0.000894885, 0.00275349, 0.000688373, 0.0040614, 0.00123907, 0.00117023, 0.00832932, 0.00151442, 0.00172093, 0.00137675, 0.000963723, 0.000894885, 0.00178977, 0.000550699, 0.000619536, 0.000963723, 0.00130791, 0.000826048, 0.000757211, 0.00123907, 0.00137675, 0.000688373, 0.000413024, 0.00151442, 0.00103256, 0.000688373, 0.000826048, 0.000688373, 0.000963723, 0.000757211, 0.000757211, 0.00103256, 0.000481861, 0.000550699, 0.0222345, 0.000757211, 0.0011014, 0.000619536, 0.000275349, 0.000413024, 0.000688373, 0.000137675, 0.0146624, 0.000688373, 0.000550699, 0.000413024, 0.000275349, 0.000757211, 0.000688373, 0.000550699, 0.00998141, 0.000619536, 0.000619536, 0.000275349, 0.000481861, 0.000619536, 0.000619536, 0.000275349, 0.00688373, 0.000826048, 0.000413024, 0.000206512, 0.000550699, 0.000550699, 0.000550699, 0.000206512, 0.00199628, 0.000137675, 0.000137675, 0.000757211, 0.000206512, 0.000344187, 0.000206512, 0.000344187, 0.00151442, 0.000550699, 0.000550699, 0.000275349, 0.000206512, 6.88373e-05, 0.000344187, 0.000206512, 0.000688373, 0.000688373, 0.000619536, 0.000137675, 0.000413024, 0.000344187, 0.000275349, 0.000550699, 0.000619536, 0.000137675, 0.000344187, 0.000344187, 0.000757211, 0.000137675, 0.000413024, 6.88373e-05, 0.000137675, 6.88373e-05, 0.000550699, 0.000275349, 0.000137675, 0.000413024, 0.000344187, 0.000206512, 0.000550699, 6.88373e-05, 0.000413024, 0.000275349, 0.000137675, 0.000481861, 0.000206512, 0.000206512, 0.000206512, 0.000481861, 0.000137675, 0.000206512, 0.000481861, 0.000344187, 0.000206512, 0.000275349, 0.000275349, 0.000206512, 0.000481861, 0.000413024, 0.000206512, 0.000413024, 0.000137675, 0.000137675, 0.000344187, 0.000137675, 0.000275349, 0.000206512, 0.000481861, 0.000550699, 0, 0.000344187, 0.000275349, 0.000275349, 0.000413024, 0, 0.000344187, 0.000206512, 0.000550699, 0.000206512, 0.000344187, 0.000413024, 0.000688373, 0.000275349, 0.000413024, 0.000275349, 0.000344187, 0.000481861, 0.000550699, 0.000206512, 0.000275349, 0.000137675, 0.000206512, 0.000481861, 0.000344187, 0.000275349, 0.000344187, 0.000413024, 0.000413024, 0.000344187, 0.000206512, 0.000275349, 0.000137675, 0.000481861, 0.000275349, 0.000206512, 0.000413024, 0.000481861, 0.000206512, 0.000137675, 0.000275349, 0.000137675, 0.000206512, 0.000344187, 0.000413024, 0.000413024, 0.000344187, 0.000344187, 0.000275349, 6.88373e-05, 0.000137675, 0.000275349, 6.88373e-05, 0.000344187, 0.000413024, 0.000344187, 0.000206512, 0.000344187, 0.000481861, 0.000481861, 0.000206512, 0.000344187, 0.000137675, 6.88373e-05, 0.000275349, 0.000413024, 0.000137675, 6.88373e-05, 0.000137675, 0.000137675, 0.000206512, 0.000413024, 6.88373e-05, 0.000206512, 0.000137675, 0.000206512, 0.000275349, 0.000344187, 0.000275349, 6.88373e-05, 0.000137675, 0.000344187, 0, 0.000206512, 0, 6.88373e-05, 0.000137675, 0.000550699, 0.000344187, 0.000137675, 0, 0.000344187, 0.000344187, 0.000550699, 0.000344187, 0.000206512, 0.000275349, 6.88373e-05, 0.000275349, 0.000275349, 0.000137675, 6.88373e-05, 6.88373e-05, 0.000206512, 0.000137675, 0.000137675, 0.000137675, 0.000137675, 0.000137675, 0, 0, 6.88373e-05, 0.000137675, 0, 0.000275349, 0.000137675, 6.88373e-05, 0.000206512, 0.000344187, 6.88373e-05, 0.000137675, 6.88373e-05, 0.000275349, 0.000206512, 0, 0.000206512, 0.000275349, 0.000206512, 0.000344187, 0.000137675, 0.000275349, 6.88373e-05, 6.88373e-05, 0.000137675, 6.88373e-05, 0.000206512, 0.000206512, 0.000275349, 0.000344187, 6.88373e-05, 0.000137675, 0.000137675, 0.000275349, 0.000344187, 0.000206512, 0.000344187, 0.000137675, 0.000275349, 0.000137675, 0.000137675, 0.000206512, 0.000137675, 0.000137675, 0.000137675, 6.88373e-05, 0.000206512, 6.88373e-05, 0, 6.88373e-05, 0.000344187, 6.88373e-05, 0.000137675, 0.000137675, 0.000481861, 0.000206512, 0, 0.000206512, 0, 0.000206512, 0, 6.88373e-05, 6.88373e-05, 6.88373e-05, 0.000206512, 0.000206512, 0, 6.88373e-05, 0, 0.000206512, 0.000206512, 0.000137675, 0.000275349, 0.000137675, 6.88373e-05, 0.000275349, 0.000137675, 0.000344187, 0, 0.000275349, 0, 0.000206512, 6.88373e-05, 0.000344187, 6.88373e-05, 0.000206512, 0.000137675, 0.000206512, 6.88373e-05, 0.000413024, 6.88373e-05, 0.000275349, 6.88373e-05, 0.000137675, 0, 0.000413024, 0, 0.000344187, 0, 0.000206512, 0, 0.000481861, 0, 0.000413024, 0, 0.000206512, 0, 0.000344187, 0, 0.000413024, 0, 0.000206512, 0, 0.000481861, 0, 0.000137675, 0, 0.000206512, 0, 0.000344187, 0, 6.88373e-05, 0, 0.000137675, 0, 0.000275349, 0, 0.000206512, 0, 0.000206512, 0, 0.000137675, 0, 0.000688373, 0, 0.000206512, 0, 0.000137675, 0, 0, 0, 0.000275349, 0, 0.000481861, 0, 0.000206512, 0, 0.000206512, 0, 0.000344187, 0, 0.000137675, 0, 0.000206512, 0, 0.000344187, 0, 0.000275349, 0, 6.88373e-05, 0, 0.000137675, 0, 6.88373e-05, 0, 0.000137675, 0, 0.000137675, 0, 0.000275349, 0, 0.000275349, 0, 6.88373e-05, 0, 6.88373e-05, 0, 6.88373e-05, 0, 0.000275349, 0, 0, 0, 0.000206512, 0, 0.000206512, 0, 0.000413024, 0, 6.88373e-05, 0, 0.000206512, 0, 0.000206512, 0, 0.000344187, 0, 0.000137675, 0, 0.000413024, 0, 0.000344187, 0, 0, 0, 0.000413024, 0, 6.88373e-05, 0, 0.000206512, 0, 0, 0, 0.000206512, 0, 0.000275349, 0, 0, 0, 0.000137675, 0, 0.000550699, 0, 6.88373e-05, 0, 0, 0, 0.000137675, 0, 0.000344187, 0, 0.000344187, 0, 0.000206512, 0, 6.88373e-05, 0, 0.000275349, 0, 0.000275349, 0, 0.000137675, 0, 6.88373e-05, 0, 0.000206512, 0, 0.000206512, 0, 0.000137675, 0, 0.000137675, 0, 0.000137675, 0, 6.88373e-05, 0, 0.000137675, 0, 6.88373e-05, 0, 0.000206512, 0, 6.88373e-05, 0, 6.88373e-05, 0, 6.88373e-05, 0, 0.000137675, 0, 0.000206512, 0, 0.000206512, 0, 0.000137675, 0, 6.88373e-05, 0, 0.000206512, 0, 0, 0, 6.88373e-05, 0, 6.88373e-05, 0, 0.000206512, 0, 0.000137675, 0, 0.000137675, 0, 0.000206512, 0, 6.88373e-05, 0, 6.88373e-05, 0, 0.000206512, 0, 6.88373e-05, 0, 0.000137675, 0, 6.88373e-05, 0, 0.000137675};
static constexpr double kMemcmpGoogleS[] = {0, 0.0729167, 0.0208333, 0.0104167, 0.0416667, 0.0729167, 0.0416667, 0.0104167, 0, 0, 0, 0.28125, 0, 0, 0, 0, 0, 0, 0.125, 0.0833333, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.0416667, 0, 0.0104167, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.0104167, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.0104167, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.0208333, 0, 0.0104167, 0.0208333, 0, 0.0104167, 0, 0, 0, 0, 0, 0, 0, 0.0104167, 0, 0, 0, 0, 0.0104167, 0, 0, 0, 0, 0, 0, 0.0208333, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.0104167, 0, 0, 0, 0, 0, 0, 0.0104167, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.0104167, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.0104167, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.0104167, 0.0104167};
static constexpr double kMemcmpGoogleU[] = {0, 0.00524132, 0.0133826, 0.019914, 0.0121586, 0.00926881, 0.0164502, 0.0122805, 0.73091, 0.0108229, 0.00958877, 0.0123364, 0.0109753, 0.00854762, 0.0129509, 0.00817179, 0.0236215, 0.00756233, 0.0161049, 0.00399701, 0.00553081, 0.00266129, 0.00224483, 0.00223975, 0.0125446, 0.00158458, 0.00191979, 0.0011021, 0.000695795, 0.000827844, 0.00165569, 0.000726268, 0.00146777, 0.000543431, 0.00101068, 0.000467249, 0.000391067, 0.00127986, 0.000639928, 0.000233625, 0.000218388, 0.0105334, 0.000162522, 0.000909105, 0.000142206, 0.000157443, 0.00172171, 0.000289491, 0.000147285, 5.58668e-05, 4.57092e-05, 5.58668e-05, 3.55516e-05, 6.09456e-05, 1.52364e-05, 0.000909105, 1.01576e-05, 5.58668e-05, 4.06304e-05, 2.5394e-05, 1.52364e-05, 1.01576e-05, 1.01576e-05, 3.04728e-05, 2.03152e-05, 1.52364e-05, 1.52364e-05, 1.01576e-05, 2.5394e-05, 5.0788e-06, 1.01576e-05, 0, 5.0788e-06, 5.0788e-06, 1.01576e-05, 0, 1.01576e-05, 1.01576e-05, 0, 5.0788e-06, 1.01576e-05, 0, 1.01576e-05, 5.0788e-06, 0, 1.01576e-05, 0, 2.03152e-05, 0, 0, 5.0788e-06, 5.0788e-06, 5.0788e-06, 5.0788e-06, 0, 0, 0, 0, 5.0788e-06, 0, 0, 0, 0, 1.01576e-05, 0, 5.0788e-06, 5.0788e-06, 0, 0, 0, 0, 0, 5.0788e-06, 0, 5.0788e-06, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5.0788e-06, 5.0788e-06, 0, 0, 0, 0, 0, 5.0788e-06, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5.0788e-06, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5.0788e-06, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5.0788e-06};
static constexpr double kMemcmpGoogleW[] = {0.0191339, 0.0151057, 0.0926485, 0.0281974, 0.0271903, 0.0483384, 0.0654582, 0.0261833, 0.0443102, 0.0553877, 0.0433031, 0.0120846, 0.0120846, 0.0422961, 0.0161128, 0.020141, 0.0261833, 0.020141, 0.0100705, 0.0332326, 0.0231621, 0.0292044, 0.0372608, 0.0161128, 0.0161128, 0.0100705, 0.0110775, 0.00704935, 0.0120846, 0.00704935, 0.00503525, 0.00906344, 0.0040282, 0.00805639, 0.00704935, 0.0060423, 0.0060423, 0.00503525, 0.0040282, 0.0191339, 0.0040282, 0.0140987, 0.0020141, 0.00100705, 0.0020141, 0, 0.0020141, 0.00100705, 0.0020141, 0, 0, 0, 0.0020141, 0, 0.0020141, 0, 0, 0, 0.00100705, 0, 0, 0, 0.00100705, 0.00100705, 0, 0, 0, 0, 0, 0.00100705, 0, 0.0020141, 0, 0, 0, 0, 0, 0.00100705, 0, 0, 0.00503525, 0.00100705, 0, 0, 0, 0, 0.0020141, 0.0020141, 0.00302115, 0.0020141, 0, 0.0020141, 0, 0, 0, 0.00100705, 0.0020141, 0, 0, 0.00100705, 0.00100705, 0, 0.00100705, 0, 0.00100705, 0, 0, 0, 0.00100705, 0, 0, 0, 0.00100705, 0, 0, 0, 0.00100705, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.00302115, 0, 0, 0, 0.0020141, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.0040282, 0, 0, 0, 0, 0, 0, 0, 0.00302115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.00100705, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.00100705, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.00100705, 0.00302115, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.0020141, 0, 0, 0, 0, 0, 0, 0, 0.0020141, 0, 0, 0, 0, 0, 0, 0, 0.0020141, 0, 0, 0, 0, 0, 0, 0, 0.0020141, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.00100705, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.00100705, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.00100705, 0, 0, 0, 0, 0, 0, 0, 0.00100705, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.00100705, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.00100705, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.00100705};
static constexpr double kMemcpyGoogleA[] = {0, 0, 0.020339, 0.0915254, 0.0644068, 0.0135593, 0.0271186, 0.00338983, 0.332203, 0, 0, 0.0271186, 0.00338983, 0, 0, 0, 0.166102, 0, 0.00338983, 0.00677966, 0.0135593, 0, 0, 0, 0, 0, 0, 0, 0.00338983, 0, 0, 0, 0.0610169, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.0271186, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.0440678, 0, 0, 0, 0, 0, 0, 0, 0.00677966, 0, 0, 0, 0, 0, 0, 0, 0.00338983, 0, 0, 0, 0.00677966, 0, 0, 0, 0.0169492, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.0135593, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.00338983, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.00677966, 0, 0, 0, 0.0101695, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.0135593, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.00338983, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.00338983, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.00338983};
static constexpr double kMemcpyGoogleB[] = {0.0755418, 0.0204334, 0.00464396, 0.0473684, 0.0260062, 0.00371517, 0.0145511, 0.00433437, 0.0377709, 0.113313, 0.0501548, 0.0108359, 0.00154799, 0.000619195, 0.000928793, 0.00154799, 0.237152, 0.00897833, 0.0733746, 0.00402477, 0.00216718, 0.00278638, 0.0216718, 0.00154799, 0.000619195, 0.000619195, 0.00309598, 0.00123839, 0.0198142, 0.00216718, 0.000928793, 0.00216718, 0.0291022, 0.00278638, 0.000619195, 0.00247678, 0.000619195, 0.00247678, 0.000928793, 0.0111455, 0.00588235, 0.000309598, 0.000619195, 0.000619195, 0, 0.0216718, 0.00123839, 0.00340557, 0.00123839, 0.000619195, 0.000928793, 0.0201238, 0.0260062, 0.000619195, 0, 0.00309598, 0.00897833, 0.00866873, 0.000928793, 0.000928793, 0, 0.00154799, 0, 0.000309598, 0.00247678, 0.0170279, 0.000309598, 0, 0.000309598, 0, 0.000309598, 0.000619195, 0.000309598, 0.000309598, 0.000309598, 0, 0.000309598, 0, 0.000309598, 0, 0.000309598, 0, 0, 0.000619195, 0, 0, 0.000619195, 0.000928793, 0.000309598, 0.000309598, 0, 0, 0, 0, 0.000309598, 0, 0.000928793, 0, 0.000309598, 0, 0.000309598, 0.000309598, 0.000309598, 0, 0, 0, 0.000309598, 0, 0, 0, 0.000928793, 0.000309598, 0, 0, 0.000309598, 0.000309598, 0, 0, 0, 0, 0, 0, 0, 0, 0.000309598, 0, 0, 0, 0.000309598, 0, 0, 0, 0, 0.000309598, 0, 0.000309598, 0, 0.000309598, 0, 0, 0.000309598, 0, 0, 0, 0.000309598, 0, 0, 0, 0, 0, 0, 0, 0.000309598, 0, 0, 0, 0, 0, 0.000309598, 0, 0, 0, 0.000309598, 0, 0, 0, 0, 0, 0, 0, 0, 0.000309598, 0, 0.000309598, 0, 0, 0.000309598, 0, 0, 0.000309598, 0, 0, 0.000309598, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.000309598, 0, 0, 0, 0, 0, 0.000309598, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.000309598, 0, 0, 0, 0, 0, 0.000619195, 0, 0, 0, 0, 0, 0, 0.000309598, 0, 0, 0.000309598, 0, 0, 0, 0, 0, 0, 0.000309598, 0, 0.000309598, 0, 0, 0, 0, 0, 0, 0.000309598, 0, 0, 0, 0, 0, 0, 0, 0.000309598, 0, 0, 0, 0, 0, 0, 0, 0, 0.000309598, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.000309598, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.000309598, 0, 0, 0, 0, 0, 0.000309598, 0, 0, 0, 0, 0, 0, 0.000309598, 0, 0, 0, 0, 0.000309598, 0, 0, 0.00216718, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.000309598, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.000309598, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.000309598, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.000309598, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.000309598, 0, 0, 0, 0.000309598, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.000309598, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.000619195, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.000309598, 0, 0.000309598, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.000309598, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.000309598};
static constexpr double kMemcpyGoogleD[] = {0.0234987, 0.0137076, 0.0104439, 0.0117493, 0.022846, 0.017624, 0.0672324, 0.0372063, 0.0391645, 0.0372063, 0.0248042, 0.0456919, 0.0267624, 0.0359008, 0.0156658, 0.00522193, 0.0306789, 0.0124021, 0.0104439, 0.0137076, 0.00261097, 0.0150131, 0.0365535, 0.00391645, 0.00652742, 0.0443864, 0.0163185, 0.0430809, 0.00587467, 0.0169713, 0.0110966, 0.00130548, 0.0293734, 0, 0.000652742, 0.00195822, 0.0248042, 0.00391645, 0.00979112, 0.000652742, 0.0365535, 0.000652742, 0.00130548, 0.000652742, 0.000652742, 0.000652742, 0.00913838, 0, 0.000652742, 0, 0, 0.000652742, 0, 0, 0.00130548, 0, 0.0163185, 0.000652742, 0.000652742, 0.000652742, 0, 0, 0.000652742, 0, 0.00913838, 0.000652742, 0, 0, 0.000652742, 0, 0, 0, 0.00130548, 0, 0.000652742, 0, 0, 0.00130548, 0, 0, 0, 0, 0, 0, 0, 0.00261097, 0, 0.00913838, 0.0300261, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.00195822, 0, 0, 0.00130548, 0.000652742, 0.00456919, 0, 0, 0, 0, 0, 0, 0.00130548, 0.0130548, 0, 0, 0, 0, 0, 0.000652742, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.00261097, 0, 0, 0, 0, 0.000652742, 0, 0, 0.00326371, 0, 0.00130548, 0, 0, 0, 0.000652742, 0, 0.00130548, 0, 0, 0, 0, 0, 0, 0, 0.00130548, 0, 0, 0, 0, 0, 0.000652742, 0, 0.00195822, 0, 0.000652742, 0, 0, 0, 0, 0, 0.00130548, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.000652742, 0, 0.000652742, 0, 0, 0, 0, 0, 0, 0, 0.00195822, 0, 0, 0, 0.000652742, 0, 0, 0, 0.000652742, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.00130548, 0, 0, 0, 0, 0, 0.000652742, 0, 0.000652742, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.000652742, 0, 0, 0.000652742, 0, 0.000652742, 0, 0, 0, 0, 0, 0, 0.00326371, 0, 0, 0.000652742, 0.000652742, 0, 0, 0, 0, 0.000652742, 0, 0, 0, 0.000652742, 0, 0.000652742, 0.00195822, 0.00195822, 0, 0, 0, 0, 0, 0, 0, 0.00130548, 0, 0, 0, 0, 0, 0.000652742, 0.000652742, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.000652742, 0, 0, 0, 0, 0, 0, 0, 0.00130548, 0, 0, 0, 0, 0, 0.000652742, 0.000652742, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.000652742, 0, 0, 0.000652742, 0, 0, 0, 0, 0, 0, 0.000652742, 0.000652742, 0, 0, 0, 0, 0, 0, 0, 0.000652742, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.000652742, 0.000652742, 0.000652742, 0, 0.00326371, 0, 0, 0, 0, 0, 0.00261097, 0.000652742, 0, 0, 0.000652742, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.000652742, 0, 0, 0, 0.000652742, 0, 0, 0, 0, 0, 0, 0, 0.000652742, 0, 0.000652742, 0, 0.000652742, 0, 0.000652742, 0, 0.000652742, 0, 0.00130548, 0, 0.000652742, 0, 0.00130548, 0, 0.000652742, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.000652742, 0, 0.00130548, 0, 0, 0, 0, 0, 0.000652742, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.000652742, 0, 0, 0, 0, 0, 0.000652742, 0, 0, 0, 0, 0, 0.000652742, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.000652742, 0, 0.000652742, 0, 0.00130548, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.000652742, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.000652742, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.000652742, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.000652742, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.00130548};
static constexpr double kMemcpyGoogleL[] = {0.140541, 0.0486486, 0, 0.0324324, 0.0216216, 0, 0.0378378, 0, 0.027027, 0.00540541, 0, 0.210811, 0.0162162, 0.0216216, 0.0918919, 0, 0.0432432, 0.0918919, 0, 0.0702703, 0, 0, 0, 0.0972973, 0, 0, 0, 0.00540541, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.00540541, 0, 0.0108108, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.00540541, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.00540541, 0, 0, 0, 0, 0, 0.00540541, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.00540541};
static constexpr double kMemcpyGoogleM[] = {0.0721535, 0.0325991, 0.068308, 0.0556539, 0.0563932, 0.0461322, 0.0532884, 0.0617689, 0.0828007, 0.0433771, 0.0594034, 0.0279377, 0.0207739, 0.0242924, 0.0185332, 0.0384378, 0.0360666, 0.0178533, 0.0215373, 0.0189424, 0.00918205, 0.00407135, 0.00558588, 0.0164542, 0.00517671, 0.00187243, 0.00539378, 0.00443405, 0.00281149, 0.0020793, 0.00188286, 0.00131771, 0.0237737, 0.00349755, 0.00316146, 0.000935628, 0.00276963, 0.0021735, 0.00301304, 0.000647972, 0.00162138, 0.000899166, 0.000446995, 0.000298311, 0.000419752, 0.000250476, 0.000173168, 0.000251647, 0.00166741, 0.000240198, 0.000212313, 0.000251685, 0.000494377, 0.000263776, 0.000282404, 0.000370745, 0.000823369, 0.000437322, 0.000194252, 0.00019667, 0.000828546, 0.000114224, 0.000515272, 0.000150837, 0.0101547, 8.00283e-05, 7.56452e-05, 8.59983e-05, 9.46888e-05, 6.64257e-05, 6.00779e-05, 0.000211406, 0.000262491, 5.85287e-05, 6.83905e-05, 6.7257e-05, 0.00014294, 6.28362e-05, 5.11607e-05, 4.88936e-05, 0.000250325, 5.18408e-05, 4.29614e-05, 9.52933e-05, 8.53937e-05, 4.32636e-05, 4.22434e-05, 3.61601e-05, 0.000140484, 3.7747e-05, 7.67788e-05, 3.37796e-05, 4.91959e-05, 5.22564e-05, 3.06813e-05, 4.11099e-05, 0.00285317, 2.89054e-05, 3.44598e-05, 2.82631e-05, 4.53418e-05, 2.21041e-05, 2.75451e-05, 2.1953e-05, 0.000106667, 2.45979e-05, 2.74318e-05, 2.05549e-05, 2.30487e-05, 2.49002e-05, 2.88298e-05, 2.31243e-05, 8.13507e-05, 3.09836e-05, 5.78108e-05, 5.58838e-05, 6.01912e-05, 4.32258e-05, 3.97119e-05, 3.91451e-05, 0.000372181, 1.63986e-05, 1.63608e-05, 1.20911e-05, 1.70787e-05, 1.63986e-05, 2.1953e-05, 1.25068e-05, 0.00486468, 9.78627e-06, 2.28976e-05, 1.33003e-05, 1.22045e-05, 1.71921e-05, 1.13354e-05, 0.000251571, 0.000526834, 9.78627e-06, 1.06175e-05, 1.36025e-05, 1.92703e-05, 1.36781e-05, 1.02775e-05, 1.00508e-05, 2.18774e-05, 1.76455e-05, 9.29507e-06, 1.55296e-05, 1.03908e-05, 9.74849e-06, 1.78722e-05, 8.76608e-06, 1.85901e-05, 1.03908e-05, 1.09954e-05, 1.47361e-05, 7.40583e-06, 7.85925e-06, 8.19931e-06, 1.34514e-05, 0.000588612, 9.67292e-06, 8.04817e-06, 9.03057e-06, 9.52178e-06, 1.60208e-05, 1.12599e-05, 9.33285e-06, 0.000758153, 1.00508e-05, 1.7381e-05, 1.4056e-05, 1.0542e-05, 7.4814e-06, 9.67292e-06, 1.50006e-05, 1.4925e-05, 1.20911e-05, 9.74849e-06, 8.99279e-06, 1.63608e-05, 1.10332e-05, 1.14866e-05, 1.49628e-05, 1.46605e-05, 1.39804e-05, 9.78627e-06, 1.01263e-05, 9.74849e-06, 9.29507e-06, 1.31869e-05, 7.55697e-06, 0.000428593, 7.36804e-06, 9.06836e-06, 1.99882e-05, 1.11087e-05, 5.32766e-06, 7.63254e-06, 5.28988e-06, 2.19152e-05, 5.44102e-06, 8.19931e-06, 4.9876e-06, 5.55437e-06, 1.21667e-05, 5.81886e-06, 5.81886e-06, 1.06931e-05, 2.9321e-05, 1.16755e-05, 5.74329e-06, 0.000636939, 5.4788e-06, 5.78108e-06, 0.000331675, 0.000737333, 5.17652e-06, 5.93222e-06, 6.49899e-06, 0.000642644, 6.12114e-06, 4.08076e-06, 7.17912e-06, 0.000196406, 1.28468e-05, 6.19671e-06, 5.21431e-06, 0.000352003, 6.00779e-06, 1.75322e-05, 7.10355e-06, 8.65273e-06, 7.85925e-06, 2.34266e-05, 1.53406e-05, 1.37159e-05, 1.26957e-05, 1.35648e-05, 1.26579e-05, 0.000177513, 5.81886e-06, 4.19412e-06, 5.40323e-06, 4.87424e-06, 1.03908e-05, 4.64753e-06, 7.17912e-06, 5.44102e-06, 3.28728e-06, 1.17133e-05, 3.28728e-06, 3.43842e-06, 5.21431e-06, 5.55437e-06, 1.27713e-05, 0.00346324};
static constexpr double kMemcpyGoogleQ[] = {0.0178373, 0.114968, 0.0227802, 0.0150139, 0.188859, 0.00455751, 0.0233952, 0.0106787, 0.341347, 0.00630641, 0.050229, 0.00491322, 0.00606186, 0.00478724, 0.0110566, 0.00501697, 0.0128277, 0.00962636, 0.00522447, 0.0112196, 0.00589142, 0.00513554, 0.00491322, 0.00341628, 0.00472796, 0.00269004, 0.00394985, 0.00325325, 0.00183042, 0.00234916, 0.00129685, 0.00220095, 0.0034311, 0.0016822, 0.000837397, 0.00180818, 0.001119, 0.00357932, 0.0012598, 0.00108195, 0.00443894, 0.0013265, 0.00113382, 0.00103007, 0.000933734, 0.0016081, 0.00108195, 0.00116346, 0.000726238, 0.00250478, 0.00100043, 0.0010523, 0.00117087, 0.00113382, 0.000778112, 0.00108936, 0.001119, 0.00169703, 0.00145989, 0.000941145, 0.00181559, 0.000963377, 0.000637311, 0.000829986, 0.00169703, 0.00120793, 0.00138578, 0.00074847, 0.000792933, 0.000474278, 0.00075588, 0.000444635, 0.000704006, 0.000511331, 0.000437225, 0.000518741, 0.000333477, 0.000414993, 0.00037794, 0.00228246, 0.00904092, 0.000466867, 0.000259371, 0.000392761, 0.00025196, 0.000296424, 0.000289013, 0.000148212, 0.000852218, 0.000177854, 0.000103748, 0.000133391, 0.000192675, 0.000192675, 0.000185265, 0.000111159, 0.000407583, 0.000578026, 0.000111159, 0.00111159, 0.000118569, 0.000340887, 0.000177854, 0.000170444, 0.000133391, 0.000118569, 0.000155622, 8.89271e-05, 4.44635e-05, 7.41059e-05, 9.63377e-05, 5.92847e-05, 9.63377e-05, 0.000111159, 5.92847e-05, 0.00012598, 7.41059e-05, 5.18741e-05, 0.000155622, 3.7053e-05, 0.000177854, 0.00024455, 5.92847e-05, 5.92847e-05, 5.18741e-05, 0.000200086, 0.000103748, 2.22318e-05, 0.000555794, 2.96424e-05, 5.92847e-05, 5.18741e-05, 3.7053e-05, 3.7053e-05, 2.96424e-05, 2.22318e-05, 0.00012598, 2.96424e-05, 5.18741e-05, 2.22318e-05, 2.96424e-05, 5.18741e-05, 1.48212e-05, 2.96424e-05, 0.000140801, 2.96424e-05, 8.89271e-05, 7.41059e-05, 5.18741e-05, 7.41059e-05, 5.18741e-05, 7.41059e-06, 0.00037794, 4.44635e-05, 5.18741e-05, 5.18741e-05, 5.92847e-05, 4.44635e-05, 5.18741e-05, 2.22318e-05, 5.92847e-05, 2.96424e-05, 2.22318e-05, 4.44635e-05, 1.48212e-05, 3.7053e-05, 7.41059e-06, 5.18741e-05, 5.92847e-05, 3.7053e-05, 3.7053e-05, 2.96424e-05, 2.96424e-05, 5.18741e-05, 4.44635e-05, 2.96424e-05, 0.000274192, 7.41059e-05, 6.66953e-05, 6.66953e-05, 0.000140801, 5.18741e-05, 2.96424e-05, 7.41059e-05, 8.89271e-05, 5.18741e-05, 8.89271e-05, 6.66953e-05, 8.89271e-05, 0.000111159, 7.41059e-05, 3.7053e-05, 0.000185265, 8.89271e-05, 7.41059e-05, 5.92847e-05, 7.41059e-06, 5.92847e-05, 4.44635e-05, 4.44635e-05, 0.000155622, 6.66953e-05, 8.89271e-05, 3.7053e-05, 6.66953e-05, 4.44635e-05, 5.18741e-05, 2.22318e-05, 0.000155622, 5.18741e-05, 3.7053e-05, 7.41059e-05, 3.7053e-05, 8.15165e-05, 3.7053e-05, 1.48212e-05, 4.44635e-05, 3.7053e-05, 4.44635e-05, 4.44635e-05, 3.7053e-05, 6.66953e-05, 6.66953e-05, 2.22318e-05, 0.000155622, 5.92847e-05, 4.44635e-05, 6.66953e-05, 2.96424e-05, 2.96424e-05, 3.7053e-05, 2.96424e-05, 3.7053e-05, 5.18741e-05, 7.41059e-06, 2.22318e-05, 5.92847e-05, 2.96424e-05, 2.22318e-05, 2.22318e-05, 8.15165e-05, 1.48212e-05, 4.44635e-05, 2.22318e-05, 4.44635e-05, 2.22318e-05, 3.7053e-05, 2.22318e-05, 8.15165e-05, 3.7053e-05, 3.7053e-05, 5.92847e-05, 1.48212e-05, 1.48212e-05, 1.48212e-05, 1.48212e-05, 0.000207497, 3.7053e-05, 2.96424e-05, 3.7053e-05, 3.7053e-05, 1.48212e-05, 3.7053e-05, 1.48212e-05, 0.00012598, 2.96424e-05, 2.22318e-05, 2.96424e-05, 2.22318e-05, 2.96424e-05, 2.22318e-05, 2.96424e-05, 4.44635e-05, 2.22318e-05, 2.96424e-05, 3.7053e-05, 1.48212e-05, 2.22318e-05, 2.22318e-05, 2.96424e-05, 2.96424e-05, 2.96424e-05, 1.48212e-05, 2.22318e-05, 1.48212e-05, 1.48212e-05, 2.96424e-05, 1.48212e-05, 2.22318e-05, 1.48212e-05, 2.96424e-05, 1.48212e-05, 1.48212e-05, 1.48212e-05, 1.48212e-05, 7.41059e-06, 6.66953e-05, 1.48212e-05, 2.96424e-05, 2.96424e-05, 2.22318e-05, 1.48212e-05, 7.41059e-06, 7.41059e-06, 7.41059e-06, 0, 2.96424e-05, 0, 2.22318e-05, 2.22318e-05, 1.48212e-05, 2.22318e-05, 7.41059e-06, 1.48212e-05, 7.41059e-06, 2.22318e-05, 2.22318e-05, 2.22318e-05, 7.41059e-06, 2.96424e-05, 0.000207497, 7.41059e-06, 2.96424e-05, 7.41059e-06, 7.41059e-06, 7.41059e-06, 7.41059e-06, 1.48212e-05, 7.41059e-06, 1.48212e-05, 7.41059e-06, 5.18741e-05, 7.41059e-06, 1.48212e-05, 1.48212e-05, 1.48212e-05, 8.15165e-05, 0, 1.48212e-05, 7.41059e-06, 1.48212e-05, 0, 7.41059e-06, 1.48212e-05, 2.96424e-05, 7.41059e-06, 2.22318e-05, 2.22318e-05, 2.22318e-05, 7.41059e-06, 3.7053e-05, 2.22318e-05, 7.41059e-06, 7.41059e-06, 7.41059e-06, 1.48212e-05, 4.44635e-05, 2.22318e-05, 7.41059e-06, 1.48212e-05, 2.22318e-05, 2.22318e-05, 0, 1.48212e-05, 0, 2.96424e-05, 1.48212e-05, 7.41059e-06, 0.000118569, 2.96424e-05, 7.41059e-06, 1.48212e-05, 1.48212e-05, 2.22318e-05, 1.48212e-05, 7.41059e-06, 1.48212e-05, 1.48212e-05, 5.18741e-05, 7.41059e-06, 0, 0, 1.48212e-05, 2.22318e-05, 0.000185265, 0, 2.22318e-05, 0, 7.41059e-06, 0, 3.7053e-05, 0, 3.7053e-05, 0, 3.7053e-05, 0, 3.7053e-05, 0, 4.44635e-05, 0, 7.41059e-05, 0, 1.48212e-05, 0, 1.48212e-05, 0, 4.44635e-05, 0, 5.92847e-05, 0, 0, 0, 2.96424e-05, 0, 2.96424e-05, 0, 7.41059e-06, 0, 2.22318e-05, 0, 2.96424e-05, 0, 2.22318e-05, 0, 1.48212e-05, 0, 2.96424e-05, 0, 1.48212e-05, 0, 2.22318e-05, 0, 3.7053e-05, 0, 1.48212e-05, 0, 1.48212e-05, 0, 2.22318e-05, 0, 1.48212e-05, 0, 2.22318e-05, 0, 2.22318e-05, 0, 7.41059e-06, 0, 7.41059e-05, 0, 1.48212e-05, 0, 2.96424e-05, 0, 1.48212e-05, 0, 1.48212e-05, 0, 1.48212e-05, 0, 1.48212e-05, 0, 2.22318e-05, 0, 7.41059e-06, 0, 0, 0, 2.22318e-05, 0, 1.48212e-05, 0, 2.96424e-05, 0, 2.22318e-05, 0, 2.22318e-05, 0, 0, 0, 5.18741e-05, 0, 3.7053e-05, 0, 7.41059e-06, 0, 2.96424e-05, 0, 4.44635e-05, 0, 2.22318e-05, 0, 2.22318e-05, 0, 2.96424e-05, 0, 0.000207497, 0, 2.96424e-05, 0, 2.96424e-05, 0, 3.7053e-05, 0, 1.48212e-05, 0, 3.7053e-05, 0, 1.48212e-05, 0, 2.96424e-05, 0, 0.000155622, 0, 1.48212e-05, 0, 7.41059e-06, 0, 2.96424e-05, 0, 2.22318e-05, 0, 4.44635e-05, 0, 1.48212e-05, 0, 3.7053e-05, 0, 2.96424e-05, 0, 2.22318e-05, 0, 1.48212e-05, 0, 7.41059e-06, 0, 7.41059e-06, 0, 2.22318e-05, 0, 2.96424e-05, 0, 7.41059e-06, 0, 1.48212e-05, 0, 2.22318e-05, 0, 7.41059e-06, 0, 2.96424e-05, 0, 7.41059e-06, 0, 0, 0, 0, 0, 2.96424e-05, 0, 2.96424e-05, 0, 3.7053e-05, 0, 2.22318e-05, 0, 7.41059e-06, 0, 8.89271e-05, 0, 0, 0, 7.41059e-06, 0, 2.96424e-05, 0, 5.92847e-05, 0, 1.48212e-05, 0, 2.96424e-05, 0, 7.41059e-06, 0, 2.22318e-05, 0, 1.48212e-05, 0, 2.96424e-05, 0, 0, 0, 1.48212e-05, 0, 2.22318e-05, 0, 1.48212e-05, 0, 7.41059e-06};
static constexpr double kMemcpyGoogleS[] = {0.0184049, 0.0306748, 0.00613497, 0.0122699, 0.0306748, 0.0122699, 0.0245399, 0.0245399, 0.00613497, 0.0122699, 0.00613497, 0.0122699, 0.0490798, 0.0920245, 0.0122699, 0, 0.0122699, 0.00613497, 0.147239, 0.239264, 0.00613497, 0.0184049, 0.0245399, 0, 0.0122699, 0.00613497, 0.00613497, 0.0122699, 0.00613497, 0, 0, 0.00613497, 0, 0, 0, 0.00613497, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.00613497, 0, 0.00613497, 0, 0, 0, 0, 0, 0, 0, 0, 0.0184049, 0, 0, 0.00613497, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.00613497, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.0122699, 0, 0.00613497, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.00613497, 0, 0, 0, 0, 0, 0, 0.00613497, 0.00613497, 0, 0.0122699, 0.0122699, 0, 0, 0, 0, 0.00613497, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.00613497, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.00613497, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.00613497, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.00613497, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.00613497};
static constexpr double kMemcpyGoogleU[] = {0.02843, 0.025555, 0.00303466, 0.00239578, 0.0971091, 0.0247564, 0.00543044, 0.0367353, 0.00798594, 0.0033541, 0.01134, 0.0105414, 0.0635681, 0.00782623, 0.0116595, 0.0059096, 0.468296, 0.00127775, 0.00287494, 0.00383325, 0.00191663, 0.000638876, 0.00319438, 0.00159719, 0.00175691, 0.000638876, 0.000479157, 0.00127775, 0.00111803, 0.000638876, 0.00111803, 0.00127775, 0.00111803, 0.00111803, 0.00127775, 0.0220412, 0.00111803, 0.00111803, 0.00159719, 0.00111803, 0.00159719, 0.00191663, 0.000638876, 0.00111803, 0.000958313, 0.000638876, 0.00127775, 0.000958313, 0.000798594, 0.00127775, 0.00686791, 0.00670819, 0.000638876, 0.00159719, 0.00111803, 0.00127775, 0.00127775, 0.000319438, 0.000798594, 0.00143747, 0.000638876, 0.00127775, 0.000798594, 0.00143747, 0.000638876, 0.00159719, 0.000479157, 0.000798594, 0.000638876, 0.000638876, 0.000638876, 0.000798594, 0.00175691, 0.000958313, 0.00127775, 0.00207635, 0.000798594, 0.00143747, 0.000798594, 0.000798594, 0.00143747, 0.00143747, 0.000479157, 0.000638876, 0.00127775, 0.000159719, 0.00111803, 0.000798594, 0.00111803, 0.00111803, 0.00175691, 0.00127775, 0.00111803, 0.000958313, 0.000958313, 0.000319438, 0.00175691, 0.000958313, 0.00111803, 0.00111803, 0.00127775, 0.000958313, 0.00127775, 0.00127775, 0.00143747, 0.000958313, 0.00127775, 0.00127775, 0.00111803, 0.000798594, 0.000479157, 0.000798594, 0.00111803, 0.00127775, 0.000638876, 0.00127775, 0.000798594, 0.000958313, 0.000479157, 0.000638876, 0.00111803, 0.000958313, 0.000798594, 0.000798594, 0.000798594, 0.000479157, 0.000958313, 0.000638876, 0.00127775, 0, 0, 0, 0.000159719, 0, 0, 0, 0, 0.000319438, 0, 0, 0.000319438, 0, 0.000159719, 0, 0.000159719, 0, 0.000159719, 0.000319438, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.000159719, 0, 0.000159719, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.000319438, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.000159719, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.000159719, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.000319438, 0, 0, 0, 0, 0, 0, 0.000159719, 0, 0, 0, 0.000159719, 0, 0, 0, 0, 0.000479157, 0.000159719, 0, 0.000159719, 0, 0, 0, 0, 0.000159719, 0, 0, 0.000159719, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.000479157, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.000159719, 0, 0, 0, 0, 0, 0, 0.000159719, 0, 0, 0, 0.000319438, 0, 0, 0, 0.000479157, 0, 0, 0, 0.000159719, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.000159719, 0, 0.000159719, 0, 0, 0, 0.000159719, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.000159719, 0, 0, 0, 0.000319438, 0, 0.000159719, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.000159719, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.000159719, 0, 0, 0, 0.000159719, 0, 0, 0, 0, 0, 0.000319438, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.000159719, 0, 0.000159719, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.000159719, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.000159719, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.000159719, 0, 0, 0, 0, 0.000798594, 0, 0, 0, 0.0159719, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.000159719, 0, 0.000159719, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.000159719, 0, 0, 0, 0.000159719, 0.000159719, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.000159719, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.000159719, 0, 0, 0, 0, 0, 0, 0.000159719, 0, 0, 0.000159719, 0, 0, 0, 0, 0, 0, 0, 0.000159719, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.000319438, 0, 0, 0, 0, 0, 0, 0, 0.000159719, 0.000159719, 0, 0, 0, 0, 0.000159719, 0, 0, 0, 0, 0, 0.000159719, 0, 0, 0, 0, 0.00111803, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.000159719, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.000159719};
static constexpr double kMemcpyGoogleW[] = {0.0199353, 0.0245151, 0.102101, 0.0301724, 0.0347522, 0.0309806, 0.0242457, 0.0239763, 0.0360991, 0.0358297, 0.03125, 0.0188578, 0.0261315, 0.028556, 0.00942888, 0.0118534, 0.0282866, 0.0172414, 0.0180496, 0.0185884, 0.012931, 0.0145474, 0.00915948, 0.0107759, 0.0153556, 0.0115841, 0.00969828, 0.0123922, 0.0105065, 0.00996767, 0.0121228, 0.0107759, 0.0307112, 0.0102371, 0.00727371, 0.0113147, 0.00889009, 0.00915948, 0.00835129, 0.00915948, 0.0105065, 0.00484914, 0.00835129, 0.00538793, 0.00996767, 0.00538793, 0.00862069, 0.00511853, 0.00592672, 0.00565733, 0.00511853, 0.0080819, 0.00377155, 0.00404095, 0.00511853, 0.00457974, 0.00431034, 0.00296336, 0.00242457, 0.00404095, 0.00565733, 0.00188578, 0.00215517, 0.00242457, 0.0080819, 0.00080819, 0.00080819, 0.000269397, 0.00188578, 0.00161638, 0, 0.000269397, 0.00269397, 0.00107759, 0, 0.000269397, 0.000538793, 0, 0.000269397, 0.00134698, 0.00134698, 0.000538793, 0.000269397, 0.000269397, 0, 0, 0, 0.000538793, 0.00215517, 0.00080819, 0.000269397, 0.000269397, 0.000538793, 0.000538793, 0.00107759, 0.00161638, 0.00134698, 0.00296336, 0.000538793, 0.000269397, 0.000269397, 0.00134698, 0, 0.00107759, 0.00161638, 0, 0, 0, 0, 0, 0, 0.000269397, 0.00080819, 0.000269397, 0.00080819, 0, 0.000269397, 0.000269397, 0, 0, 0.00161638, 0.000269397, 0.000269397, 0, 0.000538793, 0, 0, 0, 0.00404095, 0, 0.000269397, 0.000269397, 0, 0.000269397, 0.000269397, 0.000269397, 0.000538793, 0.000269397, 0.000538793, 0.000269397, 0, 0.000538793, 0.000269397, 0, 0.000538793, 0.000269397, 0, 0, 0, 0.000269397, 0.000269397, 0.000269397, 0.00080819, 0.000269397, 0.000538793, 0, 0.000269397, 0.000269397, 0.000538793, 0.000269397, 0.000538793, 0, 0, 0.000269397, 0, 0.000269397, 0.000269397, 0, 0.000269397, 0.000269397, 0.000269397, 0, 0, 0, 0, 0, 0.000269397, 0, 0, 0, 0, 0.000269397, 0.000269397, 0, 0.000269397, 0, 0, 0, 0.000269397, 0, 0, 0.000269397, 0.000269397, 0.000269397, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.000269397, 0, 0, 0, 0, 0.000269397, 0, 0, 0, 0, 0, 0, 0.000538793, 0, 0.000269397, 0, 0, 0, 0, 0, 0.000269397, 0, 0.000269397, 0.000269397, 0, 0.000269397, 0.000269397, 0.000269397, 0, 0, 0, 0.000269397, 0, 0.000269397, 0, 0, 0, 0.000269397, 0, 0, 0.000269397, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.00215517};
static constexpr double kMemcpyUniform384To4096[] = {0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1, 1};
static constexpr double kMemsetGoogleB[] = {0, 0, 0, 0, 0, 0, 0, 0, 0.0681818, 0, 0, 0, 0, 0, 0.5, 0, 0.0227273, 0, 0, 0, 0, 0, 0.0227273, 0, 0.0454545, 0.0227273, 0, 0, 0, 0, 0, 0.0227273, 0.0227273, 0, 0, 0, 0, 0, 0, 0.0227273, 0.0227273, 0, 0, 0, 0, 0, 0, 0, 0.0454545, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.0227273, 0, 0, 0, 0, 0, 0, 0, 0.0227273, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.0681818, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.0227273, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.0227273, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.0227273};
static constexpr double kMemsetGoogleD[] = {0.0243902, 0, 0, 0, 0, 0, 0, 0, 0.0487805, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.0243902, 0, 0, 0, 0, 0, 0, 0.0609756, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.0121951, 0, 0, 0, 0.0121951, 0, 0, 0, 0.0365854, 0, 0, 0, 0, 0, 0, 0, 0.0121951, 0, 0, 0, 0, 0, 0, 0, 0.0609756, 0, 0, 0, 0, 0, 0, 0, 0.0243902, 0, 0, 0, 0, 0, 0, 0, 0.0121951, 0, 0, 0, 0, 0, 0, 0, 0.0609756, 0, 0, 0, 0, 0, 0, 0, 0.0487805, 0, 0, 0, 0, 0, 0, 0, 0.0243902, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.0853659, 0, 0, 0, 0, 0, 0, 0, 0.0487805, 0, 0, 0, 0, 0, 0, 0, 0.0121951, 0, 0, 0, 0, 0, 0, 0, 0.0853659, 0, 0, 0, 0, 0, 0, 0, 0.0731707, 0, 0, 0, 0, 0, 0, 0, 0.0365854, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.0121951, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.0243902, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.0365854, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.0121951, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.0121951, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.0121951, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.0121951, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.0365854, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.0365854};
static constexpr double kMemsetGoogleQ[] = {0, 0, 0.00431894, 0.00548173, 0.00332226, 0.00249169, 0.00365449, 0.00265781, 0.0038206, 0.00232558, 0.00232558, 0.00299003, 0.00249169, 0.000830565, 0.000996678, 0.00116279, 0.00348837, 0.0013289, 0.000996678, 0.000166113, 0.000498339, 0.000830565, 0.00116279, 0.000664452, 0.000830565, 0.0013289, 0.000996678, 0.000498339, 0.000664452, 0, 0.000664452, 0.00215947, 0.20814, 0.0013289, 0.000332226, 0.000332226, 0.000498339, 0.000498339, 0.000830565, 0.000332226, 0.000498339, 0.000664452, 0.000166113, 0.000166113, 0.000664452, 0.000498339, 0.000498339, 0.000996678, 0.000664452, 0, 0.000498339, 0.000166113, 0.000166113, 0, 0.000332226, 0.000332226, 0.0543189, 0, 0.000498339, 0.000332226, 0.000332226, 0.000332226, 0.000166113, 0, 0.0601329, 0.000166113, 0.000166113, 0, 0, 0, 0.000332226, 0.000332226, 0.157807, 0, 0.000332226, 0.000166113, 0.000996678, 0, 0, 0.0013289, 0.123588, 0, 0.000166113, 0.000166113, 0.00282392, 0.000166113, 0, 0.000166113, 0.0330565, 0.000166113, 0, 0, 0.000166113, 0.000166113, 0.000166113, 0, 0.0129568, 0.000166113, 0.000166113, 0.000332226, 0.00182724, 0, 0, 0.000166113, 0.0126246, 0.000166113, 0.000166113, 0.000332226, 0.000664452, 0.000166113, 0, 0.000332226, 0.0166113, 0, 0.000166113, 0, 0.0013289, 0.000166113, 0, 0, 0.000166113, 0, 0, 0, 0.00199336, 0.00664452, 0, 0, 0, 0, 0, 0, 0.000498339, 0, 0, 0, 0.000166113, 0, 0, 0, 0.000498339, 0, 0, 0.000498339, 0.000166113, 0, 0, 0, 0, 0, 0, 0, 0.000332226, 0, 0, 0, 0.0013289, 0, 0, 0, 0.00232558, 0, 0, 0, 0.00166113, 0, 0, 0, 0, 0, 0, 0, 0.00166113, 0, 0, 0, 0.00647841, 0, 0, 0, 0, 0, 0, 0, 0.000830565, 0, 0, 0, 0.000498339, 0, 0, 0, 0.0702658, 0, 0, 0, 0.00149502, 0, 0, 0, 0.00166113, 0, 0, 0, 0.00182724, 0, 0, 0, 0.000166113, 0, 0, 0, 0.00282392, 0, 0, 0, 0.00299003, 0, 0, 0, 0, 0, 0, 0, 0.0121262, 0, 0, 0, 0, 0, 0, 0, 0.0038206, 0, 0, 0, 0.00215947, 0, 0, 0, 0.000498339, 0, 0, 0, 0.00365449, 0, 0, 0, 0.00448505, 0, 0, 0, 0.00199336, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.0013289, 0, 0, 0, 0, 0, 0, 0.0162791, 0.00116279, 0, 0, 0, 0.00365449, 0, 0, 0, 0.000664452, 0, 0, 0, 0.000498339, 0, 0, 0, 0.00149502, 0, 0, 0, 0.0013289, 0, 0, 0, 0.00448505, 0, 0, 0, 0.00199336, 0, 0, 0, 0.00265781, 0, 0, 0, 0, 0, 0, 0, 0.000996678, 0, 0, 0, 0, 0, 0, 0, 0.00265781, 0, 0, 0, 0.000332226, 0, 0, 0, 0.00232558, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.000332226, 0, 0, 0, 0.000166113, 0, 0, 0, 0.00282392, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.000830565, 0, 0, 0, 0.000664452, 0, 0, 0, 0, 0, 0, 0, 0.000166113, 0, 0, 0, 0, 0, 0, 0, 0.00116279, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.000332226, 0, 0, 0, 0, 0, 0, 0, 0.000830565, 0, 0, 0, 0, 0, 0, 0, 0.00149502, 0, 0, 0, 0.00199336, 0, 0, 0, 0.000664452, 0, 0, 0, 0, 0, 0, 0, 0.00166113, 0, 0, 0, 0, 0, 0, 0, 0.000830565, 0, 0, 0, 0, 0, 0, 0, 0.000996678, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.00199336, 0, 0, 0, 0, 0, 0, 0, 0.000664452, 0, 0, 0, 0, 0, 0, 0, 0.000166113, 0, 0, 0, 0.0285714, 0, 0, 0, 0.000664452, 0, 0, 0, 0, 0, 0, 0, 0.000664452, 0, 0, 0, 0, 0, 0, 0, 0.000166113, 0, 0, 0, 0.000166113, 0, 0, 0, 0, 0, 0, 0, 0.00215947, 0, 0, 0, 0, 0, 0, 0, 0.0038206, 0, 0, 0, 0.000332226, 0, 0, 0, 0.000332226, 0, 0, 0, 0, 0, 0, 0, 0.000664452, 0, 0, 0, 0, 0, 0, 0, 0.000830565, 0, 0, 0, 0, 0, 0, 0, 0.000166113, 0, 0, 0, 0, 0, 0, 0, 0.000996678, 0, 0, 0, 0, 0, 0, 0, 0.000166113, 0, 0, 0, 0.000498339, 0, 0, 0, 0.000996678, 0, 0, 0, 0.00182724, 0, 0, 0, 0, 0, 0, 0, 0.000498339, 0, 0, 0, 0, 0, 0, 0, 0.000166113, 0, 0, 0, 0, 0, 0, 0, 0.000332226};
static constexpr double kMemsetGoogleU[] = {0.10641, 0.0986191, 0.0200672, 0.00420913, 0.150642, 0.0275624, 0.00276916, 0.00328607, 0.323364, 0.128138, 0.0109843, 0.00352607, 0.00149535, 0.00193841, 0.000443066, 0.000719982, 0.0143073, 0.0152119, 0.000479988, 0.0146396, 0.00123689, 0.000184611, 9.23054e-05, 0.00670137, 0.00535371, 0, 7.38443e-05, 7.38443e-05, 0.000553833, 5.53833e-05, 0.000147689, 0.00625831, 0.000406144, 5.53833e-05, 1.84611e-05, 1.84611e-05, 0.000350761, 0, 0, 9.23054e-05, 0.000276916, 0, 0.000110767, 0, 0.000129228, 0.000129228, 0, 0.00203072, 0.000239994, 1.84611e-05, 0, 3.69222e-05, 0.000184611, 3.69222e-05, 5.53833e-05, 0, 9.23054e-05, 0.000110767, 0, 3.69222e-05, 0.000129228, 3.69222e-05, 5.53833e-05, 3.69222e-05, 0.00917516, 1.84611e-05, 0, 0, 0.000184611, 0, 0, 0, 0.00695983, 0, 0, 0, 3.69222e-05, 0, 3.69222e-05, 0.00143996, 0.000129228, 7.38443e-05, 0, 1.84611e-05, 7.38443e-05, 0, 1.84611e-05, 1.84611e-05, 7.38443e-05, 1.84611e-05, 3.69222e-05, 3.69222e-05, 1.84611e-05, 3.69222e-05, 0, 3.69222e-05, 0.000147689, 0, 1.84611e-05, 1.84611e-05, 0, 1.84611e-05, 1.84611e-05, 1.84611e-05, 9.23054e-05, 5.53833e-05, 0.00529833, 3.69222e-05, 5.53833e-05, 0, 1.84611e-05, 1.84611e-05, 0.00016615, 0, 1.84611e-05, 3.69222e-05, 3.69222e-05, 9.23054e-05, 0, 1.84611e-05, 5.53833e-05, 0, 0, 3.69222e-05, 0, 0, 1.84611e-05, 0, 0.000110767, 0, 0, 0, 0.000110767, 0, 0, 3.69222e-05, 0.000110767, 0, 0, 0, 0, 3.69222e-05, 0, 0.00125535, 1.84611e-05, 0, 0, 3.69222e-05, 0, 0, 1.84611e-05, 0, 1.84611e-05, 1.84611e-05, 0, 0, 1.84611e-05, 0, 0, 5.53833e-05, 1.84611e-05, 0, 3.69222e-05, 0, 0, 1.84611e-05, 0, 0, 0, 0, 0, 1.84611e-05, 0, 0, 1.84611e-05, 0, 5.53833e-05, 0, 0, 0, 0, 0, 0, 0, 1.84611e-05, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.84611e-05, 0, 0, 1.84611e-05, 0, 3.69222e-05, 1.84611e-05, 0, 0, 1.84611e-05, 0, 0, 0, 1.84611e-05, 0, 0, 0, 0, 0, 0, 0, 3.69222e-05, 0, 0, 0, 1.84611e-05, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3.69222e-05, 0, 0, 0, 0, 0, 0, 0, 3.69222e-05, 0, 0, 0, 0, 0, 0, 0, 3.69222e-05, 0, 0, 7.38443e-05, 0, 0, 0, 0, 5.53833e-05, 0, 0, 0, 0, 0, 0, 0.000313838, 5.53833e-05, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.84611e-05, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.000203072, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.84611e-05, 1.84611e-05, 0, 0, 0, 0, 0, 0, 3.69222e-05, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.84611e-05, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.84611e-05, 1.84611e-05, 0, 0, 0, 0, 0, 0, 0, 3.69222e-05, 5.53833e-05, 0, 0, 0, 0, 0, 0, 0.000590755, 0, 0, 0, 0, 0, 0, 0, 7.38443e-05, 0, 0, 0, 0, 0, 0, 0, 3.69222e-05, 0, 0, 0, 0, 0, 0, 0, 1.84611e-05, 0, 0, 0, 0, 1.84611e-05, 0, 0, 5.53833e-05, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.84611e-05, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.84611e-05, 0, 0, 0, 0, 0, 0, 0, 5.53833e-05, 0, 1.84611e-05, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.84611e-05, 0, 1.84611e-05, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.84611e-05, 0, 0, 0, 0, 0, 1.84611e-05, 0, 1.84611e-05, 0, 0, 0, 0, 0, 0, 0, 1.84611e-05, 0, 0, 0, 0, 0, 0, 0, 3.69222e-05, 0, 0, 0, 0, 0, 0, 0, 0.0136058, 0, 0, 0, 0, 0, 0, 0, 1.84611e-05, 0, 0, 0, 0, 0, 0, 0.000203072, 1.84611e-05, 0, 0, 0, 0, 0, 0, 0, 1.84611e-05, 0, 0, 0, 0, 0, 0, 0, 0.000239994, 0, 1.84611e-05, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5.53833e-05, 0, 0, 0, 0, 0, 0, 0, 0.000203072, 0, 0, 0, 0, 0, 0, 0, 3.69222e-05, 0, 0, 0, 0, 0, 0, 0, 0.000129228, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.84611e-05, 1.84611e-05, 0, 1.84611e-05, 0, 0, 0, 0, 0, 0, 0, 1.84611e-05, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5.53833e-05, 0, 0, 0, 0, 0, 0, 0, 3.69222e-05, 0, 0, 0, 0, 0, 0, 0, 3.69222e-05, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 5.53833e-05, 0, 0, 0, 0, 0, 0, 0, 0.000110767, 0, 0, 0, 0, 0, 0, 0, 3.69222e-05, 0, 0, 0, 0, 0, 0, 0, 3.69222e-05, 0, 0, 0, 0, 0, 0, 0, 7.38443e-05, 0, 0, 0, 0, 0, 0, 0, 1.84611e-05, 0, 0, 0, 0, 0, 0, 0, 5.53833e-05, 0, 0, 0, 0, 0, 0, 0, 3.69222e-05, 0, 0, 0, 0, 0, 0, 0, 3.69222e-05, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.84611e-05, 0, 0, 0, 0, 0, 0, 0, 5.53833e-05, 0, 0, 0, 0, 0, 0, 0, 3.69222e-05, 0, 0, 0, 0, 0, 0, 0, 1.84611e-05, 0, 0, 0, 0, 0, 0, 0, 7.38443e-05, 0, 0, 0, 0, 0, 0, 0, 1.84611e-05, 0, 0, 0, 0, 0, 1.84611e-05, 0, 3.69222e-05, 0, 0, 0, 0, 0, 0, 0, 9.23054e-05, 0, 0, 0, 0, 0, 0, 0, 0, 1.84611e-05, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.84611e-05, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.84611e-05, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.84611e-05, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.84611e-05, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0.000701521, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 7.38443e-05, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.84611e-05, 0, 0, 0, 0, 0, 0, 0, 0, 1.84611e-05, 0, 0, 0, 0, 0, 0, 1.84611e-05, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.84611e-05, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.84611e-05, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.84611e-05, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.84611e-05, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 3.69222e-05, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.84611e-05, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.84611e-05, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.84611e-05, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.84611e-05, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 0, 1.84611e-05};
// clang-format on
ArrayRef<MemorySizeDistribution> getMemcpySizeDistributions() {
static constexpr MemorySizeDistribution kDistributions[] = {
{"memcpy Google A", kMemcpyGoogleA},
{"memcpy Google B", kMemcpyGoogleB},
{"memcpy Google D", kMemcpyGoogleD},
{"memcpy Google L", kMemcpyGoogleL},
{"memcpy Google M", kMemcpyGoogleM},
{"memcpy Google Q", kMemcpyGoogleQ},
{"memcpy Google S", kMemcpyGoogleS},
{"memcpy Google U", kMemcpyGoogleU},
{"memcpy Google W", kMemcpyGoogleW},
{"uniform 384 to 4096", kMemcpyUniform384To4096},
};
return kDistributions;
}
ArrayRef<MemorySizeDistribution> getMemsetSizeDistributions() {
static constexpr MemorySizeDistribution kDistributions[] = {
{"memset Google B", kMemsetGoogleB},
{"memset Google D", kMemsetGoogleD},
{"memset Google Q", kMemsetGoogleQ},
{"memset Google U", kMemsetGoogleU},
};
return kDistributions;
}
ArrayRef<MemorySizeDistribution> getMemcmpSizeDistributions() {
static constexpr MemorySizeDistribution kDistributions[] = {
{"memcmp Google A", kMemcmpGoogleA}, {"memcmp Google B", kMemcmpGoogleB},
{"memcmp Google D", kMemcmpGoogleD}, {"memcmp Google L", kMemcmpGoogleL},
{"memcmp Google M", kMemcmpGoogleM}, {"memcmp Google Q", kMemcmpGoogleQ},
{"memcmp Google S", kMemcmpGoogleS}, {"memcmp Google U", kMemcmpGoogleU},
{"memcmp Google W", kMemcmpGoogleW},
};
return kDistributions;
}
} // namespace libc_benchmarks
} // namespace llvm