Here is a set of 999 unsigned long long integers with a hamming distance between any two values in the set of at least 23, together with the verification program:
Code: Select all
static const unsigned long long hv[] =
{
7266447313870364031,
4946485549665804864,
16945909448695747420,
16394063075524226720,
4873882236456199058,
14877448043947020171,
6740343660852211943,
13857871200353263164,
5249110015610582907,
1235879089597390050,
17320312680810499042,
16489141110565194782,
13520575722002588570,
14226945236717732373,
9383926873555417063,
11510704754157191257,
15864264574919463609,
6489677788245343319,
5112602299894754389,
10828930062652518694,
15942305434158995996,
236502320419669032,
14931360615268175698,
8904234204977263924,
12836915408046564963,
12120302420213647524,
15755110976537356441,
17251681303478610375,
18286145806977825275,
13075804672185204371,
12903857913610213846,
560691676108914154,
1074659097419704618,
14266121283820281686,
11696403736022963346,
12893913769120703138,
2511068401785704737,
3774730664208216065,
5083371700846102796,
9583498264570933637,
17119870085051257224,
5217910858257235075,
10949279256701751503,
15596196964072664893,
14097948002655599357,
5636498760852923045,
17618792803942051220,
13212228678420887626,
6210242862396777185,
1012818702180800310,
15299383925974515757,
974125122787311712,
1861591264068118966,
997568339582634050,
17981867688435687790,
9460108917638135678,
16172980638639374310,
15773550354402817866,
16475327524349230602,
13554353441017344755,
6788940719869959076,
11670856244972073775,
2488756775360218862,
2061695363573180185,
3566345954323888697,
6864898938209826895,
7198730565322227090,
10827695224855383989,
11016608897122070904,
3956319990205097495,
5804870313319323478,
8017203611194497730,
3310931575584983808,
5009341981771541845,
14415278059151389495,
6715939435439735925,
411419160297131328,
4522402260441335284,
3381955501804126859,
9219789505504949817,
11628184459157386459,
7242398879359936370,
13965005347172621081,
5806488997649497146,
10724207982663648949,
957364844878149318,
8197027112357634782,
12052913535387714920,
2889379661594013754,
10511508162402504492,
6801855569284252424,
16465954421598296115,
5975570403614438776,
3688303938005101774,
2210483654336887556,
6558785204455557683,
16822351800343061990,
7444710627467609883,
3200233909833521327,
3612068790453735040,
18266943104929747076,
1620389818516182276,
3906668377244742888,
5770016989916553752,
6384853777489155236,
10311708346636548706,
17771199061862790062,
12121348462972638971,
1257976447679270605,
3664184785462160180,
10718876134480663664,
3611366553819264523,
14492630642488100979,
2903980458593894032,
12026985381690317404,
15535375191850690266,
10333316143274529509,
16565481511572123421,
14237704570091006662,
6454343485137106900,
18107191819981188154,
3559348759319842667,
18059264986425101074,
3139684427605102737,
4715785502295754870,
11077531235278014145,
10637177623943913351,
10137911902863059694,
13719113891065284171,
13776316799690285717,
8687650838094264665,
3028124591188972359,
3982930188609442149,
13815150225221307677,
16924127046922196149,
5437280487207382147,
10760687291786964354,
216630713752669403,
10655207865433859491,
1524477318846038424,
3443401252003315103,
16860120454903458341,
15362920279125264094,
14358245326238118181,
4224273587485638227,
13919998707305829132,
14473305049457001422,
12955027028676000544,
17930425515478182741,
7466411836095405617,
10879629128927506091,
11502219301371200635,
4978473890680876319,
845759387067546611,
9092379465737744314,
7562781050481886043,
3514744284158856431,
14980707022065991200,
18294903201142729875,
8979482998667235743,
16495638000603654629,
17504300515449231559,
1406052433297386355,
3296968762229741153,
6214378374180465222,
11439178472613251620,
10972816599561388940,
10020049344596426576,
9381977959648494876,
15282520250746126790,
4891472444796201742,
4564628942836375772,
12627401038822728242,
8515217303152165705,
2836463788873877488,
5327734953288310341,
4193447453292207765,
8727015815475533844,
1794828640516310551,
839109216263472222,
11003569267662299508,
14818712892121773001,
11341937060697364828,
16294497818497013091,
7938847863410484112,
12460847944021797729,
8608832166868962581,
17282690963297781165,
5236305832299547005,
13653613720566641032,
12795694179935286147,
3619745730869440312,
7023474619158759074,
6411707388950674382,
11610566205662556902,
12720426256176311341,
963006111335524252,
12602026180005991793,
10977961698003017025,
14314905386630121264,
593861932304949197,
1759320944513001478,
9844433545111928009,
7516448510961597387,
6979677882708694852,
2623982553786190271,
10956409229583802704,
10773480483945135813,
15589196139318714477,
13992302356379003709,
4144556090023237143,
2683982833995814204,
14174237260119144415,
5498804830346368935,
10015422821119519276,
14006884420982275271,
15325155849418805462,
2337041946913300563,
17100624240218191776,
9703324598394127586,
17019689424591946956,
5780649476454802027,
14414929270030064142,
18404798721277276349,
13727527782081926783,
14049840052842737870,
13090081540345862947,
9489259826421593604,
11339178955354061847,
2431380992571392509,
13011028955371218345,
17577910823749512297,
6646205212361830820,
6563389574948647110,
5615534989929158531,
5753528745081333993,
1974805642753365513,
2848156987029842825,
17613615095014857579,
2011506583012245120,
2444313452813434980,
295943014965754495,
9882162289524262117,
12675922461078850762,
3834401558737001127,
866051294803417039,
2724626095286417021,
18307426813116457025,
17948009628770529172,
6685233615168851649,
13500066391123604136,
12479713940936428223,
9424117665582424405,
6039353791193701794,
6601976231243625663,
15224447585169584601,
2728973181524205713,
3462528993083828381,
11340412255977527276,
16097257884801829806,
15873188707503643756,
13772224761560358678,
13111754990776650992,
96905898085114986,
11176895769597467160,
600926880159025491,
17204915804540124261,
1144214061925539673,
6442316514250842898,
12890767762330780561,
1678595440397729949,
17555837092409264409,
11850798096946224952,
18347395534780169545,
2902301657143828160,
4513207106323818436,
7208587791955414370,
14036122687726750680,
5845312298939252013,
8658865064369425702,
17865168032283289844,
4257028217766215264,
6122026574733783975,
9170295234685582608,
4625842927060587645,
10364408876534383966,
3160614275850263182,
4048844641307615001,
9202228564570972667,
10244349660455576579,
4365624743606344104,
7914034060710558862,
14082118313143494030,
13893540545824007220,
12557303001492689466,
18034204128425921887,
340230915844217824,
13885363215660853141,
182790206115731779,
10275690770029126957,
2207732794522698303,
4015366832566852941,
3344126814245426647,
3418909431246792130,
18170060564269107324,
16825303559054309655,
3076199647024046233,
8592572442492131294,
13847613594546126389,
8025098507225669679,
9851016542364179299,
10069389887474709588,
6112305132354510512,
18059298976380052840,
6186105518604848851,
2104877594513762728,
3056571032953733,
1344029458328294184,
11681380657174477138,
5579944120707736744,
38527987932692056,
5019284574311325165,
11861800887103445942,
17678318898574268818,
17331386544906712071,
14625477349934894239,
9197216899815357998,
15895416949726083115,
1591794355990697234,
11846598379562363642,
1968673912932124150,
7694531300856204513,
12056737119287626344,
16294510520227781408,
1849214443991414572,
5204647870090191978,
14004367337513854673,
5094632487920517113,
6933045759333815331,
14735964389804262666,
1431787135216247150,
3027992589588197224,
15666375125344846699,
4967011828356632134,
9679911049165960321,
5759747806256240828,
3841970197407798734,
538876215104951112,
16738327113730050814,
4796759719169426917,
17526144157780855210,
4406271885088510609,
272679168754122071,
14117891565238258794,
6239715909555052601,
7331448258562910929,
11606443195551224899,
8233214365892470430,
3170421326472746759,
2532665202646579370,
5465487865142825507,
4288533736509213790,
11640137442758811293,
16473912850801955436,
1612487638443769146,
15199712313667690185,
15106844553931914257,
6143426764259491757,
972664709081254460,
8017518460018236671,
11529724129963821248,
13568352186393728922,
13655575427028990950,
9369396776556321785,
6740149707310754612,
12655055223902686386,
316739669461445705,
6378569413102905018,
3632760136062488749,
8236711185392647459,
14695725533898965208,
2917914788653649637,
14904065006021498857,
266141044306879911,
7789385148154111845,
9276496317333538947,
3649103956926581942,
8720151215550917497,
4068307906424987783,
15743036865071709307,
899343666030374137,
12803792226239136366,
8248569087391634204,
14570577633538746290,
18024782582587949048,
17994440334793743113,
6447785911588669456,
3796105823204027729,
7666445045503776980,
12454886681445086127,
1412939819494326923,
17743268430580248211,
12945634703337535830,
5730300706238953677,
17663059373094704715,
2805561707037079926,
376290161476154776,
18122210988913566163,
10080823601656395959,
14090238559147233762,
17941097701698322371,
15544416989640379719,
14256466529909301342,
13476108746956868517,
560073126797980624,
15840078975005802326,
17723856983309373632,
10960957671863881057,
14715668988943444743,
14853791396081808224,
18103339564082223846,
8695438280450667241,
14502185569048036116,
6773610541650113645,
9345536836128693432,
16870200170094625047,
9948947958385916645,
7609902932318462874,
10560240575947025563,
11912847058379669493,
11032566756363179838,
7150777503809066368,
1113352174879837739,
16433621322552428267,
1932875827204412222,
10122216141432847859,
15200026780478921060,
955438079876855847,
4390726732378888763,
4448489696876757548,
10483378997497959924,
12895655159111645470,
15055313665129522508,
9746481362587815484,
15593856518331513408,
12024766416872403891,
13319421147871442929,
7593615777716483669,
1316310554514291685,
6300303343646765998,
14990138932076746755,
12575731278303794469,
8616043469741522133,
5832251812528047834,
93558474256533534,
18067818861367010250,
14797889806118094651,
415543360438799158,
8194481953080600754,
5680356099160703410,
17502533412824746877,
6100828799957981067,
7168482564972963076,
3466436653047686102,
5424122980892706297,
3984433389958159180,
15910815059630032243,
8181619872058048777,
1661718840207068211,
13411569453877055172,
10911778211788973168,
6523296957524480156,
8757115845172666540,
15662809124003336360,
7090540720100204813,
7444425877460386815,
4829814737671235249,
13798208304107335546,
7007177217067526641,
14204094315557980993,
7739365733068891583,
10243365164320531876,
14898424495793766951,
11356786232039989287,
14252160528052174991,
9160514444749429801,
5414672451498595302,
7065189374087547575,
795488996564666104,
10198305958935766197,
10668714513951143326,
3419453460176799224,
9568203776865882506,
3384466374186365972,
1737271475564685705,
500593126082111186,
7660625790259624634,
11640848311215376089,
6537455579313128620,
142340399285261373,
11134370432859116258,
8842208967633864131,
7808693772246775283,
11818747394676272348,
13562795926694249981,
5093343192598484846,
6570900311512235738,
13122173297186705187,
4860828980266768693,
10983886834137974504,
8274301297846729936,
1797959588777595638,
375263153417117750,
16808921818031018405,
12622248215401065289,
13577234596739432319,
2424796270238574506,
13125995887770919878,
2977392890624223832,
4093525481259338150,
16298403536256340045,
15427825321755958043,
15494035220426340476,
17147049047817936382,
1979110379897059036,
11000661401608450307,
6611566949761648413,
3401463964417309033,
4369308028240848393,
4629081379435499768,
8990137430054332707,
15390525649802769016,
8074132056979870755,
1502161945191883513,
15167823569568572156,
1452783030375940330,
7909335555924414126,
11228236778200373849,
333233094234370048,
3318643278058236428,
7350236101554952157,
2658937705804712956,
9157021194503811342,
4635767814692501546,
9472003490482701807,
14356234451316843385,
5666566728962373778,
6240960044712709557,
4853952732146413086,
12952526968311338701,
3753748956078835983,
3872709083526657846,
13018369927512579537,
16928459174379279888,
12522125007431924253,
3383918517187096671,
2391045522916219463,
7748575613834223204,
4875548245595043864,
7270052715795133625,
6639863592001348421,
2012415473511352736,
11510402350156337009,
5789823010686330324,
18432989548752008190,
12284635513482943602,
16410340887848707921,
15553439284678492869,
13581209645191346986,
4096124489634445925,
8883900193884873096,
8246194633265787216,
17378232394989440181,
10543506148110863377,
6755989823836673353,
3854356919633216030,
10224221529230178237,
14956254920679686223,
11801122998951810396,
3832732292965167475,
3707192126699181012,
6952415589146728859,
8750388019701674489,
17530209217594959360,
14341608797835247858,
10249335584835312966,
15866751467596828883,
7845691477505129009,
15107198132661562823,
5600819723908136519,
14302607041357787669,
12592339570245237590,
556013807694270877,
531019300009435734,
17405486901069728290,
10665301228830556232,
16596696244711642791,
2214265345799230874,
8211244747951370630,
1322702445802452360,
713957012861037567,
10160909976287599756,
7473839231027950791,
12009676050495040019,
17652896452431720200,
10012325529988667694,
17960546758549620300,
8618667949242292449,
9887427400366272555,
12810530938231017467,
16984140304864748092,
3849244442929899044,
9046295126901750094,
13058665224411221464,
10218436031304141519,
1280781496668643066,
13488117173221050851,
1839141432307921563,
7973005670583750543,
14198182450678473889,
7206447910448861965,
4583829617955212159,
1589777889987744679,
313752729175327821,
7334685460893112382,
8598844999483354885,
3148068724384283718,
13335650041995798543,
1567783345244299062,
14203279090208532847,
12790517611662709259,
11976962690517602127,
4240796256825381958,
16602097298936107154,
15325889890686687508,
5069060527078086642,
13186007042316633541,
11582242001616736704,
12352777335890633799,
18351815285787232877,
7546946471898304015,
12095073432274003250,
8944390674545152846,
12109793112259472258,
9364617114955433729,
6010702723051052021,
13930995795140946314,
3167987672766580849,
632596638386808620,
7779860973604876093,
7947654306390904990,
1675030658236680377,
11624999461433824079,
13440803808148012466,
7751032689193916523,
17117428786174840120,
6319126687835161224,
10826961732146985546,
11748002111746880620,
12131345684254666224,
9875426906550439942,
2333163570371212717,
12969390694073338316,
9212931111128487440,
15835166439425734989,
17508316415391944531,
7381706450201278935,
12470544854420395865,
12090754068074150285,
2191357356032384464,
17645697804267529825,
1816601009880919192,
4561120550537314832,
13507503391516994871,
2660396017750569835,
17755187334285783028,
2646529208403087750,
10388257665652935600,
14453582192751123442,
18110353644471153527,
3716954225262189308,
1686024430943572105,
5702968287454907620,
1956902727697937167,
17133775405710140992,
1068264636956363649,
6478024642121015779,
16238687947785625011,
9037794509879725763,
9492872233752812516,
3013075772257500841,
17861131227795523840,
3207568859556488759,
12647523883169324699,
2138904502201427544,
3275011697176927090,
15358214018396172571,
12992112402073705045,
16845554512649653215,
18742449639875519,
13596859891559196740,
13426075886730108038,
11498193401679392747,
16554918849778015914,
6693259110504680952,
11068007414114481498,
15031600615271110846,
16915039384378332941,
16965971652048442808,
2805228884283956864,
13266457154030204801,
9113356832988394628,
4752139457708102565,
9374187400479837644,
7987308013595423555,
11335557882091649491,
6564107756504388667,
16676671079038635603,
14389610754465776508,
12208907610723030280,
1404207627336892455,
18129093985541615599,
3011957003813591363,
5103731539216620120,
11985408831071816364,
8886212782077038379,
15499287571778887269,
6115644674788544842,
6940921379544017100,
12008303302613859394,
4327726256281669977,
17396637511609480109,
17522490609682186116,
10764289495492126947,
15846495635508069559,
4006579737119843560,
8501453419409626034,
14902345471454293510,
8209387058803615393,
5879028109713426756,
14379486780292781325,
3662741253618663411,
15089075459218275296,
8982422692653457875,
15825534325394635716,
4160847737723961071,
7522695362760546344,
6944892085190875384,
9006190430756193652,
16537475877644756205,
10391543545289139615,
9468957811727775505,
2874535243372953467,
16610417466473455962,
5432043386984263822,
11300736915872747595,
11175465018812210620,
5346505397788459142,
17382992222512285672,
18416667481474744028,
15729805885816281093,
528619548661104339,
4193727026216190840,
8540759065024435797,
12809588388077246964,
4157381666307796279,
13439545384268686349,
10476601131560645152,
14635021400113324010,
7385869810852767216,
17489804380727317749,
473178655303644430,
6824661581052651634,
14493986231731557855,
17888886488826311210,
14413582266175909482,
2437572569965628929,
12774941764325664375,
11201369941043626547,
11495541249571049899,
12839439816503949388,
14846618736338472665,
16650820008437737103,
9948580981250172830,
5184041577668404165,
10379222904510705383,
13832791432129388436,
12276909775202651292,
7410127810410338732,
12130683480226924607,
14017496135319544031,
6860653085190953429,
3443041819506891188,
693572503710819543,
3531472405562073275,
15668286819122906112,
15427477814700549439,
12073839964796618661,
17507605560077946920,
2455365195181918791,
5964998669248654874,
15447880721255769419,
4469176972055685202,
15211694042356568608,
3759814231605665372,
18168445266382181794,
6509891475561581108,
12124751967199354237,
17848311530842249744,
17627624472618765247,
1223563903634178192,
2918849287364629264,
2746577282574245190,
18249210529947804762,
1387152020856480609,
3855972378689829637,
14111119528432513185,
6580174121676077055,
18265787066455576602,
10691648861204636862,
6833173963338540739,
8454814670236484282,
15036345140247192881,
9105289581939367919,
16703249455563584555,
10569135442141345919,
397017240905668054,
126198906736958735,
16591722875182706201,
5736319088835606273,
15916827908810835259,
16321683770365590218,
4536445586451618173,
9199827198413403170,
2588029247400550403,
1504353623037103694,
16291177629896936087,
17607652200238400897,
8608613475795573363,
11073999877499529823,
6137426931543344516,
9904132037255723930,
8387063053307637544,
12799167212889110256,
1582138086466835469,
2152637828481304815,
9518572228217762038,
2667365841612231331,
4468008077840874014,
5701303945024779477,
1133342182672443762,
206906033204807862,
15966052328639450609,
5260887676802211741,
15828710583586904656,
3898888340173174836,
4579391617260611811,
14117269767630916245,
17192661558883417988,
14689134343744909693,
4822657501955836659,
150346449052704908,
10942678315341981259,
7179430164587258733,
8204158981571868481,
640897296224571805,
6929256402430803646,
744710678740529997,
17038755122004887380,
539869924635637454,
8370976664958749397,
8831157006671597648,
7530916665077962181,
17900183066115623108,
17313061461089263906,
13278934098831202435,
4649693218485093387,
6506128976922509898,
7156327130993769728,
13710825350502898857,
3847028599720329555,
15300029126015513489,
5307296276797954524,
10307862905187684465,
1021419217831496571,
14814729549411911689,
9651103809455346390,
13705974836122304959,
2934250012830850394,
1712853947982808748,
3971845847600813666,
4312331471581529866,
18158963739227916677,
4912383497125342902,
11767805446709862191,
5837791797322372300,
4280839750317586285,
11441089604893336260,
15007142198094502655,
78558308018194092,
6157522927310358922,
10748914372014524199,
1087519451361903051,
8697875628307095161,
12370526051357691561,
14580162363352312186,
6906234220114905800,
4001992502751114884,
6835942929231201244,
10773061762698089520,
3739093069289124478,
17226616569160696743,
3746396185392507714,
11749010227716021739,
18329875333055196402,
9328805024168215232,
18326846329182336830,
7864113836212088352,
8632906575615437655,
9929602338341296210,
5488280487079477228,
14851515617797053839,
1067030296549639338,
8968692861934042231,
2264068556491491655,
1291626804503605983,
926535429656165596,
11543054245283292106,
7742218487250056129,
5071309935390453142,
16569502904543228770,
2351075752826326858,
17251784061974976237,
11936111316835082317,
6410718887407613269,
8743682305927613281,
13223740406949177527,
6725775953712621434,
12088678151477776184,
7320987977551321563,
9708960639464774335,
7750510303021212946,
319807175517368100,
9008098909015705346,
8161326682307968782,
12040500502698228123,
3723361754840518673,
12043010603003157382,
8186709246103764519,
4688644908017068344,
12405068012272178438,
7647822692436387928,
4174323561165921234,
11840856079710028784,
10598095989775503487,
4531327690212076505,
11130170404728345283,
7251550486653591614,
16403556223928989197,
1692227212702948779,
5821715994935656416,
2348166903701185144,
2456420171697933448,
7398215173361784370,
5614728521334926184,
3097952821735941358,
606973936486796656,
15730454819296692121,
1213589577758184919,
983310842898567098,
1022998234853242898,
17252118354085148356,
8771981983160803190,
13212782050966421171,
12569040577016007049,
7689723821800275588,
15893022330228492985,
4836043071250634654,
5976005588719377421,
17756007855636702326,
679258052061662094,
18326605743438352635,
3521322379055091096,
7903820533464214228,
13236630304901299465,
2302890026693203808,
2780201394556298152,
8416250861538231629,
18097311394382489158,
13895470892158899718,
11960304351885790173,
3657991612441973492,
16614898857769705685,
1447976981583137012,
3047035707044200937,
5779039202666699403,
641739833565391248,
16580648647756784598,
16754708488282152628
};
unsigned long long hamdist(unsigned long long x, unsigned long long y)
{
unsigned long long dist = 0,
val = x ^ y;
while (val) {
++dist;
val &= val - 1;
}
return dist;
}
#include <stdio.h>
#include <stdlib.h>
int main(void)
{
unsigned long long i,
j;
unsigned long long maxbad = 211,
totbad = 0;
unsigned long long len = sizeof hv / sizeof hv[0];
for (i = 0; i < len; i++) {
unsigned long long badcount = 0;
for (j = 0; j < len; j++) {
unsigned long long hd;
if (j == i)
continue;
hd = hamdist(hv[i], hv[j]);
if (hd < 23) {
badcount++;
printf("(%llu,%llu), hamdist(%llu,%llu)=%llu\n", i, j, hv[i], hv[j], hd);
}
}
if ((len - badcount) < 788) {
printf("hv[%llu]=%llu is bad\n", i, hv[i]);
totbad++;
}
}
if (totbad > maxbad)
printf("Too many bad values.\nMaximum 211 bad values can be tolerated but there were %llu.\n", totbad);
return 0;
}