TypeScript/tests/cases/compiler/enumLiteralsSubtypeReduction.ts
Vladimir Matveev ebb17e8019 do not apply subtype reduction if type set contains enum literals fro… (#11368)
* do not apply subtype reduction if type set contains enum literals from the same enum

* do not re-read symbol for the first enum

* addressed PR feedback
2016-10-04 16:32:16 -07:00

2055 lines
39 KiB
TypeScript

enum E {
E0,
E1,
E2,
E3,
E4,
E5,
E6,
E7,
E8,
E9,
E10,
E11,
E12,
E13,
E14,
E15,
E16,
E17,
E18,
E19,
E20,
E21,
E22,
E23,
E24,
E25,
E26,
E27,
E28,
E29,
E30,
E31,
E32,
E33,
E34,
E35,
E36,
E37,
E38,
E39,
E40,
E41,
E42,
E43,
E44,
E45,
E46,
E47,
E48,
E49,
E50,
E51,
E52,
E53,
E54,
E55,
E56,
E57,
E58,
E59,
E60,
E61,
E62,
E63,
E64,
E65,
E66,
E67,
E68,
E69,
E70,
E71,
E72,
E73,
E74,
E75,
E76,
E77,
E78,
E79,
E80,
E81,
E82,
E83,
E84,
E85,
E86,
E87,
E88,
E89,
E90,
E91,
E92,
E93,
E94,
E95,
E96,
E97,
E98,
E99,
E100,
E101,
E102,
E103,
E104,
E105,
E106,
E107,
E108,
E109,
E110,
E111,
E112,
E113,
E114,
E115,
E116,
E117,
E118,
E119,
E120,
E121,
E122,
E123,
E124,
E125,
E126,
E127,
E128,
E129,
E130,
E131,
E132,
E133,
E134,
E135,
E136,
E137,
E138,
E139,
E140,
E141,
E142,
E143,
E144,
E145,
E146,
E147,
E148,
E149,
E150,
E151,
E152,
E153,
E154,
E155,
E156,
E157,
E158,
E159,
E160,
E161,
E162,
E163,
E164,
E165,
E166,
E167,
E168,
E169,
E170,
E171,
E172,
E173,
E174,
E175,
E176,
E177,
E178,
E179,
E180,
E181,
E182,
E183,
E184,
E185,
E186,
E187,
E188,
E189,
E190,
E191,
E192,
E193,
E194,
E195,
E196,
E197,
E198,
E199,
E200,
E201,
E202,
E203,
E204,
E205,
E206,
E207,
E208,
E209,
E210,
E211,
E212,
E213,
E214,
E215,
E216,
E217,
E218,
E219,
E220,
E221,
E222,
E223,
E224,
E225,
E226,
E227,
E228,
E229,
E230,
E231,
E232,
E233,
E234,
E235,
E236,
E237,
E238,
E239,
E240,
E241,
E242,
E243,
E244,
E245,
E246,
E247,
E248,
E249,
E250,
E251,
E252,
E253,
E254,
E255,
E256,
E257,
E258,
E259,
E260,
E261,
E262,
E263,
E264,
E265,
E266,
E267,
E268,
E269,
E270,
E271,
E272,
E273,
E274,
E275,
E276,
E277,
E278,
E279,
E280,
E281,
E282,
E283,
E284,
E285,
E286,
E287,
E288,
E289,
E290,
E291,
E292,
E293,
E294,
E295,
E296,
E297,
E298,
E299,
E300,
E301,
E302,
E303,
E304,
E305,
E306,
E307,
E308,
E309,
E310,
E311,
E312,
E313,
E314,
E315,
E316,
E317,
E318,
E319,
E320,
E321,
E322,
E323,
E324,
E325,
E326,
E327,
E328,
E329,
E330,
E331,
E332,
E333,
E334,
E335,
E336,
E337,
E338,
E339,
E340,
E341,
E342,
E343,
E344,
E345,
E346,
E347,
E348,
E349,
E350,
E351,
E352,
E353,
E354,
E355,
E356,
E357,
E358,
E359,
E360,
E361,
E362,
E363,
E364,
E365,
E366,
E367,
E368,
E369,
E370,
E371,
E372,
E373,
E374,
E375,
E376,
E377,
E378,
E379,
E380,
E381,
E382,
E383,
E384,
E385,
E386,
E387,
E388,
E389,
E390,
E391,
E392,
E393,
E394,
E395,
E396,
E397,
E398,
E399,
E400,
E401,
E402,
E403,
E404,
E405,
E406,
E407,
E408,
E409,
E410,
E411,
E412,
E413,
E414,
E415,
E416,
E417,
E418,
E419,
E420,
E421,
E422,
E423,
E424,
E425,
E426,
E427,
E428,
E429,
E430,
E431,
E432,
E433,
E434,
E435,
E436,
E437,
E438,
E439,
E440,
E441,
E442,
E443,
E444,
E445,
E446,
E447,
E448,
E449,
E450,
E451,
E452,
E453,
E454,
E455,
E456,
E457,
E458,
E459,
E460,
E461,
E462,
E463,
E464,
E465,
E466,
E467,
E468,
E469,
E470,
E471,
E472,
E473,
E474,
E475,
E476,
E477,
E478,
E479,
E480,
E481,
E482,
E483,
E484,
E485,
E486,
E487,
E488,
E489,
E490,
E491,
E492,
E493,
E494,
E495,
E496,
E497,
E498,
E499,
E500,
E501,
E502,
E503,
E504,
E505,
E506,
E507,
E508,
E509,
E510,
E511,
E512,
E513,
E514,
E515,
E516,
E517,
E518,
E519,
E520,
E521,
E522,
E523,
E524,
E525,
E526,
E527,
E528,
E529,
E530,
E531,
E532,
E533,
E534,
E535,
E536,
E537,
E538,
E539,
E540,
E541,
E542,
E543,
E544,
E545,
E546,
E547,
E548,
E549,
E550,
E551,
E552,
E553,
E554,
E555,
E556,
E557,
E558,
E559,
E560,
E561,
E562,
E563,
E564,
E565,
E566,
E567,
E568,
E569,
E570,
E571,
E572,
E573,
E574,
E575,
E576,
E577,
E578,
E579,
E580,
E581,
E582,
E583,
E584,
E585,
E586,
E587,
E588,
E589,
E590,
E591,
E592,
E593,
E594,
E595,
E596,
E597,
E598,
E599,
E600,
E601,
E602,
E603,
E604,
E605,
E606,
E607,
E608,
E609,
E610,
E611,
E612,
E613,
E614,
E615,
E616,
E617,
E618,
E619,
E620,
E621,
E622,
E623,
E624,
E625,
E626,
E627,
E628,
E629,
E630,
E631,
E632,
E633,
E634,
E635,
E636,
E637,
E638,
E639,
E640,
E641,
E642,
E643,
E644,
E645,
E646,
E647,
E648,
E649,
E650,
E651,
E652,
E653,
E654,
E655,
E656,
E657,
E658,
E659,
E660,
E661,
E662,
E663,
E664,
E665,
E666,
E667,
E668,
E669,
E670,
E671,
E672,
E673,
E674,
E675,
E676,
E677,
E678,
E679,
E680,
E681,
E682,
E683,
E684,
E685,
E686,
E687,
E688,
E689,
E690,
E691,
E692,
E693,
E694,
E695,
E696,
E697,
E698,
E699,
E700,
E701,
E702,
E703,
E704,
E705,
E706,
E707,
E708,
E709,
E710,
E711,
E712,
E713,
E714,
E715,
E716,
E717,
E718,
E719,
E720,
E721,
E722,
E723,
E724,
E725,
E726,
E727,
E728,
E729,
E730,
E731,
E732,
E733,
E734,
E735,
E736,
E737,
E738,
E739,
E740,
E741,
E742,
E743,
E744,
E745,
E746,
E747,
E748,
E749,
E750,
E751,
E752,
E753,
E754,
E755,
E756,
E757,
E758,
E759,
E760,
E761,
E762,
E763,
E764,
E765,
E766,
E767,
E768,
E769,
E770,
E771,
E772,
E773,
E774,
E775,
E776,
E777,
E778,
E779,
E780,
E781,
E782,
E783,
E784,
E785,
E786,
E787,
E788,
E789,
E790,
E791,
E792,
E793,
E794,
E795,
E796,
E797,
E798,
E799,
E800,
E801,
E802,
E803,
E804,
E805,
E806,
E807,
E808,
E809,
E810,
E811,
E812,
E813,
E814,
E815,
E816,
E817,
E818,
E819,
E820,
E821,
E822,
E823,
E824,
E825,
E826,
E827,
E828,
E829,
E830,
E831,
E832,
E833,
E834,
E835,
E836,
E837,
E838,
E839,
E840,
E841,
E842,
E843,
E844,
E845,
E846,
E847,
E848,
E849,
E850,
E851,
E852,
E853,
E854,
E855,
E856,
E857,
E858,
E859,
E860,
E861,
E862,
E863,
E864,
E865,
E866,
E867,
E868,
E869,
E870,
E871,
E872,
E873,
E874,
E875,
E876,
E877,
E878,
E879,
E880,
E881,
E882,
E883,
E884,
E885,
E886,
E887,
E888,
E889,
E890,
E891,
E892,
E893,
E894,
E895,
E896,
E897,
E898,
E899,
E900,
E901,
E902,
E903,
E904,
E905,
E906,
E907,
E908,
E909,
E910,
E911,
E912,
E913,
E914,
E915,
E916,
E917,
E918,
E919,
E920,
E921,
E922,
E923,
E924,
E925,
E926,
E927,
E928,
E929,
E930,
E931,
E932,
E933,
E934,
E935,
E936,
E937,
E938,
E939,
E940,
E941,
E942,
E943,
E944,
E945,
E946,
E947,
E948,
E949,
E950,
E951,
E952,
E953,
E954,
E955,
E956,
E957,
E958,
E959,
E960,
E961,
E962,
E963,
E964,
E965,
E966,
E967,
E968,
E969,
E970,
E971,
E972,
E973,
E974,
E975,
E976,
E977,
E978,
E979,
E980,
E981,
E982,
E983,
E984,
E985,
E986,
E987,
E988,
E989,
E990,
E991,
E992,
E993,
E994,
E995,
E996,
E997,
E998,
E999,
E1000,
E1001,
E1002,
E1003,
E1004,
E1005,
E1006,
E1007,
E1008,
E1009,
E1010,
E1011,
E1012,
E1013,
E1014,
E1015,
E1016,
E1017,
E1018,
E1019,
E1020,
E1021,
E1022,
E1023,
}
function run(a: number) {
switch (a) {
case 0:
return [ E.E0, E.E1]
case 2:
return [ E.E2, E.E3]
case 4:
return [ E.E4, E.E5]
case 6:
return [ E.E6, E.E7]
case 8:
return [ E.E8, E.E9]
case 10:
return [ E.E10, E.E11]
case 12:
return [ E.E12, E.E13]
case 14:
return [ E.E14, E.E15]
case 16:
return [ E.E16, E.E17]
case 18:
return [ E.E18, E.E19]
case 20:
return [ E.E20, E.E21]
case 22:
return [ E.E22, E.E23]
case 24:
return [ E.E24, E.E25]
case 26:
return [ E.E26, E.E27]
case 28:
return [ E.E28, E.E29]
case 30:
return [ E.E30, E.E31]
case 32:
return [ E.E32, E.E33]
case 34:
return [ E.E34, E.E35]
case 36:
return [ E.E36, E.E37]
case 38:
return [ E.E38, E.E39]
case 40:
return [ E.E40, E.E41]
case 42:
return [ E.E42, E.E43]
case 44:
return [ E.E44, E.E45]
case 46:
return [ E.E46, E.E47]
case 48:
return [ E.E48, E.E49]
case 50:
return [ E.E50, E.E51]
case 52:
return [ E.E52, E.E53]
case 54:
return [ E.E54, E.E55]
case 56:
return [ E.E56, E.E57]
case 58:
return [ E.E58, E.E59]
case 60:
return [ E.E60, E.E61]
case 62:
return [ E.E62, E.E63]
case 64:
return [ E.E64, E.E65]
case 66:
return [ E.E66, E.E67]
case 68:
return [ E.E68, E.E69]
case 70:
return [ E.E70, E.E71]
case 72:
return [ E.E72, E.E73]
case 74:
return [ E.E74, E.E75]
case 76:
return [ E.E76, E.E77]
case 78:
return [ E.E78, E.E79]
case 80:
return [ E.E80, E.E81]
case 82:
return [ E.E82, E.E83]
case 84:
return [ E.E84, E.E85]
case 86:
return [ E.E86, E.E87]
case 88:
return [ E.E88, E.E89]
case 90:
return [ E.E90, E.E91]
case 92:
return [ E.E92, E.E93]
case 94:
return [ E.E94, E.E95]
case 96:
return [ E.E96, E.E97]
case 98:
return [ E.E98, E.E99]
case 100:
return [ E.E100, E.E101]
case 102:
return [ E.E102, E.E103]
case 104:
return [ E.E104, E.E105]
case 106:
return [ E.E106, E.E107]
case 108:
return [ E.E108, E.E109]
case 110:
return [ E.E110, E.E111]
case 112:
return [ E.E112, E.E113]
case 114:
return [ E.E114, E.E115]
case 116:
return [ E.E116, E.E117]
case 118:
return [ E.E118, E.E119]
case 120:
return [ E.E120, E.E121]
case 122:
return [ E.E122, E.E123]
case 124:
return [ E.E124, E.E125]
case 126:
return [ E.E126, E.E127]
case 128:
return [ E.E128, E.E129]
case 130:
return [ E.E130, E.E131]
case 132:
return [ E.E132, E.E133]
case 134:
return [ E.E134, E.E135]
case 136:
return [ E.E136, E.E137]
case 138:
return [ E.E138, E.E139]
case 140:
return [ E.E140, E.E141]
case 142:
return [ E.E142, E.E143]
case 144:
return [ E.E144, E.E145]
case 146:
return [ E.E146, E.E147]
case 148:
return [ E.E148, E.E149]
case 150:
return [ E.E150, E.E151]
case 152:
return [ E.E152, E.E153]
case 154:
return [ E.E154, E.E155]
case 156:
return [ E.E156, E.E157]
case 158:
return [ E.E158, E.E159]
case 160:
return [ E.E160, E.E161]
case 162:
return [ E.E162, E.E163]
case 164:
return [ E.E164, E.E165]
case 166:
return [ E.E166, E.E167]
case 168:
return [ E.E168, E.E169]
case 170:
return [ E.E170, E.E171]
case 172:
return [ E.E172, E.E173]
case 174:
return [ E.E174, E.E175]
case 176:
return [ E.E176, E.E177]
case 178:
return [ E.E178, E.E179]
case 180:
return [ E.E180, E.E181]
case 182:
return [ E.E182, E.E183]
case 184:
return [ E.E184, E.E185]
case 186:
return [ E.E186, E.E187]
case 188:
return [ E.E188, E.E189]
case 190:
return [ E.E190, E.E191]
case 192:
return [ E.E192, E.E193]
case 194:
return [ E.E194, E.E195]
case 196:
return [ E.E196, E.E197]
case 198:
return [ E.E198, E.E199]
case 200:
return [ E.E200, E.E201]
case 202:
return [ E.E202, E.E203]
case 204:
return [ E.E204, E.E205]
case 206:
return [ E.E206, E.E207]
case 208:
return [ E.E208, E.E209]
case 210:
return [ E.E210, E.E211]
case 212:
return [ E.E212, E.E213]
case 214:
return [ E.E214, E.E215]
case 216:
return [ E.E216, E.E217]
case 218:
return [ E.E218, E.E219]
case 220:
return [ E.E220, E.E221]
case 222:
return [ E.E222, E.E223]
case 224:
return [ E.E224, E.E225]
case 226:
return [ E.E226, E.E227]
case 228:
return [ E.E228, E.E229]
case 230:
return [ E.E230, E.E231]
case 232:
return [ E.E232, E.E233]
case 234:
return [ E.E234, E.E235]
case 236:
return [ E.E236, E.E237]
case 238:
return [ E.E238, E.E239]
case 240:
return [ E.E240, E.E241]
case 242:
return [ E.E242, E.E243]
case 244:
return [ E.E244, E.E245]
case 246:
return [ E.E246, E.E247]
case 248:
return [ E.E248, E.E249]
case 250:
return [ E.E250, E.E251]
case 252:
return [ E.E252, E.E253]
case 254:
return [ E.E254, E.E255]
case 256:
return [ E.E256, E.E257]
case 258:
return [ E.E258, E.E259]
case 260:
return [ E.E260, E.E261]
case 262:
return [ E.E262, E.E263]
case 264:
return [ E.E264, E.E265]
case 266:
return [ E.E266, E.E267]
case 268:
return [ E.E268, E.E269]
case 270:
return [ E.E270, E.E271]
case 272:
return [ E.E272, E.E273]
case 274:
return [ E.E274, E.E275]
case 276:
return [ E.E276, E.E277]
case 278:
return [ E.E278, E.E279]
case 280:
return [ E.E280, E.E281]
case 282:
return [ E.E282, E.E283]
case 284:
return [ E.E284, E.E285]
case 286:
return [ E.E286, E.E287]
case 288:
return [ E.E288, E.E289]
case 290:
return [ E.E290, E.E291]
case 292:
return [ E.E292, E.E293]
case 294:
return [ E.E294, E.E295]
case 296:
return [ E.E296, E.E297]
case 298:
return [ E.E298, E.E299]
case 300:
return [ E.E300, E.E301]
case 302:
return [ E.E302, E.E303]
case 304:
return [ E.E304, E.E305]
case 306:
return [ E.E306, E.E307]
case 308:
return [ E.E308, E.E309]
case 310:
return [ E.E310, E.E311]
case 312:
return [ E.E312, E.E313]
case 314:
return [ E.E314, E.E315]
case 316:
return [ E.E316, E.E317]
case 318:
return [ E.E318, E.E319]
case 320:
return [ E.E320, E.E321]
case 322:
return [ E.E322, E.E323]
case 324:
return [ E.E324, E.E325]
case 326:
return [ E.E326, E.E327]
case 328:
return [ E.E328, E.E329]
case 330:
return [ E.E330, E.E331]
case 332:
return [ E.E332, E.E333]
case 334:
return [ E.E334, E.E335]
case 336:
return [ E.E336, E.E337]
case 338:
return [ E.E338, E.E339]
case 340:
return [ E.E340, E.E341]
case 342:
return [ E.E342, E.E343]
case 344:
return [ E.E344, E.E345]
case 346:
return [ E.E346, E.E347]
case 348:
return [ E.E348, E.E349]
case 350:
return [ E.E350, E.E351]
case 352:
return [ E.E352, E.E353]
case 354:
return [ E.E354, E.E355]
case 356:
return [ E.E356, E.E357]
case 358:
return [ E.E358, E.E359]
case 360:
return [ E.E360, E.E361]
case 362:
return [ E.E362, E.E363]
case 364:
return [ E.E364, E.E365]
case 366:
return [ E.E366, E.E367]
case 368:
return [ E.E368, E.E369]
case 370:
return [ E.E370, E.E371]
case 372:
return [ E.E372, E.E373]
case 374:
return [ E.E374, E.E375]
case 376:
return [ E.E376, E.E377]
case 378:
return [ E.E378, E.E379]
case 380:
return [ E.E380, E.E381]
case 382:
return [ E.E382, E.E383]
case 384:
return [ E.E384, E.E385]
case 386:
return [ E.E386, E.E387]
case 388:
return [ E.E388, E.E389]
case 390:
return [ E.E390, E.E391]
case 392:
return [ E.E392, E.E393]
case 394:
return [ E.E394, E.E395]
case 396:
return [ E.E396, E.E397]
case 398:
return [ E.E398, E.E399]
case 400:
return [ E.E400, E.E401]
case 402:
return [ E.E402, E.E403]
case 404:
return [ E.E404, E.E405]
case 406:
return [ E.E406, E.E407]
case 408:
return [ E.E408, E.E409]
case 410:
return [ E.E410, E.E411]
case 412:
return [ E.E412, E.E413]
case 414:
return [ E.E414, E.E415]
case 416:
return [ E.E416, E.E417]
case 418:
return [ E.E418, E.E419]
case 420:
return [ E.E420, E.E421]
case 422:
return [ E.E422, E.E423]
case 424:
return [ E.E424, E.E425]
case 426:
return [ E.E426, E.E427]
case 428:
return [ E.E428, E.E429]
case 430:
return [ E.E430, E.E431]
case 432:
return [ E.E432, E.E433]
case 434:
return [ E.E434, E.E435]
case 436:
return [ E.E436, E.E437]
case 438:
return [ E.E438, E.E439]
case 440:
return [ E.E440, E.E441]
case 442:
return [ E.E442, E.E443]
case 444:
return [ E.E444, E.E445]
case 446:
return [ E.E446, E.E447]
case 448:
return [ E.E448, E.E449]
case 450:
return [ E.E450, E.E451]
case 452:
return [ E.E452, E.E453]
case 454:
return [ E.E454, E.E455]
case 456:
return [ E.E456, E.E457]
case 458:
return [ E.E458, E.E459]
case 460:
return [ E.E460, E.E461]
case 462:
return [ E.E462, E.E463]
case 464:
return [ E.E464, E.E465]
case 466:
return [ E.E466, E.E467]
case 468:
return [ E.E468, E.E469]
case 470:
return [ E.E470, E.E471]
case 472:
return [ E.E472, E.E473]
case 474:
return [ E.E474, E.E475]
case 476:
return [ E.E476, E.E477]
case 478:
return [ E.E478, E.E479]
case 480:
return [ E.E480, E.E481]
case 482:
return [ E.E482, E.E483]
case 484:
return [ E.E484, E.E485]
case 486:
return [ E.E486, E.E487]
case 488:
return [ E.E488, E.E489]
case 490:
return [ E.E490, E.E491]
case 492:
return [ E.E492, E.E493]
case 494:
return [ E.E494, E.E495]
case 496:
return [ E.E496, E.E497]
case 498:
return [ E.E498, E.E499]
case 500:
return [ E.E500, E.E501]
case 502:
return [ E.E502, E.E503]
case 504:
return [ E.E504, E.E505]
case 506:
return [ E.E506, E.E507]
case 508:
return [ E.E508, E.E509]
case 510:
return [ E.E510, E.E511]
case 512:
return [ E.E512, E.E513]
case 514:
return [ E.E514, E.E515]
case 516:
return [ E.E516, E.E517]
case 518:
return [ E.E518, E.E519]
case 520:
return [ E.E520, E.E521]
case 522:
return [ E.E522, E.E523]
case 524:
return [ E.E524, E.E525]
case 526:
return [ E.E526, E.E527]
case 528:
return [ E.E528, E.E529]
case 530:
return [ E.E530, E.E531]
case 532:
return [ E.E532, E.E533]
case 534:
return [ E.E534, E.E535]
case 536:
return [ E.E536, E.E537]
case 538:
return [ E.E538, E.E539]
case 540:
return [ E.E540, E.E541]
case 542:
return [ E.E542, E.E543]
case 544:
return [ E.E544, E.E545]
case 546:
return [ E.E546, E.E547]
case 548:
return [ E.E548, E.E549]
case 550:
return [ E.E550, E.E551]
case 552:
return [ E.E552, E.E553]
case 554:
return [ E.E554, E.E555]
case 556:
return [ E.E556, E.E557]
case 558:
return [ E.E558, E.E559]
case 560:
return [ E.E560, E.E561]
case 562:
return [ E.E562, E.E563]
case 564:
return [ E.E564, E.E565]
case 566:
return [ E.E566, E.E567]
case 568:
return [ E.E568, E.E569]
case 570:
return [ E.E570, E.E571]
case 572:
return [ E.E572, E.E573]
case 574:
return [ E.E574, E.E575]
case 576:
return [ E.E576, E.E577]
case 578:
return [ E.E578, E.E579]
case 580:
return [ E.E580, E.E581]
case 582:
return [ E.E582, E.E583]
case 584:
return [ E.E584, E.E585]
case 586:
return [ E.E586, E.E587]
case 588:
return [ E.E588, E.E589]
case 590:
return [ E.E590, E.E591]
case 592:
return [ E.E592, E.E593]
case 594:
return [ E.E594, E.E595]
case 596:
return [ E.E596, E.E597]
case 598:
return [ E.E598, E.E599]
case 600:
return [ E.E600, E.E601]
case 602:
return [ E.E602, E.E603]
case 604:
return [ E.E604, E.E605]
case 606:
return [ E.E606, E.E607]
case 608:
return [ E.E608, E.E609]
case 610:
return [ E.E610, E.E611]
case 612:
return [ E.E612, E.E613]
case 614:
return [ E.E614, E.E615]
case 616:
return [ E.E616, E.E617]
case 618:
return [ E.E618, E.E619]
case 620:
return [ E.E620, E.E621]
case 622:
return [ E.E622, E.E623]
case 624:
return [ E.E624, E.E625]
case 626:
return [ E.E626, E.E627]
case 628:
return [ E.E628, E.E629]
case 630:
return [ E.E630, E.E631]
case 632:
return [ E.E632, E.E633]
case 634:
return [ E.E634, E.E635]
case 636:
return [ E.E636, E.E637]
case 638:
return [ E.E638, E.E639]
case 640:
return [ E.E640, E.E641]
case 642:
return [ E.E642, E.E643]
case 644:
return [ E.E644, E.E645]
case 646:
return [ E.E646, E.E647]
case 648:
return [ E.E648, E.E649]
case 650:
return [ E.E650, E.E651]
case 652:
return [ E.E652, E.E653]
case 654:
return [ E.E654, E.E655]
case 656:
return [ E.E656, E.E657]
case 658:
return [ E.E658, E.E659]
case 660:
return [ E.E660, E.E661]
case 662:
return [ E.E662, E.E663]
case 664:
return [ E.E664, E.E665]
case 666:
return [ E.E666, E.E667]
case 668:
return [ E.E668, E.E669]
case 670:
return [ E.E670, E.E671]
case 672:
return [ E.E672, E.E673]
case 674:
return [ E.E674, E.E675]
case 676:
return [ E.E676, E.E677]
case 678:
return [ E.E678, E.E679]
case 680:
return [ E.E680, E.E681]
case 682:
return [ E.E682, E.E683]
case 684:
return [ E.E684, E.E685]
case 686:
return [ E.E686, E.E687]
case 688:
return [ E.E688, E.E689]
case 690:
return [ E.E690, E.E691]
case 692:
return [ E.E692, E.E693]
case 694:
return [ E.E694, E.E695]
case 696:
return [ E.E696, E.E697]
case 698:
return [ E.E698, E.E699]
case 700:
return [ E.E700, E.E701]
case 702:
return [ E.E702, E.E703]
case 704:
return [ E.E704, E.E705]
case 706:
return [ E.E706, E.E707]
case 708:
return [ E.E708, E.E709]
case 710:
return [ E.E710, E.E711]
case 712:
return [ E.E712, E.E713]
case 714:
return [ E.E714, E.E715]
case 716:
return [ E.E716, E.E717]
case 718:
return [ E.E718, E.E719]
case 720:
return [ E.E720, E.E721]
case 722:
return [ E.E722, E.E723]
case 724:
return [ E.E724, E.E725]
case 726:
return [ E.E726, E.E727]
case 728:
return [ E.E728, E.E729]
case 730:
return [ E.E730, E.E731]
case 732:
return [ E.E732, E.E733]
case 734:
return [ E.E734, E.E735]
case 736:
return [ E.E736, E.E737]
case 738:
return [ E.E738, E.E739]
case 740:
return [ E.E740, E.E741]
case 742:
return [ E.E742, E.E743]
case 744:
return [ E.E744, E.E745]
case 746:
return [ E.E746, E.E747]
case 748:
return [ E.E748, E.E749]
case 750:
return [ E.E750, E.E751]
case 752:
return [ E.E752, E.E753]
case 754:
return [ E.E754, E.E755]
case 756:
return [ E.E756, E.E757]
case 758:
return [ E.E758, E.E759]
case 760:
return [ E.E760, E.E761]
case 762:
return [ E.E762, E.E763]
case 764:
return [ E.E764, E.E765]
case 766:
return [ E.E766, E.E767]
case 768:
return [ E.E768, E.E769]
case 770:
return [ E.E770, E.E771]
case 772:
return [ E.E772, E.E773]
case 774:
return [ E.E774, E.E775]
case 776:
return [ E.E776, E.E777]
case 778:
return [ E.E778, E.E779]
case 780:
return [ E.E780, E.E781]
case 782:
return [ E.E782, E.E783]
case 784:
return [ E.E784, E.E785]
case 786:
return [ E.E786, E.E787]
case 788:
return [ E.E788, E.E789]
case 790:
return [ E.E790, E.E791]
case 792:
return [ E.E792, E.E793]
case 794:
return [ E.E794, E.E795]
case 796:
return [ E.E796, E.E797]
case 798:
return [ E.E798, E.E799]
case 800:
return [ E.E800, E.E801]
case 802:
return [ E.E802, E.E803]
case 804:
return [ E.E804, E.E805]
case 806:
return [ E.E806, E.E807]
case 808:
return [ E.E808, E.E809]
case 810:
return [ E.E810, E.E811]
case 812:
return [ E.E812, E.E813]
case 814:
return [ E.E814, E.E815]
case 816:
return [ E.E816, E.E817]
case 818:
return [ E.E818, E.E819]
case 820:
return [ E.E820, E.E821]
case 822:
return [ E.E822, E.E823]
case 824:
return [ E.E824, E.E825]
case 826:
return [ E.E826, E.E827]
case 828:
return [ E.E828, E.E829]
case 830:
return [ E.E830, E.E831]
case 832:
return [ E.E832, E.E833]
case 834:
return [ E.E834, E.E835]
case 836:
return [ E.E836, E.E837]
case 838:
return [ E.E838, E.E839]
case 840:
return [ E.E840, E.E841]
case 842:
return [ E.E842, E.E843]
case 844:
return [ E.E844, E.E845]
case 846:
return [ E.E846, E.E847]
case 848:
return [ E.E848, E.E849]
case 850:
return [ E.E850, E.E851]
case 852:
return [ E.E852, E.E853]
case 854:
return [ E.E854, E.E855]
case 856:
return [ E.E856, E.E857]
case 858:
return [ E.E858, E.E859]
case 860:
return [ E.E860, E.E861]
case 862:
return [ E.E862, E.E863]
case 864:
return [ E.E864, E.E865]
case 866:
return [ E.E866, E.E867]
case 868:
return [ E.E868, E.E869]
case 870:
return [ E.E870, E.E871]
case 872:
return [ E.E872, E.E873]
case 874:
return [ E.E874, E.E875]
case 876:
return [ E.E876, E.E877]
case 878:
return [ E.E878, E.E879]
case 880:
return [ E.E880, E.E881]
case 882:
return [ E.E882, E.E883]
case 884:
return [ E.E884, E.E885]
case 886:
return [ E.E886, E.E887]
case 888:
return [ E.E888, E.E889]
case 890:
return [ E.E890, E.E891]
case 892:
return [ E.E892, E.E893]
case 894:
return [ E.E894, E.E895]
case 896:
return [ E.E896, E.E897]
case 898:
return [ E.E898, E.E899]
case 900:
return [ E.E900, E.E901]
case 902:
return [ E.E902, E.E903]
case 904:
return [ E.E904, E.E905]
case 906:
return [ E.E906, E.E907]
case 908:
return [ E.E908, E.E909]
case 910:
return [ E.E910, E.E911]
case 912:
return [ E.E912, E.E913]
case 914:
return [ E.E914, E.E915]
case 916:
return [ E.E916, E.E917]
case 918:
return [ E.E918, E.E919]
case 920:
return [ E.E920, E.E921]
case 922:
return [ E.E922, E.E923]
case 924:
return [ E.E924, E.E925]
case 926:
return [ E.E926, E.E927]
case 928:
return [ E.E928, E.E929]
case 930:
return [ E.E930, E.E931]
case 932:
return [ E.E932, E.E933]
case 934:
return [ E.E934, E.E935]
case 936:
return [ E.E936, E.E937]
case 938:
return [ E.E938, E.E939]
case 940:
return [ E.E940, E.E941]
case 942:
return [ E.E942, E.E943]
case 944:
return [ E.E944, E.E945]
case 946:
return [ E.E946, E.E947]
case 948:
return [ E.E948, E.E949]
case 950:
return [ E.E950, E.E951]
case 952:
return [ E.E952, E.E953]
case 954:
return [ E.E954, E.E955]
case 956:
return [ E.E956, E.E957]
case 958:
return [ E.E958, E.E959]
case 960:
return [ E.E960, E.E961]
case 962:
return [ E.E962, E.E963]
case 964:
return [ E.E964, E.E965]
case 966:
return [ E.E966, E.E967]
case 968:
return [ E.E968, E.E969]
case 970:
return [ E.E970, E.E971]
case 972:
return [ E.E972, E.E973]
case 974:
return [ E.E974, E.E975]
case 976:
return [ E.E976, E.E977]
case 978:
return [ E.E978, E.E979]
case 980:
return [ E.E980, E.E981]
case 982:
return [ E.E982, E.E983]
case 984:
return [ E.E984, E.E985]
case 986:
return [ E.E986, E.E987]
case 988:
return [ E.E988, E.E989]
case 990:
return [ E.E990, E.E991]
case 992:
return [ E.E992, E.E993]
case 994:
return [ E.E994, E.E995]
case 996:
return [ E.E996, E.E997]
case 998:
return [ E.E998, E.E999]
case 1000:
return [ E.E1000, E.E1001]
case 1002:
return [ E.E1002, E.E1003]
case 1004:
return [ E.E1004, E.E1005]
case 1006:
return [ E.E1006, E.E1007]
case 1008:
return [ E.E1008, E.E1009]
case 1010:
return [ E.E1010, E.E1011]
case 1012:
return [ E.E1012, E.E1013]
case 1014:
return [ E.E1014, E.E1015]
case 1016:
return [ E.E1016, E.E1017]
case 1018:
return [ E.E1018, E.E1019]
case 1020:
return [ E.E1020, E.E1021]
case 1022:
return [ E.E1022, E.E1023]
}
}