diff options
author | Roland Levillain <rpl@google.com> | 2014-11-04 17:43:11 +0000 |
---|---|---|
committer | Roland Levillain <rpl@google.com> | 2014-11-04 17:43:11 +0000 |
commit | 775ef49bad8e8d9d02fc5968858dce6a00a78475 (patch) | |
tree | eb61ed86fcaa5c168b1bbb301c931179f107b7e7 /test/421-large-frame/src | |
parent | e03864e99f5ab0e27a48a17275122ad8f324b615 (diff) | |
download | art-775ef49bad8e8d9d02fc5968858dce6a00a78475.zip art-775ef49bad8e8d9d02fc5968858dce6a00a78475.tar.gz art-775ef49bad8e8d9d02fc5968858dce6a00a78475.tar.bz2 |
Fix store instructions to large frames in ARM opt. compiler.
When accessing a stack frame at a large offset, use an
additional core register (R5 or R6) as a temporary register
whenever IP contains the value to store (and thus cannot be
used by art::Thumb2Assembler::StoreToOffset as a temporary
register to compute the memory address where the value is
to be stored). The previous value of R5 (or R6) is saved
on the stack before the emission of the store instruction
and restored afterwards.
Change-Id: Ic5fd5ab2c09d8327dd1f0f241d40d2c397ce64cd
Diffstat (limited to 'test/421-large-frame/src')
-rw-r--r-- | test/421-large-frame/src/Main.java | 2034 |
1 files changed, 2034 insertions, 0 deletions
diff --git a/test/421-large-frame/src/Main.java b/test/421-large-frame/src/Main.java new file mode 100644 index 0000000..01b89ba --- /dev/null +++ b/test/421-large-frame/src/Main.java @@ -0,0 +1,2034 @@ +/* + * Copyright (C) 2014 The Android Open Source Project + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +// Note that $opt$ is a marker for the optimizing compiler to ensure +// it does compile the method. +public class Main { + + public static void assertEquals(long expected, long result) { + if (expected != result) { + throw new Error("Expected: " + expected + ", found: " + result); + } + } + + public static void main(String[] args) { + // Sum[i = 0..999](i) = 999 * 1000 / 2 = 499500L. + assertEquals(499500L, $opt$LargeFrame()); + } + + static long $opt$LargeFrame() { + long l0 = 0L; + long l1 = 1L; + long l2 = 2L; + long l3 = 3L; + long l4 = 4L; + long l5 = 5L; + long l6 = 6L; + long l7 = 7L; + long l8 = 8L; + long l9 = 9L; + long l10 = 10L; + long l11 = 11L; + long l12 = 12L; + long l13 = 13L; + long l14 = 14L; + long l15 = 15L; + long l16 = 16L; + long l17 = 17L; + long l18 = 18L; + long l19 = 19L; + long l20 = 20L; + long l21 = 21L; + long l22 = 22L; + long l23 = 23L; + long l24 = 24L; + long l25 = 25L; + long l26 = 26L; + long l27 = 27L; + long l28 = 28L; + long l29 = 29L; + long l30 = 30L; + long l31 = 31L; + long l32 = 32L; + long l33 = 33L; + long l34 = 34L; + long l35 = 35L; + long l36 = 36L; + long l37 = 37L; + long l38 = 38L; + long l39 = 39L; + long l40 = 40L; + long l41 = 41L; + long l42 = 42L; + long l43 = 43L; + long l44 = 44L; + long l45 = 45L; + long l46 = 46L; + long l47 = 47L; + long l48 = 48L; + long l49 = 49L; + long l50 = 50L; + long l51 = 51L; + long l52 = 52L; + long l53 = 53L; + long l54 = 54L; + long l55 = 55L; + long l56 = 56L; + long l57 = 57L; + long l58 = 58L; + long l59 = 59L; + long l60 = 60L; + long l61 = 61L; + long l62 = 62L; + long l63 = 63L; + long l64 = 64L; + long l65 = 65L; + long l66 = 66L; + long l67 = 67L; + long l68 = 68L; + long l69 = 69L; + long l70 = 70L; + long l71 = 71L; + long l72 = 72L; + long l73 = 73L; + long l74 = 74L; + long l75 = 75L; + long l76 = 76L; + long l77 = 77L; + long l78 = 78L; + long l79 = 79L; + long l80 = 80L; + long l81 = 81L; + long l82 = 82L; + long l83 = 83L; + long l84 = 84L; + long l85 = 85L; + long l86 = 86L; + long l87 = 87L; + long l88 = 88L; + long l89 = 89L; + long l90 = 90L; + long l91 = 91L; + long l92 = 92L; + long l93 = 93L; + long l94 = 94L; + long l95 = 95L; + long l96 = 96L; + long l97 = 97L; + long l98 = 98L; + long l99 = 99L; + long l100 = 100L; + long l101 = 101L; + long l102 = 102L; + long l103 = 103L; + long l104 = 104L; + long l105 = 105L; + long l106 = 106L; + long l107 = 107L; + long l108 = 108L; + long l109 = 109L; + long l110 = 110L; + long l111 = 111L; + long l112 = 112L; + long l113 = 113L; + long l114 = 114L; + long l115 = 115L; + long l116 = 116L; + long l117 = 117L; + long l118 = 118L; + long l119 = 119L; + long l120 = 120L; + long l121 = 121L; + long l122 = 122L; + long l123 = 123L; + long l124 = 124L; + long l125 = 125L; + long l126 = 126L; + long l127 = 127L; + long l128 = 128L; + long l129 = 129L; + long l130 = 130L; + long l131 = 131L; + long l132 = 132L; + long l133 = 133L; + long l134 = 134L; + long l135 = 135L; + long l136 = 136L; + long l137 = 137L; + long l138 = 138L; + long l139 = 139L; + long l140 = 140L; + long l141 = 141L; + long l142 = 142L; + long l143 = 143L; + long l144 = 144L; + long l145 = 145L; + long l146 = 146L; + long l147 = 147L; + long l148 = 148L; + long l149 = 149L; + long l150 = 150L; + long l151 = 151L; + long l152 = 152L; + long l153 = 153L; + long l154 = 154L; + long l155 = 155L; + long l156 = 156L; + long l157 = 157L; + long l158 = 158L; + long l159 = 159L; + long l160 = 160L; + long l161 = 161L; + long l162 = 162L; + long l163 = 163L; + long l164 = 164L; + long l165 = 165L; + long l166 = 166L; + long l167 = 167L; + long l168 = 168L; + long l169 = 169L; + long l170 = 170L; + long l171 = 171L; + long l172 = 172L; + long l173 = 173L; + long l174 = 174L; + long l175 = 175L; + long l176 = 176L; + long l177 = 177L; + long l178 = 178L; + long l179 = 179L; + long l180 = 180L; + long l181 = 181L; + long l182 = 182L; + long l183 = 183L; + long l184 = 184L; + long l185 = 185L; + long l186 = 186L; + long l187 = 187L; + long l188 = 188L; + long l189 = 189L; + long l190 = 190L; + long l191 = 191L; + long l192 = 192L; + long l193 = 193L; + long l194 = 194L; + long l195 = 195L; + long l196 = 196L; + long l197 = 197L; + long l198 = 198L; + long l199 = 199L; + long l200 = 200L; + long l201 = 201L; + long l202 = 202L; + long l203 = 203L; + long l204 = 204L; + long l205 = 205L; + long l206 = 206L; + long l207 = 207L; + long l208 = 208L; + long l209 = 209L; + long l210 = 210L; + long l211 = 211L; + long l212 = 212L; + long l213 = 213L; + long l214 = 214L; + long l215 = 215L; + long l216 = 216L; + long l217 = 217L; + long l218 = 218L; + long l219 = 219L; + long l220 = 220L; + long l221 = 221L; + long l222 = 222L; + long l223 = 223L; + long l224 = 224L; + long l225 = 225L; + long l226 = 226L; + long l227 = 227L; + long l228 = 228L; + long l229 = 229L; + long l230 = 230L; + long l231 = 231L; + long l232 = 232L; + long l233 = 233L; + long l234 = 234L; + long l235 = 235L; + long l236 = 236L; + long l237 = 237L; + long l238 = 238L; + long l239 = 239L; + long l240 = 240L; + long l241 = 241L; + long l242 = 242L; + long l243 = 243L; + long l244 = 244L; + long l245 = 245L; + long l246 = 246L; + long l247 = 247L; + long l248 = 248L; + long l249 = 249L; + long l250 = 250L; + long l251 = 251L; + long l252 = 252L; + long l253 = 253L; + long l254 = 254L; + long l255 = 255L; + long l256 = 256L; + long l257 = 257L; + long l258 = 258L; + long l259 = 259L; + long l260 = 260L; + long l261 = 261L; + long l262 = 262L; + long l263 = 263L; + long l264 = 264L; + long l265 = 265L; + long l266 = 266L; + long l267 = 267L; + long l268 = 268L; + long l269 = 269L; + long l270 = 270L; + long l271 = 271L; + long l272 = 272L; + long l273 = 273L; + long l274 = 274L; + long l275 = 275L; + long l276 = 276L; + long l277 = 277L; + long l278 = 278L; + long l279 = 279L; + long l280 = 280L; + long l281 = 281L; + long l282 = 282L; + long l283 = 283L; + long l284 = 284L; + long l285 = 285L; + long l286 = 286L; + long l287 = 287L; + long l288 = 288L; + long l289 = 289L; + long l290 = 290L; + long l291 = 291L; + long l292 = 292L; + long l293 = 293L; + long l294 = 294L; + long l295 = 295L; + long l296 = 296L; + long l297 = 297L; + long l298 = 298L; + long l299 = 299L; + long l300 = 300L; + long l301 = 301L; + long l302 = 302L; + long l303 = 303L; + long l304 = 304L; + long l305 = 305L; + long l306 = 306L; + long l307 = 307L; + long l308 = 308L; + long l309 = 309L; + long l310 = 310L; + long l311 = 311L; + long l312 = 312L; + long l313 = 313L; + long l314 = 314L; + long l315 = 315L; + long l316 = 316L; + long l317 = 317L; + long l318 = 318L; + long l319 = 319L; + long l320 = 320L; + long l321 = 321L; + long l322 = 322L; + long l323 = 323L; + long l324 = 324L; + long l325 = 325L; + long l326 = 326L; + long l327 = 327L; + long l328 = 328L; + long l329 = 329L; + long l330 = 330L; + long l331 = 331L; + long l332 = 332L; + long l333 = 333L; + long l334 = 334L; + long l335 = 335L; + long l336 = 336L; + long l337 = 337L; + long l338 = 338L; + long l339 = 339L; + long l340 = 340L; + long l341 = 341L; + long l342 = 342L; + long l343 = 343L; + long l344 = 344L; + long l345 = 345L; + long l346 = 346L; + long l347 = 347L; + long l348 = 348L; + long l349 = 349L; + long l350 = 350L; + long l351 = 351L; + long l352 = 352L; + long l353 = 353L; + long l354 = 354L; + long l355 = 355L; + long l356 = 356L; + long l357 = 357L; + long l358 = 358L; + long l359 = 359L; + long l360 = 360L; + long l361 = 361L; + long l362 = 362L; + long l363 = 363L; + long l364 = 364L; + long l365 = 365L; + long l366 = 366L; + long l367 = 367L; + long l368 = 368L; + long l369 = 369L; + long l370 = 370L; + long l371 = 371L; + long l372 = 372L; + long l373 = 373L; + long l374 = 374L; + long l375 = 375L; + long l376 = 376L; + long l377 = 377L; + long l378 = 378L; + long l379 = 379L; + long l380 = 380L; + long l381 = 381L; + long l382 = 382L; + long l383 = 383L; + long l384 = 384L; + long l385 = 385L; + long l386 = 386L; + long l387 = 387L; + long l388 = 388L; + long l389 = 389L; + long l390 = 390L; + long l391 = 391L; + long l392 = 392L; + long l393 = 393L; + long l394 = 394L; + long l395 = 395L; + long l396 = 396L; + long l397 = 397L; + long l398 = 398L; + long l399 = 399L; + long l400 = 400L; + long l401 = 401L; + long l402 = 402L; + long l403 = 403L; + long l404 = 404L; + long l405 = 405L; + long l406 = 406L; + long l407 = 407L; + long l408 = 408L; + long l409 = 409L; + long l410 = 410L; + long l411 = 411L; + long l412 = 412L; + long l413 = 413L; + long l414 = 414L; + long l415 = 415L; + long l416 = 416L; + long l417 = 417L; + long l418 = 418L; + long l419 = 419L; + long l420 = 420L; + long l421 = 421L; + long l422 = 422L; + long l423 = 423L; + long l424 = 424L; + long l425 = 425L; + long l426 = 426L; + long l427 = 427L; + long l428 = 428L; + long l429 = 429L; + long l430 = 430L; + long l431 = 431L; + long l432 = 432L; + long l433 = 433L; + long l434 = 434L; + long l435 = 435L; + long l436 = 436L; + long l437 = 437L; + long l438 = 438L; + long l439 = 439L; + long l440 = 440L; + long l441 = 441L; + long l442 = 442L; + long l443 = 443L; + long l444 = 444L; + long l445 = 445L; + long l446 = 446L; + long l447 = 447L; + long l448 = 448L; + long l449 = 449L; + long l450 = 450L; + long l451 = 451L; + long l452 = 452L; + long l453 = 453L; + long l454 = 454L; + long l455 = 455L; + long l456 = 456L; + long l457 = 457L; + long l458 = 458L; + long l459 = 459L; + long l460 = 460L; + long l461 = 461L; + long l462 = 462L; + long l463 = 463L; + long l464 = 464L; + long l465 = 465L; + long l466 = 466L; + long l467 = 467L; + long l468 = 468L; + long l469 = 469L; + long l470 = 470L; + long l471 = 471L; + long l472 = 472L; + long l473 = 473L; + long l474 = 474L; + long l475 = 475L; + long l476 = 476L; + long l477 = 477L; + long l478 = 478L; + long l479 = 479L; + long l480 = 480L; + long l481 = 481L; + long l482 = 482L; + long l483 = 483L; + long l484 = 484L; + long l485 = 485L; + long l486 = 486L; + long l487 = 487L; + long l488 = 488L; + long l489 = 489L; + long l490 = 490L; + long l491 = 491L; + long l492 = 492L; + long l493 = 493L; + long l494 = 494L; + long l495 = 495L; + long l496 = 496L; + long l497 = 497L; + long l498 = 498L; + long l499 = 499L; + long l500 = 500L; + long l501 = 501L; + long l502 = 502L; + long l503 = 503L; + long l504 = 504L; + long l505 = 505L; + long l506 = 506L; + long l507 = 507L; + long l508 = 508L; + long l509 = 509L; + long l510 = 510L; + long l511 = 511L; + long l512 = 512L; + long l513 = 513L; + long l514 = 514L; + long l515 = 515L; + long l516 = 516L; + long l517 = 517L; + long l518 = 518L; + long l519 = 519L; + long l520 = 520L; + long l521 = 521L; + long l522 = 522L; + long l523 = 523L; + long l524 = 524L; + long l525 = 525L; + long l526 = 526L; + long l527 = 527L; + long l528 = 528L; + long l529 = 529L; + long l530 = 530L; + long l531 = 531L; + long l532 = 532L; + long l533 = 533L; + long l534 = 534L; + long l535 = 535L; + long l536 = 536L; + long l537 = 537L; + long l538 = 538L; + long l539 = 539L; + long l540 = 540L; + long l541 = 541L; + long l542 = 542L; + long l543 = 543L; + long l544 = 544L; + long l545 = 545L; + long l546 = 546L; + long l547 = 547L; + long l548 = 548L; + long l549 = 549L; + long l550 = 550L; + long l551 = 551L; + long l552 = 552L; + long l553 = 553L; + long l554 = 554L; + long l555 = 555L; + long l556 = 556L; + long l557 = 557L; + long l558 = 558L; + long l559 = 559L; + long l560 = 560L; + long l561 = 561L; + long l562 = 562L; + long l563 = 563L; + long l564 = 564L; + long l565 = 565L; + long l566 = 566L; + long l567 = 567L; + long l568 = 568L; + long l569 = 569L; + long l570 = 570L; + long l571 = 571L; + long l572 = 572L; + long l573 = 573L; + long l574 = 574L; + long l575 = 575L; + long l576 = 576L; + long l577 = 577L; + long l578 = 578L; + long l579 = 579L; + long l580 = 580L; + long l581 = 581L; + long l582 = 582L; + long l583 = 583L; + long l584 = 584L; + long l585 = 585L; + long l586 = 586L; + long l587 = 587L; + long l588 = 588L; + long l589 = 589L; + long l590 = 590L; + long l591 = 591L; + long l592 = 592L; + long l593 = 593L; + long l594 = 594L; + long l595 = 595L; + long l596 = 596L; + long l597 = 597L; + long l598 = 598L; + long l599 = 599L; + long l600 = 600L; + long l601 = 601L; + long l602 = 602L; + long l603 = 603L; + long l604 = 604L; + long l605 = 605L; + long l606 = 606L; + long l607 = 607L; + long l608 = 608L; + long l609 = 609L; + long l610 = 610L; + long l611 = 611L; + long l612 = 612L; + long l613 = 613L; + long l614 = 614L; + long l615 = 615L; + long l616 = 616L; + long l617 = 617L; + long l618 = 618L; + long l619 = 619L; + long l620 = 620L; + long l621 = 621L; + long l622 = 622L; + long l623 = 623L; + long l624 = 624L; + long l625 = 625L; + long l626 = 626L; + long l627 = 627L; + long l628 = 628L; + long l629 = 629L; + long l630 = 630L; + long l631 = 631L; + long l632 = 632L; + long l633 = 633L; + long l634 = 634L; + long l635 = 635L; + long l636 = 636L; + long l637 = 637L; + long l638 = 638L; + long l639 = 639L; + long l640 = 640L; + long l641 = 641L; + long l642 = 642L; + long l643 = 643L; + long l644 = 644L; + long l645 = 645L; + long l646 = 646L; + long l647 = 647L; + long l648 = 648L; + long l649 = 649L; + long l650 = 650L; + long l651 = 651L; + long l652 = 652L; + long l653 = 653L; + long l654 = 654L; + long l655 = 655L; + long l656 = 656L; + long l657 = 657L; + long l658 = 658L; + long l659 = 659L; + long l660 = 660L; + long l661 = 661L; + long l662 = 662L; + long l663 = 663L; + long l664 = 664L; + long l665 = 665L; + long l666 = 666L; + long l667 = 667L; + long l668 = 668L; + long l669 = 669L; + long l670 = 670L; + long l671 = 671L; + long l672 = 672L; + long l673 = 673L; + long l674 = 674L; + long l675 = 675L; + long l676 = 676L; + long l677 = 677L; + long l678 = 678L; + long l679 = 679L; + long l680 = 680L; + long l681 = 681L; + long l682 = 682L; + long l683 = 683L; + long l684 = 684L; + long l685 = 685L; + long l686 = 686L; + long l687 = 687L; + long l688 = 688L; + long l689 = 689L; + long l690 = 690L; + long l691 = 691L; + long l692 = 692L; + long l693 = 693L; + long l694 = 694L; + long l695 = 695L; + long l696 = 696L; + long l697 = 697L; + long l698 = 698L; + long l699 = 699L; + long l700 = 700L; + long l701 = 701L; + long l702 = 702L; + long l703 = 703L; + long l704 = 704L; + long l705 = 705L; + long l706 = 706L; + long l707 = 707L; + long l708 = 708L; + long l709 = 709L; + long l710 = 710L; + long l711 = 711L; + long l712 = 712L; + long l713 = 713L; + long l714 = 714L; + long l715 = 715L; + long l716 = 716L; + long l717 = 717L; + long l718 = 718L; + long l719 = 719L; + long l720 = 720L; + long l721 = 721L; + long l722 = 722L; + long l723 = 723L; + long l724 = 724L; + long l725 = 725L; + long l726 = 726L; + long l727 = 727L; + long l728 = 728L; + long l729 = 729L; + long l730 = 730L; + long l731 = 731L; + long l732 = 732L; + long l733 = 733L; + long l734 = 734L; + long l735 = 735L; + long l736 = 736L; + long l737 = 737L; + long l738 = 738L; + long l739 = 739L; + long l740 = 740L; + long l741 = 741L; + long l742 = 742L; + long l743 = 743L; + long l744 = 744L; + long l745 = 745L; + long l746 = 746L; + long l747 = 747L; + long l748 = 748L; + long l749 = 749L; + long l750 = 750L; + long l751 = 751L; + long l752 = 752L; + long l753 = 753L; + long l754 = 754L; + long l755 = 755L; + long l756 = 756L; + long l757 = 757L; + long l758 = 758L; + long l759 = 759L; + long l760 = 760L; + long l761 = 761L; + long l762 = 762L; + long l763 = 763L; + long l764 = 764L; + long l765 = 765L; + long l766 = 766L; + long l767 = 767L; + long l768 = 768L; + long l769 = 769L; + long l770 = 770L; + long l771 = 771L; + long l772 = 772L; + long l773 = 773L; + long l774 = 774L; + long l775 = 775L; + long l776 = 776L; + long l777 = 777L; + long l778 = 778L; + long l779 = 779L; + long l780 = 780L; + long l781 = 781L; + long l782 = 782L; + long l783 = 783L; + long l784 = 784L; + long l785 = 785L; + long l786 = 786L; + long l787 = 787L; + long l788 = 788L; + long l789 = 789L; + long l790 = 790L; + long l791 = 791L; + long l792 = 792L; + long l793 = 793L; + long l794 = 794L; + long l795 = 795L; + long l796 = 796L; + long l797 = 797L; + long l798 = 798L; + long l799 = 799L; + long l800 = 800L; + long l801 = 801L; + long l802 = 802L; + long l803 = 803L; + long l804 = 804L; + long l805 = 805L; + long l806 = 806L; + long l807 = 807L; + long l808 = 808L; + long l809 = 809L; + long l810 = 810L; + long l811 = 811L; + long l812 = 812L; + long l813 = 813L; + long l814 = 814L; + long l815 = 815L; + long l816 = 816L; + long l817 = 817L; + long l818 = 818L; + long l819 = 819L; + long l820 = 820L; + long l821 = 821L; + long l822 = 822L; + long l823 = 823L; + long l824 = 824L; + long l825 = 825L; + long l826 = 826L; + long l827 = 827L; + long l828 = 828L; + long l829 = 829L; + long l830 = 830L; + long l831 = 831L; + long l832 = 832L; + long l833 = 833L; + long l834 = 834L; + long l835 = 835L; + long l836 = 836L; + long l837 = 837L; + long l838 = 838L; + long l839 = 839L; + long l840 = 840L; + long l841 = 841L; + long l842 = 842L; + long l843 = 843L; + long l844 = 844L; + long l845 = 845L; + long l846 = 846L; + long l847 = 847L; + long l848 = 848L; + long l849 = 849L; + long l850 = 850L; + long l851 = 851L; + long l852 = 852L; + long l853 = 853L; + long l854 = 854L; + long l855 = 855L; + long l856 = 856L; + long l857 = 857L; + long l858 = 858L; + long l859 = 859L; + long l860 = 860L; + long l861 = 861L; + long l862 = 862L; + long l863 = 863L; + long l864 = 864L; + long l865 = 865L; + long l866 = 866L; + long l867 = 867L; + long l868 = 868L; + long l869 = 869L; + long l870 = 870L; + long l871 = 871L; + long l872 = 872L; + long l873 = 873L; + long l874 = 874L; + long l875 = 875L; + long l876 = 876L; + long l877 = 877L; + long l878 = 878L; + long l879 = 879L; + long l880 = 880L; + long l881 = 881L; + long l882 = 882L; + long l883 = 883L; + long l884 = 884L; + long l885 = 885L; + long l886 = 886L; + long l887 = 887L; + long l888 = 888L; + long l889 = 889L; + long l890 = 890L; + long l891 = 891L; + long l892 = 892L; + long l893 = 893L; + long l894 = 894L; + long l895 = 895L; + long l896 = 896L; + long l897 = 897L; + long l898 = 898L; + long l899 = 899L; + long l900 = 900L; + long l901 = 901L; + long l902 = 902L; + long l903 = 903L; + long l904 = 904L; + long l905 = 905L; + long l906 = 906L; + long l907 = 907L; + long l908 = 908L; + long l909 = 909L; + long l910 = 910L; + long l911 = 911L; + long l912 = 912L; + long l913 = 913L; + long l914 = 914L; + long l915 = 915L; + long l916 = 916L; + long l917 = 917L; + long l918 = 918L; + long l919 = 919L; + long l920 = 920L; + long l921 = 921L; + long l922 = 922L; + long l923 = 923L; + long l924 = 924L; + long l925 = 925L; + long l926 = 926L; + long l927 = 927L; + long l928 = 928L; + long l929 = 929L; + long l930 = 930L; + long l931 = 931L; + long l932 = 932L; + long l933 = 933L; + long l934 = 934L; + long l935 = 935L; + long l936 = 936L; + long l937 = 937L; + long l938 = 938L; + long l939 = 939L; + long l940 = 940L; + long l941 = 941L; + long l942 = 942L; + long l943 = 943L; + long l944 = 944L; + long l945 = 945L; + long l946 = 946L; + long l947 = 947L; + long l948 = 948L; + long l949 = 949L; + long l950 = 950L; + long l951 = 951L; + long l952 = 952L; + long l953 = 953L; + long l954 = 954L; + long l955 = 955L; + long l956 = 956L; + long l957 = 957L; + long l958 = 958L; + long l959 = 959L; + long l960 = 960L; + long l961 = 961L; + long l962 = 962L; + long l963 = 963L; + long l964 = 964L; + long l965 = 965L; + long l966 = 966L; + long l967 = 967L; + long l968 = 968L; + long l969 = 969L; + long l970 = 970L; + long l971 = 971L; + long l972 = 972L; + long l973 = 973L; + long l974 = 974L; + long l975 = 975L; + long l976 = 976L; + long l977 = 977L; + long l978 = 978L; + long l979 = 979L; + long l980 = 980L; + long l981 = 981L; + long l982 = 982L; + long l983 = 983L; + long l984 = 984L; + long l985 = 985L; + long l986 = 986L; + long l987 = 987L; + long l988 = 988L; + long l989 = 989L; + long l990 = 990L; + long l991 = 991L; + long l992 = 992L; + long l993 = 993L; + long l994 = 994L; + long l995 = 995L; + long l996 = 996L; + long l997 = 997L; + long l998 = 998L; + long l999 = 999L; + l1 += l0; + l2 += l1; + l3 += l2; + l4 += l3; + l5 += l4; + l6 += l5; + l7 += l6; + l8 += l7; + l9 += l8; + l10 += l9; + l11 += l10; + l12 += l11; + l13 += l12; + l14 += l13; + l15 += l14; + l16 += l15; + l17 += l16; + l18 += l17; + l19 += l18; + l20 += l19; + l21 += l20; + l22 += l21; + l23 += l22; + l24 += l23; + l25 += l24; + l26 += l25; + l27 += l26; + l28 += l27; + l29 += l28; + l30 += l29; + l31 += l30; + l32 += l31; + l33 += l32; + l34 += l33; + l35 += l34; + l36 += l35; + l37 += l36; + l38 += l37; + l39 += l38; + l40 += l39; + l41 += l40; + l42 += l41; + l43 += l42; + l44 += l43; + l45 += l44; + l46 += l45; + l47 += l46; + l48 += l47; + l49 += l48; + l50 += l49; + l51 += l50; + l52 += l51; + l53 += l52; + l54 += l53; + l55 += l54; + l56 += l55; + l57 += l56; + l58 += l57; + l59 += l58; + l60 += l59; + l61 += l60; + l62 += l61; + l63 += l62; + l64 += l63; + l65 += l64; + l66 += l65; + l67 += l66; + l68 += l67; + l69 += l68; + l70 += l69; + l71 += l70; + l72 += l71; + l73 += l72; + l74 += l73; + l75 += l74; + l76 += l75; + l77 += l76; + l78 += l77; + l79 += l78; + l80 += l79; + l81 += l80; + l82 += l81; + l83 += l82; + l84 += l83; + l85 += l84; + l86 += l85; + l87 += l86; + l88 += l87; + l89 += l88; + l90 += l89; + l91 += l90; + l92 += l91; + l93 += l92; + l94 += l93; + l95 += l94; + l96 += l95; + l97 += l96; + l98 += l97; + l99 += l98; + l100 += l99; + l101 += l100; + l102 += l101; + l103 += l102; + l104 += l103; + l105 += l104; + l106 += l105; + l107 += l106; + l108 += l107; + l109 += l108; + l110 += l109; + l111 += l110; + l112 += l111; + l113 += l112; + l114 += l113; + l115 += l114; + l116 += l115; + l117 += l116; + l118 += l117; + l119 += l118; + l120 += l119; + l121 += l120; + l122 += l121; + l123 += l122; + l124 += l123; + l125 += l124; + l126 += l125; + l127 += l126; + l128 += l127; + l129 += l128; + l130 += l129; + l131 += l130; + l132 += l131; + l133 += l132; + l134 += l133; + l135 += l134; + l136 += l135; + l137 += l136; + l138 += l137; + l139 += l138; + l140 += l139; + l141 += l140; + l142 += l141; + l143 += l142; + l144 += l143; + l145 += l144; + l146 += l145; + l147 += l146; + l148 += l147; + l149 += l148; + l150 += l149; + l151 += l150; + l152 += l151; + l153 += l152; + l154 += l153; + l155 += l154; + l156 += l155; + l157 += l156; + l158 += l157; + l159 += l158; + l160 += l159; + l161 += l160; + l162 += l161; + l163 += l162; + l164 += l163; + l165 += l164; + l166 += l165; + l167 += l166; + l168 += l167; + l169 += l168; + l170 += l169; + l171 += l170; + l172 += l171; + l173 += l172; + l174 += l173; + l175 += l174; + l176 += l175; + l177 += l176; + l178 += l177; + l179 += l178; + l180 += l179; + l181 += l180; + l182 += l181; + l183 += l182; + l184 += l183; + l185 += l184; + l186 += l185; + l187 += l186; + l188 += l187; + l189 += l188; + l190 += l189; + l191 += l190; + l192 += l191; + l193 += l192; + l194 += l193; + l195 += l194; + l196 += l195; + l197 += l196; + l198 += l197; + l199 += l198; + l200 += l199; + l201 += l200; + l202 += l201; + l203 += l202; + l204 += l203; + l205 += l204; + l206 += l205; + l207 += l206; + l208 += l207; + l209 += l208; + l210 += l209; + l211 += l210; + l212 += l211; + l213 += l212; + l214 += l213; + l215 += l214; + l216 += l215; + l217 += l216; + l218 += l217; + l219 += l218; + l220 += l219; + l221 += l220; + l222 += l221; + l223 += l222; + l224 += l223; + l225 += l224; + l226 += l225; + l227 += l226; + l228 += l227; + l229 += l228; + l230 += l229; + l231 += l230; + l232 += l231; + l233 += l232; + l234 += l233; + l235 += l234; + l236 += l235; + l237 += l236; + l238 += l237; + l239 += l238; + l240 += l239; + l241 += l240; + l242 += l241; + l243 += l242; + l244 += l243; + l245 += l244; + l246 += l245; + l247 += l246; + l248 += l247; + l249 += l248; + l250 += l249; + l251 += l250; + l252 += l251; + l253 += l252; + l254 += l253; + l255 += l254; + l256 += l255; + l257 += l256; + l258 += l257; + l259 += l258; + l260 += l259; + l261 += l260; + l262 += l261; + l263 += l262; + l264 += l263; + l265 += l264; + l266 += l265; + l267 += l266; + l268 += l267; + l269 += l268; + l270 += l269; + l271 += l270; + l272 += l271; + l273 += l272; + l274 += l273; + l275 += l274; + l276 += l275; + l277 += l276; + l278 += l277; + l279 += l278; + l280 += l279; + l281 += l280; + l282 += l281; + l283 += l282; + l284 += l283; + l285 += l284; + l286 += l285; + l287 += l286; + l288 += l287; + l289 += l288; + l290 += l289; + l291 += l290; + l292 += l291; + l293 += l292; + l294 += l293; + l295 += l294; + l296 += l295; + l297 += l296; + l298 += l297; + l299 += l298; + l300 += l299; + l301 += l300; + l302 += l301; + l303 += l302; + l304 += l303; + l305 += l304; + l306 += l305; + l307 += l306; + l308 += l307; + l309 += l308; + l310 += l309; + l311 += l310; + l312 += l311; + l313 += l312; + l314 += l313; + l315 += l314; + l316 += l315; + l317 += l316; + l318 += l317; + l319 += l318; + l320 += l319; + l321 += l320; + l322 += l321; + l323 += l322; + l324 += l323; + l325 += l324; + l326 += l325; + l327 += l326; + l328 += l327; + l329 += l328; + l330 += l329; + l331 += l330; + l332 += l331; + l333 += l332; + l334 += l333; + l335 += l334; + l336 += l335; + l337 += l336; + l338 += l337; + l339 += l338; + l340 += l339; + l341 += l340; + l342 += l341; + l343 += l342; + l344 += l343; + l345 += l344; + l346 += l345; + l347 += l346; + l348 += l347; + l349 += l348; + l350 += l349; + l351 += l350; + l352 += l351; + l353 += l352; + l354 += l353; + l355 += l354; + l356 += l355; + l357 += l356; + l358 += l357; + l359 += l358; + l360 += l359; + l361 += l360; + l362 += l361; + l363 += l362; + l364 += l363; + l365 += l364; + l366 += l365; + l367 += l366; + l368 += l367; + l369 += l368; + l370 += l369; + l371 += l370; + l372 += l371; + l373 += l372; + l374 += l373; + l375 += l374; + l376 += l375; + l377 += l376; + l378 += l377; + l379 += l378; + l380 += l379; + l381 += l380; + l382 += l381; + l383 += l382; + l384 += l383; + l385 += l384; + l386 += l385; + l387 += l386; + l388 += l387; + l389 += l388; + l390 += l389; + l391 += l390; + l392 += l391; + l393 += l392; + l394 += l393; + l395 += l394; + l396 += l395; + l397 += l396; + l398 += l397; + l399 += l398; + l400 += l399; + l401 += l400; + l402 += l401; + l403 += l402; + l404 += l403; + l405 += l404; + l406 += l405; + l407 += l406; + l408 += l407; + l409 += l408; + l410 += l409; + l411 += l410; + l412 += l411; + l413 += l412; + l414 += l413; + l415 += l414; + l416 += l415; + l417 += l416; + l418 += l417; + l419 += l418; + l420 += l419; + l421 += l420; + l422 += l421; + l423 += l422; + l424 += l423; + l425 += l424; + l426 += l425; + l427 += l426; + l428 += l427; + l429 += l428; + l430 += l429; + l431 += l430; + l432 += l431; + l433 += l432; + l434 += l433; + l435 += l434; + l436 += l435; + l437 += l436; + l438 += l437; + l439 += l438; + l440 += l439; + l441 += l440; + l442 += l441; + l443 += l442; + l444 += l443; + l445 += l444; + l446 += l445; + l447 += l446; + l448 += l447; + l449 += l448; + l450 += l449; + l451 += l450; + l452 += l451; + l453 += l452; + l454 += l453; + l455 += l454; + l456 += l455; + l457 += l456; + l458 += l457; + l459 += l458; + l460 += l459; + l461 += l460; + l462 += l461; + l463 += l462; + l464 += l463; + l465 += l464; + l466 += l465; + l467 += l466; + l468 += l467; + l469 += l468; + l470 += l469; + l471 += l470; + l472 += l471; + l473 += l472; + l474 += l473; + l475 += l474; + l476 += l475; + l477 += l476; + l478 += l477; + l479 += l478; + l480 += l479; + l481 += l480; + l482 += l481; + l483 += l482; + l484 += l483; + l485 += l484; + l486 += l485; + l487 += l486; + l488 += l487; + l489 += l488; + l490 += l489; + l491 += l490; + l492 += l491; + l493 += l492; + l494 += l493; + l495 += l494; + l496 += l495; + l497 += l496; + l498 += l497; + l499 += l498; + l500 += l499; + l501 += l500; + l502 += l501; + l503 += l502; + l504 += l503; + l505 += l504; + l506 += l505; + l507 += l506; + l508 += l507; + l509 += l508; + l510 += l509; + l511 += l510; + l512 += l511; + l513 += l512; + l514 += l513; + l515 += l514; + l516 += l515; + l517 += l516; + l518 += l517; + l519 += l518; + l520 += l519; + l521 += l520; + l522 += l521; + l523 += l522; + l524 += l523; + l525 += l524; + l526 += l525; + l527 += l526; + l528 += l527; + l529 += l528; + l530 += l529; + l531 += l530; + l532 += l531; + l533 += l532; + l534 += l533; + l535 += l534; + l536 += l535; + l537 += l536; + l538 += l537; + l539 += l538; + l540 += l539; + l541 += l540; + l542 += l541; + l543 += l542; + l544 += l543; + l545 += l544; + l546 += l545; + l547 += l546; + l548 += l547; + l549 += l548; + l550 += l549; + l551 += l550; + l552 += l551; + l553 += l552; + l554 += l553; + l555 += l554; + l556 += l555; + l557 += l556; + l558 += l557; + l559 += l558; + l560 += l559; + l561 += l560; + l562 += l561; + l563 += l562; + l564 += l563; + l565 += l564; + l566 += l565; + l567 += l566; + l568 += l567; + l569 += l568; + l570 += l569; + l571 += l570; + l572 += l571; + l573 += l572; + l574 += l573; + l575 += l574; + l576 += l575; + l577 += l576; + l578 += l577; + l579 += l578; + l580 += l579; + l581 += l580; + l582 += l581; + l583 += l582; + l584 += l583; + l585 += l584; + l586 += l585; + l587 += l586; + l588 += l587; + l589 += l588; + l590 += l589; + l591 += l590; + l592 += l591; + l593 += l592; + l594 += l593; + l595 += l594; + l596 += l595; + l597 += l596; + l598 += l597; + l599 += l598; + l600 += l599; + l601 += l600; + l602 += l601; + l603 += l602; + l604 += l603; + l605 += l604; + l606 += l605; + l607 += l606; + l608 += l607; + l609 += l608; + l610 += l609; + l611 += l610; + l612 += l611; + l613 += l612; + l614 += l613; + l615 += l614; + l616 += l615; + l617 += l616; + l618 += l617; + l619 += l618; + l620 += l619; + l621 += l620; + l622 += l621; + l623 += l622; + l624 += l623; + l625 += l624; + l626 += l625; + l627 += l626; + l628 += l627; + l629 += l628; + l630 += l629; + l631 += l630; + l632 += l631; + l633 += l632; + l634 += l633; + l635 += l634; + l636 += l635; + l637 += l636; + l638 += l637; + l639 += l638; + l640 += l639; + l641 += l640; + l642 += l641; + l643 += l642; + l644 += l643; + l645 += l644; + l646 += l645; + l647 += l646; + l648 += l647; + l649 += l648; + l650 += l649; + l651 += l650; + l652 += l651; + l653 += l652; + l654 += l653; + l655 += l654; + l656 += l655; + l657 += l656; + l658 += l657; + l659 += l658; + l660 += l659; + l661 += l660; + l662 += l661; + l663 += l662; + l664 += l663; + l665 += l664; + l666 += l665; + l667 += l666; + l668 += l667; + l669 += l668; + l670 += l669; + l671 += l670; + l672 += l671; + l673 += l672; + l674 += l673; + l675 += l674; + l676 += l675; + l677 += l676; + l678 += l677; + l679 += l678; + l680 += l679; + l681 += l680; + l682 += l681; + l683 += l682; + l684 += l683; + l685 += l684; + l686 += l685; + l687 += l686; + l688 += l687; + l689 += l688; + l690 += l689; + l691 += l690; + l692 += l691; + l693 += l692; + l694 += l693; + l695 += l694; + l696 += l695; + l697 += l696; + l698 += l697; + l699 += l698; + l700 += l699; + l701 += l700; + l702 += l701; + l703 += l702; + l704 += l703; + l705 += l704; + l706 += l705; + l707 += l706; + l708 += l707; + l709 += l708; + l710 += l709; + l711 += l710; + l712 += l711; + l713 += l712; + l714 += l713; + l715 += l714; + l716 += l715; + l717 += l716; + l718 += l717; + l719 += l718; + l720 += l719; + l721 += l720; + l722 += l721; + l723 += l722; + l724 += l723; + l725 += l724; + l726 += l725; + l727 += l726; + l728 += l727; + l729 += l728; + l730 += l729; + l731 += l730; + l732 += l731; + l733 += l732; + l734 += l733; + l735 += l734; + l736 += l735; + l737 += l736; + l738 += l737; + l739 += l738; + l740 += l739; + l741 += l740; + l742 += l741; + l743 += l742; + l744 += l743; + l745 += l744; + l746 += l745; + l747 += l746; + l748 += l747; + l749 += l748; + l750 += l749; + l751 += l750; + l752 += l751; + l753 += l752; + l754 += l753; + l755 += l754; + l756 += l755; + l757 += l756; + l758 += l757; + l759 += l758; + l760 += l759; + l761 += l760; + l762 += l761; + l763 += l762; + l764 += l763; + l765 += l764; + l766 += l765; + l767 += l766; + l768 += l767; + l769 += l768; + l770 += l769; + l771 += l770; + l772 += l771; + l773 += l772; + l774 += l773; + l775 += l774; + l776 += l775; + l777 += l776; + l778 += l777; + l779 += l778; + l780 += l779; + l781 += l780; + l782 += l781; + l783 += l782; + l784 += l783; + l785 += l784; + l786 += l785; + l787 += l786; + l788 += l787; + l789 += l788; + l790 += l789; + l791 += l790; + l792 += l791; + l793 += l792; + l794 += l793; + l795 += l794; + l796 += l795; + l797 += l796; + l798 += l797; + l799 += l798; + l800 += l799; + l801 += l800; + l802 += l801; + l803 += l802; + l804 += l803; + l805 += l804; + l806 += l805; + l807 += l806; + l808 += l807; + l809 += l808; + l810 += l809; + l811 += l810; + l812 += l811; + l813 += l812; + l814 += l813; + l815 += l814; + l816 += l815; + l817 += l816; + l818 += l817; + l819 += l818; + l820 += l819; + l821 += l820; + l822 += l821; + l823 += l822; + l824 += l823; + l825 += l824; + l826 += l825; + l827 += l826; + l828 += l827; + l829 += l828; + l830 += l829; + l831 += l830; + l832 += l831; + l833 += l832; + l834 += l833; + l835 += l834; + l836 += l835; + l837 += l836; + l838 += l837; + l839 += l838; + l840 += l839; + l841 += l840; + l842 += l841; + l843 += l842; + l844 += l843; + l845 += l844; + l846 += l845; + l847 += l846; + l848 += l847; + l849 += l848; + l850 += l849; + l851 += l850; + l852 += l851; + l853 += l852; + l854 += l853; + l855 += l854; + l856 += l855; + l857 += l856; + l858 += l857; + l859 += l858; + l860 += l859; + l861 += l860; + l862 += l861; + l863 += l862; + l864 += l863; + l865 += l864; + l866 += l865; + l867 += l866; + l868 += l867; + l869 += l868; + l870 += l869; + l871 += l870; + l872 += l871; + l873 += l872; + l874 += l873; + l875 += l874; + l876 += l875; + l877 += l876; + l878 += l877; + l879 += l878; + l880 += l879; + l881 += l880; + l882 += l881; + l883 += l882; + l884 += l883; + l885 += l884; + l886 += l885; + l887 += l886; + l888 += l887; + l889 += l888; + l890 += l889; + l891 += l890; + l892 += l891; + l893 += l892; + l894 += l893; + l895 += l894; + l896 += l895; + l897 += l896; + l898 += l897; + l899 += l898; + l900 += l899; + l901 += l900; + l902 += l901; + l903 += l902; + l904 += l903; + l905 += l904; + l906 += l905; + l907 += l906; + l908 += l907; + l909 += l908; + l910 += l909; + l911 += l910; + l912 += l911; + l913 += l912; + l914 += l913; + l915 += l914; + l916 += l915; + l917 += l916; + l918 += l917; + l919 += l918; + l920 += l919; + l921 += l920; + l922 += l921; + l923 += l922; + l924 += l923; + l925 += l924; + l926 += l925; + l927 += l926; + l928 += l927; + l929 += l928; + l930 += l929; + l931 += l930; + l932 += l931; + l933 += l932; + l934 += l933; + l935 += l934; + l936 += l935; + l937 += l936; + l938 += l937; + l939 += l938; + l940 += l939; + l941 += l940; + l942 += l941; + l943 += l942; + l944 += l943; + l945 += l944; + l946 += l945; + l947 += l946; + l948 += l947; + l949 += l948; + l950 += l949; + l951 += l950; + l952 += l951; + l953 += l952; + l954 += l953; + l955 += l954; + l956 += l955; + l957 += l956; + l958 += l957; + l959 += l958; + l960 += l959; + l961 += l960; + l962 += l961; + l963 += l962; + l964 += l963; + l965 += l964; + l966 += l965; + l967 += l966; + l968 += l967; + l969 += l968; + l970 += l969; + l971 += l970; + l972 += l971; + l973 += l972; + l974 += l973; + l975 += l974; + l976 += l975; + l977 += l976; + l978 += l977; + l979 += l978; + l980 += l979; + l981 += l980; + l982 += l981; + l983 += l982; + l984 += l983; + l985 += l984; + l986 += l985; + l987 += l986; + l988 += l987; + l989 += l988; + l990 += l989; + l991 += l990; + l992 += l991; + l993 += l992; + l994 += l993; + l995 += l994; + l996 += l995; + l997 += l996; + l998 += l997; + l999 += l998; + return l999; + } +} |