mirror of
https://github.com/golang/go
synced 2024-09-05 16:04:50 +00:00
![Matthew Dempsky](/assets/img/avatar_default.png)
The large-function phi placement algorithm evidently doesn't like the same pseudo-variable being used to represent expressions of varying types. Instead, use the same tactic as used for "valVar" (ssa.go:6585--6587), which is to just generate a fresh marker node each time. Maybe we could just use the OMIN/OMAX nodes themselves as the key (like we do for OANDAND/OOROR), but that just seems needlessly risky for negligible memory savings. Using fresh marker values each time seems obviously safe by comparison. Fixes #61041. Change-Id: Ie2600c9c37b599c2e26ae01f5f8a433025d7fd08 Reviewed-on: https://go-review.googlesource.com/c/go/+/506679 TryBot-Result: Gopher Robot <gobot@golang.org> Reviewed-by: Ian Lance Taylor <iant@google.com> Run-TryBot: Matthew Dempsky <mdempsky@google.com> Reviewed-by: Cuong Manh Le <cuong.manhle.vn@gmail.com>
2024 lines
24 KiB
Go
2024 lines
24 KiB
Go
// compile
|
|
|
|
// Copyright 2023 The Go Authors. All rights reserved.
|
|
// Use of this source code is governed by a BSD-style
|
|
// license that can be found in the LICENSE file.
|
|
|
|
package main
|
|
|
|
func f(x int, b bool) int {
|
|
if x >= 1000 {
|
|
if b { // from #61041
|
|
var a struct{ f int64 }
|
|
_ = max(0, a.f)
|
|
}
|
|
|
|
return max(x, 2000)
|
|
}
|
|
// generate 1000 basic blocks to put this function
|
|
// well into the "large function" phi generation algorithm.
|
|
switch x {
|
|
case 0:
|
|
return 0
|
|
case 1:
|
|
return 1
|
|
case 2:
|
|
return 2
|
|
case 3:
|
|
return 3
|
|
case 4:
|
|
return 4
|
|
case 5:
|
|
return 5
|
|
case 6:
|
|
return 6
|
|
case 7:
|
|
return 7
|
|
case 8:
|
|
return 8
|
|
case 9:
|
|
return 9
|
|
case 10:
|
|
return 10
|
|
case 11:
|
|
return 11
|
|
case 12:
|
|
return 12
|
|
case 13:
|
|
return 13
|
|
case 14:
|
|
return 14
|
|
case 15:
|
|
return 15
|
|
case 16:
|
|
return 16
|
|
case 17:
|
|
return 17
|
|
case 18:
|
|
return 18
|
|
case 19:
|
|
return 19
|
|
case 20:
|
|
return 20
|
|
case 21:
|
|
return 21
|
|
case 22:
|
|
return 22
|
|
case 23:
|
|
return 23
|
|
case 24:
|
|
return 24
|
|
case 25:
|
|
return 25
|
|
case 26:
|
|
return 26
|
|
case 27:
|
|
return 27
|
|
case 28:
|
|
return 28
|
|
case 29:
|
|
return 29
|
|
case 30:
|
|
return 30
|
|
case 31:
|
|
return 31
|
|
case 32:
|
|
return 32
|
|
case 33:
|
|
return 33
|
|
case 34:
|
|
return 34
|
|
case 35:
|
|
return 35
|
|
case 36:
|
|
return 36
|
|
case 37:
|
|
return 37
|
|
case 38:
|
|
return 38
|
|
case 39:
|
|
return 39
|
|
case 40:
|
|
return 40
|
|
case 41:
|
|
return 41
|
|
case 42:
|
|
return 42
|
|
case 43:
|
|
return 43
|
|
case 44:
|
|
return 44
|
|
case 45:
|
|
return 45
|
|
case 46:
|
|
return 46
|
|
case 47:
|
|
return 47
|
|
case 48:
|
|
return 48
|
|
case 49:
|
|
return 49
|
|
case 50:
|
|
return 50
|
|
case 51:
|
|
return 51
|
|
case 52:
|
|
return 52
|
|
case 53:
|
|
return 53
|
|
case 54:
|
|
return 54
|
|
case 55:
|
|
return 55
|
|
case 56:
|
|
return 56
|
|
case 57:
|
|
return 57
|
|
case 58:
|
|
return 58
|
|
case 59:
|
|
return 59
|
|
case 60:
|
|
return 60
|
|
case 61:
|
|
return 61
|
|
case 62:
|
|
return 62
|
|
case 63:
|
|
return 63
|
|
case 64:
|
|
return 64
|
|
case 65:
|
|
return 65
|
|
case 66:
|
|
return 66
|
|
case 67:
|
|
return 67
|
|
case 68:
|
|
return 68
|
|
case 69:
|
|
return 69
|
|
case 70:
|
|
return 70
|
|
case 71:
|
|
return 71
|
|
case 72:
|
|
return 72
|
|
case 73:
|
|
return 73
|
|
case 74:
|
|
return 74
|
|
case 75:
|
|
return 75
|
|
case 76:
|
|
return 76
|
|
case 77:
|
|
return 77
|
|
case 78:
|
|
return 78
|
|
case 79:
|
|
return 79
|
|
case 80:
|
|
return 80
|
|
case 81:
|
|
return 81
|
|
case 82:
|
|
return 82
|
|
case 83:
|
|
return 83
|
|
case 84:
|
|
return 84
|
|
case 85:
|
|
return 85
|
|
case 86:
|
|
return 86
|
|
case 87:
|
|
return 87
|
|
case 88:
|
|
return 88
|
|
case 89:
|
|
return 89
|
|
case 90:
|
|
return 90
|
|
case 91:
|
|
return 91
|
|
case 92:
|
|
return 92
|
|
case 93:
|
|
return 93
|
|
case 94:
|
|
return 94
|
|
case 95:
|
|
return 95
|
|
case 96:
|
|
return 96
|
|
case 97:
|
|
return 97
|
|
case 98:
|
|
return 98
|
|
case 99:
|
|
return 99
|
|
case 100:
|
|
return 100
|
|
case 101:
|
|
return 101
|
|
case 102:
|
|
return 102
|
|
case 103:
|
|
return 103
|
|
case 104:
|
|
return 104
|
|
case 105:
|
|
return 105
|
|
case 106:
|
|
return 106
|
|
case 107:
|
|
return 107
|
|
case 108:
|
|
return 108
|
|
case 109:
|
|
return 109
|
|
case 110:
|
|
return 110
|
|
case 111:
|
|
return 111
|
|
case 112:
|
|
return 112
|
|
case 113:
|
|
return 113
|
|
case 114:
|
|
return 114
|
|
case 115:
|
|
return 115
|
|
case 116:
|
|
return 116
|
|
case 117:
|
|
return 117
|
|
case 118:
|
|
return 118
|
|
case 119:
|
|
return 119
|
|
case 120:
|
|
return 120
|
|
case 121:
|
|
return 121
|
|
case 122:
|
|
return 122
|
|
case 123:
|
|
return 123
|
|
case 124:
|
|
return 124
|
|
case 125:
|
|
return 125
|
|
case 126:
|
|
return 126
|
|
case 127:
|
|
return 127
|
|
case 128:
|
|
return 128
|
|
case 129:
|
|
return 129
|
|
case 130:
|
|
return 130
|
|
case 131:
|
|
return 131
|
|
case 132:
|
|
return 132
|
|
case 133:
|
|
return 133
|
|
case 134:
|
|
return 134
|
|
case 135:
|
|
return 135
|
|
case 136:
|
|
return 136
|
|
case 137:
|
|
return 137
|
|
case 138:
|
|
return 138
|
|
case 139:
|
|
return 139
|
|
case 140:
|
|
return 140
|
|
case 141:
|
|
return 141
|
|
case 142:
|
|
return 142
|
|
case 143:
|
|
return 143
|
|
case 144:
|
|
return 144
|
|
case 145:
|
|
return 145
|
|
case 146:
|
|
return 146
|
|
case 147:
|
|
return 147
|
|
case 148:
|
|
return 148
|
|
case 149:
|
|
return 149
|
|
case 150:
|
|
return 150
|
|
case 151:
|
|
return 151
|
|
case 152:
|
|
return 152
|
|
case 153:
|
|
return 153
|
|
case 154:
|
|
return 154
|
|
case 155:
|
|
return 155
|
|
case 156:
|
|
return 156
|
|
case 157:
|
|
return 157
|
|
case 158:
|
|
return 158
|
|
case 159:
|
|
return 159
|
|
case 160:
|
|
return 160
|
|
case 161:
|
|
return 161
|
|
case 162:
|
|
return 162
|
|
case 163:
|
|
return 163
|
|
case 164:
|
|
return 164
|
|
case 165:
|
|
return 165
|
|
case 166:
|
|
return 166
|
|
case 167:
|
|
return 167
|
|
case 168:
|
|
return 168
|
|
case 169:
|
|
return 169
|
|
case 170:
|
|
return 170
|
|
case 171:
|
|
return 171
|
|
case 172:
|
|
return 172
|
|
case 173:
|
|
return 173
|
|
case 174:
|
|
return 174
|
|
case 175:
|
|
return 175
|
|
case 176:
|
|
return 176
|
|
case 177:
|
|
return 177
|
|
case 178:
|
|
return 178
|
|
case 179:
|
|
return 179
|
|
case 180:
|
|
return 180
|
|
case 181:
|
|
return 181
|
|
case 182:
|
|
return 182
|
|
case 183:
|
|
return 183
|
|
case 184:
|
|
return 184
|
|
case 185:
|
|
return 185
|
|
case 186:
|
|
return 186
|
|
case 187:
|
|
return 187
|
|
case 188:
|
|
return 188
|
|
case 189:
|
|
return 189
|
|
case 190:
|
|
return 190
|
|
case 191:
|
|
return 191
|
|
case 192:
|
|
return 192
|
|
case 193:
|
|
return 193
|
|
case 194:
|
|
return 194
|
|
case 195:
|
|
return 195
|
|
case 196:
|
|
return 196
|
|
case 197:
|
|
return 197
|
|
case 198:
|
|
return 198
|
|
case 199:
|
|
return 199
|
|
case 200:
|
|
return 200
|
|
case 201:
|
|
return 201
|
|
case 202:
|
|
return 202
|
|
case 203:
|
|
return 203
|
|
case 204:
|
|
return 204
|
|
case 205:
|
|
return 205
|
|
case 206:
|
|
return 206
|
|
case 207:
|
|
return 207
|
|
case 208:
|
|
return 208
|
|
case 209:
|
|
return 209
|
|
case 210:
|
|
return 210
|
|
case 211:
|
|
return 211
|
|
case 212:
|
|
return 212
|
|
case 213:
|
|
return 213
|
|
case 214:
|
|
return 214
|
|
case 215:
|
|
return 215
|
|
case 216:
|
|
return 216
|
|
case 217:
|
|
return 217
|
|
case 218:
|
|
return 218
|
|
case 219:
|
|
return 219
|
|
case 220:
|
|
return 220
|
|
case 221:
|
|
return 221
|
|
case 222:
|
|
return 222
|
|
case 223:
|
|
return 223
|
|
case 224:
|
|
return 224
|
|
case 225:
|
|
return 225
|
|
case 226:
|
|
return 226
|
|
case 227:
|
|
return 227
|
|
case 228:
|
|
return 228
|
|
case 229:
|
|
return 229
|
|
case 230:
|
|
return 230
|
|
case 231:
|
|
return 231
|
|
case 232:
|
|
return 232
|
|
case 233:
|
|
return 233
|
|
case 234:
|
|
return 234
|
|
case 235:
|
|
return 235
|
|
case 236:
|
|
return 236
|
|
case 237:
|
|
return 237
|
|
case 238:
|
|
return 238
|
|
case 239:
|
|
return 239
|
|
case 240:
|
|
return 240
|
|
case 241:
|
|
return 241
|
|
case 242:
|
|
return 242
|
|
case 243:
|
|
return 243
|
|
case 244:
|
|
return 244
|
|
case 245:
|
|
return 245
|
|
case 246:
|
|
return 246
|
|
case 247:
|
|
return 247
|
|
case 248:
|
|
return 248
|
|
case 249:
|
|
return 249
|
|
case 250:
|
|
return 250
|
|
case 251:
|
|
return 251
|
|
case 252:
|
|
return 252
|
|
case 253:
|
|
return 253
|
|
case 254:
|
|
return 254
|
|
case 255:
|
|
return 255
|
|
case 256:
|
|
return 256
|
|
case 257:
|
|
return 257
|
|
case 258:
|
|
return 258
|
|
case 259:
|
|
return 259
|
|
case 260:
|
|
return 260
|
|
case 261:
|
|
return 261
|
|
case 262:
|
|
return 262
|
|
case 263:
|
|
return 263
|
|
case 264:
|
|
return 264
|
|
case 265:
|
|
return 265
|
|
case 266:
|
|
return 266
|
|
case 267:
|
|
return 267
|
|
case 268:
|
|
return 268
|
|
case 269:
|
|
return 269
|
|
case 270:
|
|
return 270
|
|
case 271:
|
|
return 271
|
|
case 272:
|
|
return 272
|
|
case 273:
|
|
return 273
|
|
case 274:
|
|
return 274
|
|
case 275:
|
|
return 275
|
|
case 276:
|
|
return 276
|
|
case 277:
|
|
return 277
|
|
case 278:
|
|
return 278
|
|
case 279:
|
|
return 279
|
|
case 280:
|
|
return 280
|
|
case 281:
|
|
return 281
|
|
case 282:
|
|
return 282
|
|
case 283:
|
|
return 283
|
|
case 284:
|
|
return 284
|
|
case 285:
|
|
return 285
|
|
case 286:
|
|
return 286
|
|
case 287:
|
|
return 287
|
|
case 288:
|
|
return 288
|
|
case 289:
|
|
return 289
|
|
case 290:
|
|
return 290
|
|
case 291:
|
|
return 291
|
|
case 292:
|
|
return 292
|
|
case 293:
|
|
return 293
|
|
case 294:
|
|
return 294
|
|
case 295:
|
|
return 295
|
|
case 296:
|
|
return 296
|
|
case 297:
|
|
return 297
|
|
case 298:
|
|
return 298
|
|
case 299:
|
|
return 299
|
|
case 300:
|
|
return 300
|
|
case 301:
|
|
return 301
|
|
case 302:
|
|
return 302
|
|
case 303:
|
|
return 303
|
|
case 304:
|
|
return 304
|
|
case 305:
|
|
return 305
|
|
case 306:
|
|
return 306
|
|
case 307:
|
|
return 307
|
|
case 308:
|
|
return 308
|
|
case 309:
|
|
return 309
|
|
case 310:
|
|
return 310
|
|
case 311:
|
|
return 311
|
|
case 312:
|
|
return 312
|
|
case 313:
|
|
return 313
|
|
case 314:
|
|
return 314
|
|
case 315:
|
|
return 315
|
|
case 316:
|
|
return 316
|
|
case 317:
|
|
return 317
|
|
case 318:
|
|
return 318
|
|
case 319:
|
|
return 319
|
|
case 320:
|
|
return 320
|
|
case 321:
|
|
return 321
|
|
case 322:
|
|
return 322
|
|
case 323:
|
|
return 323
|
|
case 324:
|
|
return 324
|
|
case 325:
|
|
return 325
|
|
case 326:
|
|
return 326
|
|
case 327:
|
|
return 327
|
|
case 328:
|
|
return 328
|
|
case 329:
|
|
return 329
|
|
case 330:
|
|
return 330
|
|
case 331:
|
|
return 331
|
|
case 332:
|
|
return 332
|
|
case 333:
|
|
return 333
|
|
case 334:
|
|
return 334
|
|
case 335:
|
|
return 335
|
|
case 336:
|
|
return 336
|
|
case 337:
|
|
return 337
|
|
case 338:
|
|
return 338
|
|
case 339:
|
|
return 339
|
|
case 340:
|
|
return 340
|
|
case 341:
|
|
return 341
|
|
case 342:
|
|
return 342
|
|
case 343:
|
|
return 343
|
|
case 344:
|
|
return 344
|
|
case 345:
|
|
return 345
|
|
case 346:
|
|
return 346
|
|
case 347:
|
|
return 347
|
|
case 348:
|
|
return 348
|
|
case 349:
|
|
return 349
|
|
case 350:
|
|
return 350
|
|
case 351:
|
|
return 351
|
|
case 352:
|
|
return 352
|
|
case 353:
|
|
return 353
|
|
case 354:
|
|
return 354
|
|
case 355:
|
|
return 355
|
|
case 356:
|
|
return 356
|
|
case 357:
|
|
return 357
|
|
case 358:
|
|
return 358
|
|
case 359:
|
|
return 359
|
|
case 360:
|
|
return 360
|
|
case 361:
|
|
return 361
|
|
case 362:
|
|
return 362
|
|
case 363:
|
|
return 363
|
|
case 364:
|
|
return 364
|
|
case 365:
|
|
return 365
|
|
case 366:
|
|
return 366
|
|
case 367:
|
|
return 367
|
|
case 368:
|
|
return 368
|
|
case 369:
|
|
return 369
|
|
case 370:
|
|
return 370
|
|
case 371:
|
|
return 371
|
|
case 372:
|
|
return 372
|
|
case 373:
|
|
return 373
|
|
case 374:
|
|
return 374
|
|
case 375:
|
|
return 375
|
|
case 376:
|
|
return 376
|
|
case 377:
|
|
return 377
|
|
case 378:
|
|
return 378
|
|
case 379:
|
|
return 379
|
|
case 380:
|
|
return 380
|
|
case 381:
|
|
return 381
|
|
case 382:
|
|
return 382
|
|
case 383:
|
|
return 383
|
|
case 384:
|
|
return 384
|
|
case 385:
|
|
return 385
|
|
case 386:
|
|
return 386
|
|
case 387:
|
|
return 387
|
|
case 388:
|
|
return 388
|
|
case 389:
|
|
return 389
|
|
case 390:
|
|
return 390
|
|
case 391:
|
|
return 391
|
|
case 392:
|
|
return 392
|
|
case 393:
|
|
return 393
|
|
case 394:
|
|
return 394
|
|
case 395:
|
|
return 395
|
|
case 396:
|
|
return 396
|
|
case 397:
|
|
return 397
|
|
case 398:
|
|
return 398
|
|
case 399:
|
|
return 399
|
|
case 400:
|
|
return 400
|
|
case 401:
|
|
return 401
|
|
case 402:
|
|
return 402
|
|
case 403:
|
|
return 403
|
|
case 404:
|
|
return 404
|
|
case 405:
|
|
return 405
|
|
case 406:
|
|
return 406
|
|
case 407:
|
|
return 407
|
|
case 408:
|
|
return 408
|
|
case 409:
|
|
return 409
|
|
case 410:
|
|
return 410
|
|
case 411:
|
|
return 411
|
|
case 412:
|
|
return 412
|
|
case 413:
|
|
return 413
|
|
case 414:
|
|
return 414
|
|
case 415:
|
|
return 415
|
|
case 416:
|
|
return 416
|
|
case 417:
|
|
return 417
|
|
case 418:
|
|
return 418
|
|
case 419:
|
|
return 419
|
|
case 420:
|
|
return 420
|
|
case 421:
|
|
return 421
|
|
case 422:
|
|
return 422
|
|
case 423:
|
|
return 423
|
|
case 424:
|
|
return 424
|
|
case 425:
|
|
return 425
|
|
case 426:
|
|
return 426
|
|
case 427:
|
|
return 427
|
|
case 428:
|
|
return 428
|
|
case 429:
|
|
return 429
|
|
case 430:
|
|
return 430
|
|
case 431:
|
|
return 431
|
|
case 432:
|
|
return 432
|
|
case 433:
|
|
return 433
|
|
case 434:
|
|
return 434
|
|
case 435:
|
|
return 435
|
|
case 436:
|
|
return 436
|
|
case 437:
|
|
return 437
|
|
case 438:
|
|
return 438
|
|
case 439:
|
|
return 439
|
|
case 440:
|
|
return 440
|
|
case 441:
|
|
return 441
|
|
case 442:
|
|
return 442
|
|
case 443:
|
|
return 443
|
|
case 444:
|
|
return 444
|
|
case 445:
|
|
return 445
|
|
case 446:
|
|
return 446
|
|
case 447:
|
|
return 447
|
|
case 448:
|
|
return 448
|
|
case 449:
|
|
return 449
|
|
case 450:
|
|
return 450
|
|
case 451:
|
|
return 451
|
|
case 452:
|
|
return 452
|
|
case 453:
|
|
return 453
|
|
case 454:
|
|
return 454
|
|
case 455:
|
|
return 455
|
|
case 456:
|
|
return 456
|
|
case 457:
|
|
return 457
|
|
case 458:
|
|
return 458
|
|
case 459:
|
|
return 459
|
|
case 460:
|
|
return 460
|
|
case 461:
|
|
return 461
|
|
case 462:
|
|
return 462
|
|
case 463:
|
|
return 463
|
|
case 464:
|
|
return 464
|
|
case 465:
|
|
return 465
|
|
case 466:
|
|
return 466
|
|
case 467:
|
|
return 467
|
|
case 468:
|
|
return 468
|
|
case 469:
|
|
return 469
|
|
case 470:
|
|
return 470
|
|
case 471:
|
|
return 471
|
|
case 472:
|
|
return 472
|
|
case 473:
|
|
return 473
|
|
case 474:
|
|
return 474
|
|
case 475:
|
|
return 475
|
|
case 476:
|
|
return 476
|
|
case 477:
|
|
return 477
|
|
case 478:
|
|
return 478
|
|
case 479:
|
|
return 479
|
|
case 480:
|
|
return 480
|
|
case 481:
|
|
return 481
|
|
case 482:
|
|
return 482
|
|
case 483:
|
|
return 483
|
|
case 484:
|
|
return 484
|
|
case 485:
|
|
return 485
|
|
case 486:
|
|
return 486
|
|
case 487:
|
|
return 487
|
|
case 488:
|
|
return 488
|
|
case 489:
|
|
return 489
|
|
case 490:
|
|
return 490
|
|
case 491:
|
|
return 491
|
|
case 492:
|
|
return 492
|
|
case 493:
|
|
return 493
|
|
case 494:
|
|
return 494
|
|
case 495:
|
|
return 495
|
|
case 496:
|
|
return 496
|
|
case 497:
|
|
return 497
|
|
case 498:
|
|
return 498
|
|
case 499:
|
|
return 499
|
|
case 500:
|
|
return 500
|
|
case 501:
|
|
return 501
|
|
case 502:
|
|
return 502
|
|
case 503:
|
|
return 503
|
|
case 504:
|
|
return 504
|
|
case 505:
|
|
return 505
|
|
case 506:
|
|
return 506
|
|
case 507:
|
|
return 507
|
|
case 508:
|
|
return 508
|
|
case 509:
|
|
return 509
|
|
case 510:
|
|
return 510
|
|
case 511:
|
|
return 511
|
|
case 512:
|
|
return 512
|
|
case 513:
|
|
return 513
|
|
case 514:
|
|
return 514
|
|
case 515:
|
|
return 515
|
|
case 516:
|
|
return 516
|
|
case 517:
|
|
return 517
|
|
case 518:
|
|
return 518
|
|
case 519:
|
|
return 519
|
|
case 520:
|
|
return 520
|
|
case 521:
|
|
return 521
|
|
case 522:
|
|
return 522
|
|
case 523:
|
|
return 523
|
|
case 524:
|
|
return 524
|
|
case 525:
|
|
return 525
|
|
case 526:
|
|
return 526
|
|
case 527:
|
|
return 527
|
|
case 528:
|
|
return 528
|
|
case 529:
|
|
return 529
|
|
case 530:
|
|
return 530
|
|
case 531:
|
|
return 531
|
|
case 532:
|
|
return 532
|
|
case 533:
|
|
return 533
|
|
case 534:
|
|
return 534
|
|
case 535:
|
|
return 535
|
|
case 536:
|
|
return 536
|
|
case 537:
|
|
return 537
|
|
case 538:
|
|
return 538
|
|
case 539:
|
|
return 539
|
|
case 540:
|
|
return 540
|
|
case 541:
|
|
return 541
|
|
case 542:
|
|
return 542
|
|
case 543:
|
|
return 543
|
|
case 544:
|
|
return 544
|
|
case 545:
|
|
return 545
|
|
case 546:
|
|
return 546
|
|
case 547:
|
|
return 547
|
|
case 548:
|
|
return 548
|
|
case 549:
|
|
return 549
|
|
case 550:
|
|
return 550
|
|
case 551:
|
|
return 551
|
|
case 552:
|
|
return 552
|
|
case 553:
|
|
return 553
|
|
case 554:
|
|
return 554
|
|
case 555:
|
|
return 555
|
|
case 556:
|
|
return 556
|
|
case 557:
|
|
return 557
|
|
case 558:
|
|
return 558
|
|
case 559:
|
|
return 559
|
|
case 560:
|
|
return 560
|
|
case 561:
|
|
return 561
|
|
case 562:
|
|
return 562
|
|
case 563:
|
|
return 563
|
|
case 564:
|
|
return 564
|
|
case 565:
|
|
return 565
|
|
case 566:
|
|
return 566
|
|
case 567:
|
|
return 567
|
|
case 568:
|
|
return 568
|
|
case 569:
|
|
return 569
|
|
case 570:
|
|
return 570
|
|
case 571:
|
|
return 571
|
|
case 572:
|
|
return 572
|
|
case 573:
|
|
return 573
|
|
case 574:
|
|
return 574
|
|
case 575:
|
|
return 575
|
|
case 576:
|
|
return 576
|
|
case 577:
|
|
return 577
|
|
case 578:
|
|
return 578
|
|
case 579:
|
|
return 579
|
|
case 580:
|
|
return 580
|
|
case 581:
|
|
return 581
|
|
case 582:
|
|
return 582
|
|
case 583:
|
|
return 583
|
|
case 584:
|
|
return 584
|
|
case 585:
|
|
return 585
|
|
case 586:
|
|
return 586
|
|
case 587:
|
|
return 587
|
|
case 588:
|
|
return 588
|
|
case 589:
|
|
return 589
|
|
case 590:
|
|
return 590
|
|
case 591:
|
|
return 591
|
|
case 592:
|
|
return 592
|
|
case 593:
|
|
return 593
|
|
case 594:
|
|
return 594
|
|
case 595:
|
|
return 595
|
|
case 596:
|
|
return 596
|
|
case 597:
|
|
return 597
|
|
case 598:
|
|
return 598
|
|
case 599:
|
|
return 599
|
|
case 600:
|
|
return 600
|
|
case 601:
|
|
return 601
|
|
case 602:
|
|
return 602
|
|
case 603:
|
|
return 603
|
|
case 604:
|
|
return 604
|
|
case 605:
|
|
return 605
|
|
case 606:
|
|
return 606
|
|
case 607:
|
|
return 607
|
|
case 608:
|
|
return 608
|
|
case 609:
|
|
return 609
|
|
case 610:
|
|
return 610
|
|
case 611:
|
|
return 611
|
|
case 612:
|
|
return 612
|
|
case 613:
|
|
return 613
|
|
case 614:
|
|
return 614
|
|
case 615:
|
|
return 615
|
|
case 616:
|
|
return 616
|
|
case 617:
|
|
return 617
|
|
case 618:
|
|
return 618
|
|
case 619:
|
|
return 619
|
|
case 620:
|
|
return 620
|
|
case 621:
|
|
return 621
|
|
case 622:
|
|
return 622
|
|
case 623:
|
|
return 623
|
|
case 624:
|
|
return 624
|
|
case 625:
|
|
return 625
|
|
case 626:
|
|
return 626
|
|
case 627:
|
|
return 627
|
|
case 628:
|
|
return 628
|
|
case 629:
|
|
return 629
|
|
case 630:
|
|
return 630
|
|
case 631:
|
|
return 631
|
|
case 632:
|
|
return 632
|
|
case 633:
|
|
return 633
|
|
case 634:
|
|
return 634
|
|
case 635:
|
|
return 635
|
|
case 636:
|
|
return 636
|
|
case 637:
|
|
return 637
|
|
case 638:
|
|
return 638
|
|
case 639:
|
|
return 639
|
|
case 640:
|
|
return 640
|
|
case 641:
|
|
return 641
|
|
case 642:
|
|
return 642
|
|
case 643:
|
|
return 643
|
|
case 644:
|
|
return 644
|
|
case 645:
|
|
return 645
|
|
case 646:
|
|
return 646
|
|
case 647:
|
|
return 647
|
|
case 648:
|
|
return 648
|
|
case 649:
|
|
return 649
|
|
case 650:
|
|
return 650
|
|
case 651:
|
|
return 651
|
|
case 652:
|
|
return 652
|
|
case 653:
|
|
return 653
|
|
case 654:
|
|
return 654
|
|
case 655:
|
|
return 655
|
|
case 656:
|
|
return 656
|
|
case 657:
|
|
return 657
|
|
case 658:
|
|
return 658
|
|
case 659:
|
|
return 659
|
|
case 660:
|
|
return 660
|
|
case 661:
|
|
return 661
|
|
case 662:
|
|
return 662
|
|
case 663:
|
|
return 663
|
|
case 664:
|
|
return 664
|
|
case 665:
|
|
return 665
|
|
case 666:
|
|
return 666
|
|
case 667:
|
|
return 667
|
|
case 668:
|
|
return 668
|
|
case 669:
|
|
return 669
|
|
case 670:
|
|
return 670
|
|
case 671:
|
|
return 671
|
|
case 672:
|
|
return 672
|
|
case 673:
|
|
return 673
|
|
case 674:
|
|
return 674
|
|
case 675:
|
|
return 675
|
|
case 676:
|
|
return 676
|
|
case 677:
|
|
return 677
|
|
case 678:
|
|
return 678
|
|
case 679:
|
|
return 679
|
|
case 680:
|
|
return 680
|
|
case 681:
|
|
return 681
|
|
case 682:
|
|
return 682
|
|
case 683:
|
|
return 683
|
|
case 684:
|
|
return 684
|
|
case 685:
|
|
return 685
|
|
case 686:
|
|
return 686
|
|
case 687:
|
|
return 687
|
|
case 688:
|
|
return 688
|
|
case 689:
|
|
return 689
|
|
case 690:
|
|
return 690
|
|
case 691:
|
|
return 691
|
|
case 692:
|
|
return 692
|
|
case 693:
|
|
return 693
|
|
case 694:
|
|
return 694
|
|
case 695:
|
|
return 695
|
|
case 696:
|
|
return 696
|
|
case 697:
|
|
return 697
|
|
case 698:
|
|
return 698
|
|
case 699:
|
|
return 699
|
|
case 700:
|
|
return 700
|
|
case 701:
|
|
return 701
|
|
case 702:
|
|
return 702
|
|
case 703:
|
|
return 703
|
|
case 704:
|
|
return 704
|
|
case 705:
|
|
return 705
|
|
case 706:
|
|
return 706
|
|
case 707:
|
|
return 707
|
|
case 708:
|
|
return 708
|
|
case 709:
|
|
return 709
|
|
case 710:
|
|
return 710
|
|
case 711:
|
|
return 711
|
|
case 712:
|
|
return 712
|
|
case 713:
|
|
return 713
|
|
case 714:
|
|
return 714
|
|
case 715:
|
|
return 715
|
|
case 716:
|
|
return 716
|
|
case 717:
|
|
return 717
|
|
case 718:
|
|
return 718
|
|
case 719:
|
|
return 719
|
|
case 720:
|
|
return 720
|
|
case 721:
|
|
return 721
|
|
case 722:
|
|
return 722
|
|
case 723:
|
|
return 723
|
|
case 724:
|
|
return 724
|
|
case 725:
|
|
return 725
|
|
case 726:
|
|
return 726
|
|
case 727:
|
|
return 727
|
|
case 728:
|
|
return 728
|
|
case 729:
|
|
return 729
|
|
case 730:
|
|
return 730
|
|
case 731:
|
|
return 731
|
|
case 732:
|
|
return 732
|
|
case 733:
|
|
return 733
|
|
case 734:
|
|
return 734
|
|
case 735:
|
|
return 735
|
|
case 736:
|
|
return 736
|
|
case 737:
|
|
return 737
|
|
case 738:
|
|
return 738
|
|
case 739:
|
|
return 739
|
|
case 740:
|
|
return 740
|
|
case 741:
|
|
return 741
|
|
case 742:
|
|
return 742
|
|
case 743:
|
|
return 743
|
|
case 744:
|
|
return 744
|
|
case 745:
|
|
return 745
|
|
case 746:
|
|
return 746
|
|
case 747:
|
|
return 747
|
|
case 748:
|
|
return 748
|
|
case 749:
|
|
return 749
|
|
case 750:
|
|
return 750
|
|
case 751:
|
|
return 751
|
|
case 752:
|
|
return 752
|
|
case 753:
|
|
return 753
|
|
case 754:
|
|
return 754
|
|
case 755:
|
|
return 755
|
|
case 756:
|
|
return 756
|
|
case 757:
|
|
return 757
|
|
case 758:
|
|
return 758
|
|
case 759:
|
|
return 759
|
|
case 760:
|
|
return 760
|
|
case 761:
|
|
return 761
|
|
case 762:
|
|
return 762
|
|
case 763:
|
|
return 763
|
|
case 764:
|
|
return 764
|
|
case 765:
|
|
return 765
|
|
case 766:
|
|
return 766
|
|
case 767:
|
|
return 767
|
|
case 768:
|
|
return 768
|
|
case 769:
|
|
return 769
|
|
case 770:
|
|
return 770
|
|
case 771:
|
|
return 771
|
|
case 772:
|
|
return 772
|
|
case 773:
|
|
return 773
|
|
case 774:
|
|
return 774
|
|
case 775:
|
|
return 775
|
|
case 776:
|
|
return 776
|
|
case 777:
|
|
return 777
|
|
case 778:
|
|
return 778
|
|
case 779:
|
|
return 779
|
|
case 780:
|
|
return 780
|
|
case 781:
|
|
return 781
|
|
case 782:
|
|
return 782
|
|
case 783:
|
|
return 783
|
|
case 784:
|
|
return 784
|
|
case 785:
|
|
return 785
|
|
case 786:
|
|
return 786
|
|
case 787:
|
|
return 787
|
|
case 788:
|
|
return 788
|
|
case 789:
|
|
return 789
|
|
case 790:
|
|
return 790
|
|
case 791:
|
|
return 791
|
|
case 792:
|
|
return 792
|
|
case 793:
|
|
return 793
|
|
case 794:
|
|
return 794
|
|
case 795:
|
|
return 795
|
|
case 796:
|
|
return 796
|
|
case 797:
|
|
return 797
|
|
case 798:
|
|
return 798
|
|
case 799:
|
|
return 799
|
|
case 800:
|
|
return 800
|
|
case 801:
|
|
return 801
|
|
case 802:
|
|
return 802
|
|
case 803:
|
|
return 803
|
|
case 804:
|
|
return 804
|
|
case 805:
|
|
return 805
|
|
case 806:
|
|
return 806
|
|
case 807:
|
|
return 807
|
|
case 808:
|
|
return 808
|
|
case 809:
|
|
return 809
|
|
case 810:
|
|
return 810
|
|
case 811:
|
|
return 811
|
|
case 812:
|
|
return 812
|
|
case 813:
|
|
return 813
|
|
case 814:
|
|
return 814
|
|
case 815:
|
|
return 815
|
|
case 816:
|
|
return 816
|
|
case 817:
|
|
return 817
|
|
case 818:
|
|
return 818
|
|
case 819:
|
|
return 819
|
|
case 820:
|
|
return 820
|
|
case 821:
|
|
return 821
|
|
case 822:
|
|
return 822
|
|
case 823:
|
|
return 823
|
|
case 824:
|
|
return 824
|
|
case 825:
|
|
return 825
|
|
case 826:
|
|
return 826
|
|
case 827:
|
|
return 827
|
|
case 828:
|
|
return 828
|
|
case 829:
|
|
return 829
|
|
case 830:
|
|
return 830
|
|
case 831:
|
|
return 831
|
|
case 832:
|
|
return 832
|
|
case 833:
|
|
return 833
|
|
case 834:
|
|
return 834
|
|
case 835:
|
|
return 835
|
|
case 836:
|
|
return 836
|
|
case 837:
|
|
return 837
|
|
case 838:
|
|
return 838
|
|
case 839:
|
|
return 839
|
|
case 840:
|
|
return 840
|
|
case 841:
|
|
return 841
|
|
case 842:
|
|
return 842
|
|
case 843:
|
|
return 843
|
|
case 844:
|
|
return 844
|
|
case 845:
|
|
return 845
|
|
case 846:
|
|
return 846
|
|
case 847:
|
|
return 847
|
|
case 848:
|
|
return 848
|
|
case 849:
|
|
return 849
|
|
case 850:
|
|
return 850
|
|
case 851:
|
|
return 851
|
|
case 852:
|
|
return 852
|
|
case 853:
|
|
return 853
|
|
case 854:
|
|
return 854
|
|
case 855:
|
|
return 855
|
|
case 856:
|
|
return 856
|
|
case 857:
|
|
return 857
|
|
case 858:
|
|
return 858
|
|
case 859:
|
|
return 859
|
|
case 860:
|
|
return 860
|
|
case 861:
|
|
return 861
|
|
case 862:
|
|
return 862
|
|
case 863:
|
|
return 863
|
|
case 864:
|
|
return 864
|
|
case 865:
|
|
return 865
|
|
case 866:
|
|
return 866
|
|
case 867:
|
|
return 867
|
|
case 868:
|
|
return 868
|
|
case 869:
|
|
return 869
|
|
case 870:
|
|
return 870
|
|
case 871:
|
|
return 871
|
|
case 872:
|
|
return 872
|
|
case 873:
|
|
return 873
|
|
case 874:
|
|
return 874
|
|
case 875:
|
|
return 875
|
|
case 876:
|
|
return 876
|
|
case 877:
|
|
return 877
|
|
case 878:
|
|
return 878
|
|
case 879:
|
|
return 879
|
|
case 880:
|
|
return 880
|
|
case 881:
|
|
return 881
|
|
case 882:
|
|
return 882
|
|
case 883:
|
|
return 883
|
|
case 884:
|
|
return 884
|
|
case 885:
|
|
return 885
|
|
case 886:
|
|
return 886
|
|
case 887:
|
|
return 887
|
|
case 888:
|
|
return 888
|
|
case 889:
|
|
return 889
|
|
case 890:
|
|
return 890
|
|
case 891:
|
|
return 891
|
|
case 892:
|
|
return 892
|
|
case 893:
|
|
return 893
|
|
case 894:
|
|
return 894
|
|
case 895:
|
|
return 895
|
|
case 896:
|
|
return 896
|
|
case 897:
|
|
return 897
|
|
case 898:
|
|
return 898
|
|
case 899:
|
|
return 899
|
|
case 900:
|
|
return 900
|
|
case 901:
|
|
return 901
|
|
case 902:
|
|
return 902
|
|
case 903:
|
|
return 903
|
|
case 904:
|
|
return 904
|
|
case 905:
|
|
return 905
|
|
case 906:
|
|
return 906
|
|
case 907:
|
|
return 907
|
|
case 908:
|
|
return 908
|
|
case 909:
|
|
return 909
|
|
case 910:
|
|
return 910
|
|
case 911:
|
|
return 911
|
|
case 912:
|
|
return 912
|
|
case 913:
|
|
return 913
|
|
case 914:
|
|
return 914
|
|
case 915:
|
|
return 915
|
|
case 916:
|
|
return 916
|
|
case 917:
|
|
return 917
|
|
case 918:
|
|
return 918
|
|
case 919:
|
|
return 919
|
|
case 920:
|
|
return 920
|
|
case 921:
|
|
return 921
|
|
case 922:
|
|
return 922
|
|
case 923:
|
|
return 923
|
|
case 924:
|
|
return 924
|
|
case 925:
|
|
return 925
|
|
case 926:
|
|
return 926
|
|
case 927:
|
|
return 927
|
|
case 928:
|
|
return 928
|
|
case 929:
|
|
return 929
|
|
case 930:
|
|
return 930
|
|
case 931:
|
|
return 931
|
|
case 932:
|
|
return 932
|
|
case 933:
|
|
return 933
|
|
case 934:
|
|
return 934
|
|
case 935:
|
|
return 935
|
|
case 936:
|
|
return 936
|
|
case 937:
|
|
return 937
|
|
case 938:
|
|
return 938
|
|
case 939:
|
|
return 939
|
|
case 940:
|
|
return 940
|
|
case 941:
|
|
return 941
|
|
case 942:
|
|
return 942
|
|
case 943:
|
|
return 943
|
|
case 944:
|
|
return 944
|
|
case 945:
|
|
return 945
|
|
case 946:
|
|
return 946
|
|
case 947:
|
|
return 947
|
|
case 948:
|
|
return 948
|
|
case 949:
|
|
return 949
|
|
case 950:
|
|
return 950
|
|
case 951:
|
|
return 951
|
|
case 952:
|
|
return 952
|
|
case 953:
|
|
return 953
|
|
case 954:
|
|
return 954
|
|
case 955:
|
|
return 955
|
|
case 956:
|
|
return 956
|
|
case 957:
|
|
return 957
|
|
case 958:
|
|
return 958
|
|
case 959:
|
|
return 959
|
|
case 960:
|
|
return 960
|
|
case 961:
|
|
return 961
|
|
case 962:
|
|
return 962
|
|
case 963:
|
|
return 963
|
|
case 964:
|
|
return 964
|
|
case 965:
|
|
return 965
|
|
case 966:
|
|
return 966
|
|
case 967:
|
|
return 967
|
|
case 968:
|
|
return 968
|
|
case 969:
|
|
return 969
|
|
case 970:
|
|
return 970
|
|
case 971:
|
|
return 971
|
|
case 972:
|
|
return 972
|
|
case 973:
|
|
return 973
|
|
case 974:
|
|
return 974
|
|
case 975:
|
|
return 975
|
|
case 976:
|
|
return 976
|
|
case 977:
|
|
return 977
|
|
case 978:
|
|
return 978
|
|
case 979:
|
|
return 979
|
|
case 980:
|
|
return 980
|
|
case 981:
|
|
return 981
|
|
case 982:
|
|
return 982
|
|
case 983:
|
|
return 983
|
|
case 984:
|
|
return 984
|
|
case 985:
|
|
return 985
|
|
case 986:
|
|
return 986
|
|
case 987:
|
|
return 987
|
|
case 988:
|
|
return 988
|
|
case 989:
|
|
return 989
|
|
case 990:
|
|
return 990
|
|
case 991:
|
|
return 991
|
|
case 992:
|
|
return 992
|
|
case 993:
|
|
return 993
|
|
case 994:
|
|
return 994
|
|
case 995:
|
|
return 995
|
|
case 996:
|
|
return 996
|
|
case 997:
|
|
return 997
|
|
case 998:
|
|
return 998
|
|
case 999:
|
|
return 999
|
|
}
|
|
return 0
|
|
}
|