1 /*
   2  * Copyright (c) 2018, 2018, Oracle and/or its affiliates. All rights reserved.
   3  * DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
   4  *
   5  * This code is free software; you can redistribute it and/or modify it
   6  * under the terms of the GNU General Public License version 2 only, as
   7  * published by the Free Software Foundation.
   8  *
   9  * This code is distributed in the hope that it will be useful, but WITHOUT
  10  * ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
  11  * FITNESS FOR A PARTICULAR PURPOSE.  See the GNU General Public License
  12  * version 2 for more details (a copy is included in the LICENSE file that
  13  * accompanied this code).
  14  *
  15  * You should have received a copy of the GNU General Public License version
  16  * 2 along with this work; if not, write to the Free Software Foundation,
  17  * Inc., 51 Franklin St, Fifth Floor, Boston, MA 02110-1301 USA.
  18  *
  19  * Please contact Oracle, 500 Oracle Parkway, Redwood Shores, CA 94065 USA
  20  * or visit www.oracle.com if you need additional information or have any
  21  * questions.
  22  */
  23 
  24 
  25 package org.graalvm.compiler.jtt.optimize;
  26 
  27 import java.lang.annotation.ElementType;
  28 import java.lang.annotation.Retention;
  29 import java.lang.annotation.RetentionPolicy;
  30 import java.lang.annotation.Target;
  31 import java.util.List;
  32 
  33 import org.graalvm.compiler.jtt.JTTTest;
  34 import org.graalvm.compiler.nodes.IfNode;
  35 import org.graalvm.compiler.nodes.StructuredGraph;
  36 import org.graalvm.compiler.nodes.ValueNode;
  37 import org.graalvm.compiler.nodes.calc.ConditionalNode;
  38 import org.graalvm.compiler.nodes.graphbuilderconf.GraphBuilderContext;
  39 import org.graalvm.compiler.nodes.graphbuilderconf.InlineInvokePlugin;
  40 import org.graalvm.compiler.phases.common.CanonicalizerPhase;
  41 import org.graalvm.compiler.phases.tiers.HighTierContext;
  42 import org.junit.Assert;
  43 import org.junit.Ignore;
  44 import org.junit.Test;
  45 import org.junit.runner.RunWith;
  46 import org.junit.runner.notification.RunNotifier;
  47 import org.junit.runners.BlockJUnit4ClassRunner;
  48 import org.junit.runners.model.FrameworkMethod;
  49 import org.junit.runners.model.InitializationError;
  50 import org.junit.runners.model.Statement;
  51 
  52 import jdk.vm.ci.meta.ResolvedJavaMethod;
  53 
  54 @RunWith(TrichotomyTest.Runner.class)
  55 public class TrichotomyTest extends JTTTest {
  56 
  57     @Test
  58     @Ignore
  59     public void dummy() {
  60         // needed for mx unittest
  61     }
  62 
  63     public static int compare1(int a, int b) {
  64         return (a < b) ? -1 : (a == b) ? 0 : 1;
  65     }
  66 
  67     public static int compare2(int a, int b) {
  68         return (a < b) ? -1 : (a <= b) ? 0 : 1;
  69     }
  70 
  71     public static int compare3(int a, int b) {
  72         return (a < b) ? -1 : (a > b) ? 1 : 0;
  73     }
  74 
  75     public static int compare4(int a, int b) {
  76         return (a < b) ? -1 : (a != b) ? 1 : 0;
  77     }
  78 
  79     public static int compare5(int a, int b) {
  80         return (a > b) ? 1 : (a < b) ? -1 : 0;
  81     }
  82 
  83     public static int compare6(int a, int b) {
  84         return (a > b) ? 1 : (a == b) ? 0 : -1;
  85     }
  86 
  87     public static int compare7(int a, int b) {
  88         return (a > b) ? 1 : (a >= b) ? 0 : -1;
  89     }
  90 
  91     public static int compare8(int a, int b) {
  92         return (a > b) ? 1 : (a != b) ? -1 : 0;
  93     }
  94 
  95     public static int compare9(int a, int b) {
  96         return (a == b) ? 0 : (a < b) ? -1 : 1;
  97     }
  98 
  99     public static int compare10(int a, int b) {
 100         return (a == b) ? 0 : (a <= b) ? -1 : 1;
 101     }
 102 
 103     public static int compare11(int a, int b) {
 104         return (a == b) ? 0 : (a > b) ? 1 : -1;
 105     }
 106 
 107     public static int compare12(int a, int b) {
 108         return (a == b) ? 0 : (a >= b) ? 1 : -1;
 109     }
 110 
 111     public static int compare13(int a, int b) {
 112         return (a <= b) ? ((a == b) ? 0 : -1) : 1;
 113     }
 114 
 115     public static int compare14(int a, int b) {
 116         return (a <= b) ? ((a < b) ? -1 : 0) : 1;
 117     }
 118 
 119     public static int compare15(int a, int b) {
 120         return (a <= b) ? ((a >= b) ? 0 : -1) : 1;
 121     }
 122 
 123     public static int compare16(int a, int b) {
 124         return (a <= b) ? ((a != b) ? -1 : 0) : 1;
 125     }
 126 
 127     public static int compare17(int a, int b) {
 128         return (a >= b) ? ((a <= b) ? 0 : 1) : -1;
 129     }
 130 
 131     public static int compare18(int a, int b) {
 132         return (a >= b) ? ((a == b) ? 0 : 1) : -1;
 133     }
 134 
 135     public static int compare19(int a, int b) {
 136         return (a >= b) ? ((a > b) ? 1 : 0) : -1;
 137     }
 138 
 139     public static int compare20(int a, int b) {
 140         return (a >= b) ? ((a != b) ? 1 : 0) : -1;
 141     }
 142 
 143     public static int compare21(int a, int b) {
 144         return (a != b) ? ((a < b) ? -1 : 1) : 0;
 145     }
 146 
 147     public static int compare22(int a, int b) {
 148         return (a != b) ? ((a <= b) ? -1 : 1) : 0;
 149     }
 150 
 151     public static int compare23(int a, int b) {
 152         return (a != b) ? ((a > b) ? 1 : -1) : 0;
 153     }
 154 
 155     public static int compare24(int a, int b) {
 156         return (a != b) ? ((a >= b) ? 1 : -1) : 0;
 157     }
 158 
 159     public static int compare25(int a, int b) {
 160         return (a < b) ? -1 : (b == a) ? 0 : 1;
 161     }
 162 
 163     public static int compare26(int a, int b) {
 164         return (a < b) ? -1 : (b >= a) ? 0 : 1;
 165     }
 166 
 167     public static int compare27(int a, int b) {
 168         return (a < b) ? -1 : (b < a) ? 1 : 0;
 169     }
 170 
 171     public static int compare28(int a, int b) {
 172         return (a < b) ? -1 : (b != a) ? 1 : 0;
 173     }
 174 
 175     public static int compare29(int a, int b) {
 176         return (a > b) ? 1 : (b > a) ? -1 : 0;
 177     }
 178 
 179     public static int compare30(int a, int b) {
 180         return (a > b) ? 1 : (b == a) ? 0 : -1;
 181     }
 182 
 183     public static int compare31(int a, int b) {
 184         return (a > b) ? 1 : (b <= a) ? 0 : -1;
 185     }
 186 
 187     public static int compare32(int a, int b) {
 188         return (a > b) ? 1 : (b != a) ? -1 : 0;
 189     }
 190 
 191     public static int compare33(int a, int b) {
 192         return (a == b) ? 0 : (b > a) ? -1 : 1;
 193     }
 194 
 195     public static int compare34(int a, int b) {
 196         return (a == b) ? 0 : (b >= a) ? -1 : 1;
 197     }
 198 
 199     public static int compare35(int a, int b) {
 200         return (a == b) ? 0 : (b < a) ? 1 : -1;
 201     }
 202 
 203     public static int compare36(int a, int b) {
 204         return (a == b) ? 0 : (b <= a) ? 1 : -1;
 205     }
 206 
 207     public static int compare37(int a, int b) {
 208         return (a <= b) ? ((b == a) ? 0 : -1) : 1;
 209     }
 210 
 211     public static int compare38(int a, int b) {
 212         return (a <= b) ? ((b > a) ? -1 : 0) : 1;
 213     }
 214 
 215     public static int compare39(int a, int b) {
 216         return (a <= b) ? ((b <= a) ? 0 : -1) : 1;
 217     }
 218 
 219     public static int compare40(int a, int b) {
 220         return (a <= b) ? ((b != a) ? -1 : 0) : 1;
 221     }
 222 
 223     public static int compare41(int a, int b) {
 224         return (a >= b) ? ((b >= a) ? 0 : 1) : -1;
 225     }
 226 
 227     public static int compare42(int a, int b) {
 228         return (a >= b) ? ((b == a) ? 0 : 1) : -1;
 229     }
 230 
 231     public static int compare43(int a, int b) {
 232         return (a >= b) ? ((b < a) ? 1 : 0) : -1;
 233     }
 234 
 235     public static int compare44(int a, int b) {
 236         return (a >= b) ? ((b != a) ? 1 : 0) : -1;
 237     }
 238 
 239     public static int compare45(int a, int b) {
 240         return (a != b) ? ((b > a) ? -1 : 1) : 0;
 241     }
 242 
 243     public static int compare46(int a, int b) {
 244         return (a != b) ? ((b >= a) ? -1 : 1) : 0;
 245     }
 246 
 247     public static int compare47(int a, int b) {
 248         return (a != b) ? ((b < a) ? 1 : -1) : 0;
 249     }
 250 
 251     public static int compare48(int a, int b) {
 252         return (a != b) ? ((b <= a) ? 1 : -1) : 0;
 253     }
 254 
 255     public static int compareAlwaysFalse1(int a, int b) {
 256         return (a >= b) ? 1 : (a > b) ? 2 : -1;
 257     }
 258 
 259     public static int compareAlwaysFalse2(int a, int b) {
 260         return (a <= b) ? 1 : (a < b) ? 2 : -1;
 261     }
 262 
 263     public static int compareAlwaysFalse3(int a, int b) {
 264         return (a == b) ? 1 : (a == b) ? 2 : -1;
 265     }
 266 
 267     public static int compareAlwaysFalse4(int a, int b) {
 268         return (a != b) ? 1 : (a < b) ? 2 : -1;
 269     }
 270 
 271     @TestCase(op = Operation.SMALLER)
 272     public static boolean testSmaller1(int a, int b) {
 273         return compare1(a, b) == -1;
 274     }
 275 
 276     @TestCase(op = Operation.SMALLER)
 277     public static boolean testSmaller2(int a, int b) {
 278         return compare1(a, b) < 0;
 279     }
 280 
 281     @TestCase(op = Operation.SMALLER)
 282     public static boolean testSmaller3(int a, int b) {
 283         return compare1(a, b) <= -1;
 284     }
 285 
 286     @TestCase(op = Operation.SMALLER)
 287     public static boolean testSmaller4(int a, int b) {
 288         return compare2(a, b) == -1;
 289     }
 290 
 291     @TestCase(op = Operation.SMALLER)
 292     public static boolean testSmaller5(int a, int b) {
 293         return compare2(a, b) < 0;
 294     }
 295 
 296     @TestCase(op = Operation.SMALLER)
 297     public static boolean testSmaller6(int a, int b) {
 298         return compare2(a, b) <= -1;
 299     }
 300 
 301     @TestCase(op = Operation.SMALLER)
 302     public static boolean testSmaller7(int a, int b) {
 303         return compare3(a, b) == -1;
 304     }
 305 
 306     @TestCase(op = Operation.SMALLER)
 307     public static boolean testSmaller8(int a, int b) {
 308         return compare3(a, b) < 0;
 309     }
 310 
 311     @TestCase(op = Operation.SMALLER)
 312     public static boolean testSmaller9(int a, int b) {
 313         return compare3(a, b) <= -1;
 314     }
 315 
 316     @TestCase(op = Operation.SMALLER)
 317     public static boolean testSmaller10(int a, int b) {
 318         return compare4(a, b) == -1;
 319     }
 320 
 321     @TestCase(op = Operation.SMALLER)
 322     public static boolean testSmaller11(int a, int b) {
 323         return compare4(a, b) < 0;
 324     }
 325 
 326     @TestCase(op = Operation.SMALLER)
 327     public static boolean testSmaller12(int a, int b) {
 328         return compare4(a, b) <= -1;
 329     }
 330 
 331     @TestCase(op = Operation.SMALLER)
 332     public static boolean testSmaller13(int a, int b) {
 333         return compare5(a, b) == -1;
 334     }
 335 
 336     @TestCase(op = Operation.SMALLER)
 337     public static boolean testSmaller14(int a, int b) {
 338         return compare5(a, b) < 0;
 339     }
 340 
 341     @TestCase(op = Operation.SMALLER)
 342     public static boolean testSmaller15(int a, int b) {
 343         return compare5(a, b) <= -1;
 344     }
 345 
 346     @TestCase(op = Operation.SMALLER)
 347     public static boolean testSmaller16(int a, int b) {
 348         return compare6(a, b) == -1;
 349     }
 350 
 351     @TestCase(op = Operation.SMALLER)
 352     public static boolean testSmaller17(int a, int b) {
 353         return compare6(a, b) < 0;
 354     }
 355 
 356     @TestCase(op = Operation.SMALLER)
 357     public static boolean testSmaller18(int a, int b) {
 358         return compare6(a, b) <= -1;
 359     }
 360 
 361     @TestCase(op = Operation.SMALLER)
 362     public static boolean testSmaller19(int a, int b) {
 363         return compare7(a, b) == -1;
 364     }
 365 
 366     @TestCase(op = Operation.SMALLER)
 367     public static boolean testSmaller20(int a, int b) {
 368         return compare7(a, b) < 0;
 369     }
 370 
 371     @TestCase(op = Operation.SMALLER)
 372     public static boolean testSmaller21(int a, int b) {
 373         return compare7(a, b) <= -1;
 374     }
 375 
 376     @TestCase(op = Operation.SMALLER)
 377     public static boolean testSmaller22(int a, int b) {
 378         return compare8(a, b) == -1;
 379     }
 380 
 381     @TestCase(op = Operation.SMALLER)
 382     public static boolean testSmaller23(int a, int b) {
 383         return compare8(a, b) < 0;
 384     }
 385 
 386     @TestCase(op = Operation.SMALLER)
 387     public static boolean testSmaller24(int a, int b) {
 388         return compare8(a, b) <= -1;
 389     }
 390 
 391     @TestCase(op = Operation.SMALLER)
 392     public static boolean testSmaller25(int a, int b) {
 393         return compare9(a, b) == -1;
 394     }
 395 
 396     @TestCase(op = Operation.SMALLER)
 397     public static boolean testSmaller26(int a, int b) {
 398         return compare9(a, b) < 0;
 399     }
 400 
 401     @TestCase(op = Operation.SMALLER)
 402     public static boolean testSmaller27(int a, int b) {
 403         return compare9(a, b) <= -1;
 404     }
 405 
 406     @TestCase(op = Operation.SMALLER)
 407     public static boolean testSmaller28(int a, int b) {
 408         return compare10(a, b) == -1;
 409     }
 410 
 411     @TestCase(op = Operation.SMALLER)
 412     public static boolean testSmaller29(int a, int b) {
 413         return compare10(a, b) < 0;
 414     }
 415 
 416     @TestCase(op = Operation.SMALLER)
 417     public static boolean testSmaller30(int a, int b) {
 418         return compare10(a, b) <= -1;
 419     }
 420 
 421     @TestCase(op = Operation.SMALLER)
 422     public static boolean testSmaller31(int a, int b) {
 423         return compare11(a, b) == -1;
 424     }
 425 
 426     @TestCase(op = Operation.SMALLER)
 427     public static boolean testSmaller32(int a, int b) {
 428         return compare11(a, b) < 0;
 429     }
 430 
 431     @TestCase(op = Operation.SMALLER)
 432     public static boolean testSmaller33(int a, int b) {
 433         return compare11(a, b) <= -1;
 434     }
 435 
 436     @TestCase(op = Operation.SMALLER)
 437     public static boolean testSmaller34(int a, int b) {
 438         return compare12(a, b) == -1;
 439     }
 440 
 441     @TestCase(op = Operation.SMALLER)
 442     public static boolean testSmaller35(int a, int b) {
 443         return compare12(a, b) < 0;
 444     }
 445 
 446     @TestCase(op = Operation.SMALLER)
 447     public static boolean testSmaller36(int a, int b) {
 448         return compare12(a, b) <= -1;
 449     }
 450 
 451     @TestCase(op = Operation.SMALLER)
 452     public static boolean testSmaller37(int a, int b) {
 453         return compare13(a, b) == -1;
 454     }
 455 
 456     @TestCase(op = Operation.SMALLER)
 457     public static boolean testSmaller38(int a, int b) {
 458         return compare13(a, b) < 0;
 459     }
 460 
 461     @TestCase(op = Operation.SMALLER)
 462     public static boolean testSmaller39(int a, int b) {
 463         return compare13(a, b) <= -1;
 464     }
 465 
 466     @TestCase(op = Operation.SMALLER)
 467     public static boolean testSmaller40(int a, int b) {
 468         return compare14(a, b) == -1;
 469     }
 470 
 471     @TestCase(op = Operation.SMALLER)
 472     public static boolean testSmaller41(int a, int b) {
 473         return compare14(a, b) < 0;
 474     }
 475 
 476     @TestCase(op = Operation.SMALLER)
 477     public static boolean testSmaller42(int a, int b) {
 478         return compare14(a, b) <= -1;
 479     }
 480 
 481     @TestCase(op = Operation.SMALLER)
 482     public static boolean testSmaller43(int a, int b) {
 483         return compare15(a, b) == -1;
 484     }
 485 
 486     @TestCase(op = Operation.SMALLER)
 487     public static boolean testSmaller44(int a, int b) {
 488         return compare15(a, b) < 0;
 489     }
 490 
 491     @TestCase(op = Operation.SMALLER)
 492     public static boolean testSmaller45(int a, int b) {
 493         return compare15(a, b) <= -1;
 494     }
 495 
 496     @TestCase(op = Operation.SMALLER)
 497     public static boolean testSmaller46(int a, int b) {
 498         return compare16(a, b) == -1;
 499     }
 500 
 501     @TestCase(op = Operation.SMALLER)
 502     public static boolean testSmaller47(int a, int b) {
 503         return compare16(a, b) < 0;
 504     }
 505 
 506     @TestCase(op = Operation.SMALLER)
 507     public static boolean testSmaller48(int a, int b) {
 508         return compare16(a, b) <= -1;
 509     }
 510 
 511     @TestCase(op = Operation.SMALLER)
 512     public static boolean testSmaller49(int a, int b) {
 513         return compare17(a, b) == -1;
 514     }
 515 
 516     @TestCase(op = Operation.SMALLER)
 517     public static boolean testSmaller50(int a, int b) {
 518         return compare17(a, b) < 0;
 519     }
 520 
 521     @TestCase(op = Operation.SMALLER)
 522     public static boolean testSmaller51(int a, int b) {
 523         return compare17(a, b) <= -1;
 524     }
 525 
 526     @TestCase(op = Operation.SMALLER)
 527     public static boolean testSmaller52(int a, int b) {
 528         return compare18(a, b) == -1;
 529     }
 530 
 531     @TestCase(op = Operation.SMALLER)
 532     public static boolean testSmaller53(int a, int b) {
 533         return compare18(a, b) < 0;
 534     }
 535 
 536     @TestCase(op = Operation.SMALLER)
 537     public static boolean testSmaller54(int a, int b) {
 538         return compare18(a, b) <= -1;
 539     }
 540 
 541     @TestCase(op = Operation.SMALLER)
 542     public static boolean testSmaller55(int a, int b) {
 543         return compare19(a, b) == -1;
 544     }
 545 
 546     @TestCase(op = Operation.SMALLER)
 547     public static boolean testSmaller56(int a, int b) {
 548         return compare19(a, b) < 0;
 549     }
 550 
 551     @TestCase(op = Operation.SMALLER)
 552     public static boolean testSmaller57(int a, int b) {
 553         return compare19(a, b) <= -1;
 554     }
 555 
 556     @TestCase(op = Operation.SMALLER)
 557     public static boolean testSmaller58(int a, int b) {
 558         return compare20(a, b) == -1;
 559     }
 560 
 561     @TestCase(op = Operation.SMALLER)
 562     public static boolean testSmaller59(int a, int b) {
 563         return compare20(a, b) < 0;
 564     }
 565 
 566     @TestCase(op = Operation.SMALLER)
 567     public static boolean testSmaller60(int a, int b) {
 568         return compare20(a, b) <= -1;
 569     }
 570 
 571     @TestCase(op = Operation.SMALLER)
 572     public static boolean testSmaller61(int a, int b) {
 573         return compare21(a, b) == -1;
 574     }
 575 
 576     @TestCase(op = Operation.SMALLER)
 577     public static boolean testSmaller62(int a, int b) {
 578         return compare21(a, b) < 0;
 579     }
 580 
 581     @TestCase(op = Operation.SMALLER)
 582     public static boolean testSmaller63(int a, int b) {
 583         return compare21(a, b) <= -1;
 584     }
 585 
 586     @TestCase(op = Operation.SMALLER)
 587     public static boolean testSmaller64(int a, int b) {
 588         return compare22(a, b) == -1;
 589     }
 590 
 591     @TestCase(op = Operation.SMALLER)
 592     public static boolean testSmaller65(int a, int b) {
 593         return compare22(a, b) < 0;
 594     }
 595 
 596     @TestCase(op = Operation.SMALLER)
 597     public static boolean testSmaller66(int a, int b) {
 598         return compare22(a, b) <= -1;
 599     }
 600 
 601     @TestCase(op = Operation.SMALLER)
 602     public static boolean testSmaller67(int a, int b) {
 603         return compare23(a, b) == -1;
 604     }
 605 
 606     @TestCase(op = Operation.SMALLER)
 607     public static boolean testSmaller68(int a, int b) {
 608         return compare23(a, b) < 0;
 609     }
 610 
 611     @TestCase(op = Operation.SMALLER)
 612     public static boolean testSmaller69(int a, int b) {
 613         return compare23(a, b) <= -1;
 614     }
 615 
 616     @TestCase(op = Operation.SMALLER)
 617     public static boolean testSmaller70(int a, int b) {
 618         return compare24(a, b) == -1;
 619     }
 620 
 621     @TestCase(op = Operation.SMALLER)
 622     public static boolean testSmaller71(int a, int b) {
 623         return compare24(a, b) < 0;
 624     }
 625 
 626     @TestCase(op = Operation.SMALLER)
 627     public static boolean testSmaller72(int a, int b) {
 628         return compare24(a, b) <= -1;
 629     }
 630 
 631     @TestCase(op = Operation.SMALLER)
 632     public static boolean testSmaller73(int a, int b) {
 633         return compare25(a, b) == -1;
 634     }
 635 
 636     @TestCase(op = Operation.SMALLER)
 637     public static boolean testSmaller74(int a, int b) {
 638         return compare25(a, b) < 0;
 639     }
 640 
 641     @TestCase(op = Operation.SMALLER)
 642     public static boolean testSmaller75(int a, int b) {
 643         return compare25(a, b) <= -1;
 644     }
 645 
 646     @TestCase(op = Operation.SMALLER)
 647     public static boolean testSmaller76(int a, int b) {
 648         return compare26(a, b) == -1;
 649     }
 650 
 651     @TestCase(op = Operation.SMALLER)
 652     public static boolean testSmaller77(int a, int b) {
 653         return compare26(a, b) < 0;
 654     }
 655 
 656     @TestCase(op = Operation.SMALLER)
 657     public static boolean testSmaller78(int a, int b) {
 658         return compare26(a, b) <= -1;
 659     }
 660 
 661     @TestCase(op = Operation.SMALLER)
 662     public static boolean testSmaller79(int a, int b) {
 663         return compare27(a, b) == -1;
 664     }
 665 
 666     @TestCase(op = Operation.SMALLER)
 667     public static boolean testSmaller80(int a, int b) {
 668         return compare27(a, b) < 0;
 669     }
 670 
 671     @TestCase(op = Operation.SMALLER)
 672     public static boolean testSmaller81(int a, int b) {
 673         return compare27(a, b) <= -1;
 674     }
 675 
 676     @TestCase(op = Operation.SMALLER)
 677     public static boolean testSmaller82(int a, int b) {
 678         return compare28(a, b) == -1;
 679     }
 680 
 681     @TestCase(op = Operation.SMALLER)
 682     public static boolean testSmaller83(int a, int b) {
 683         return compare28(a, b) < 0;
 684     }
 685 
 686     @TestCase(op = Operation.SMALLER)
 687     public static boolean testSmaller84(int a, int b) {
 688         return compare28(a, b) <= -1;
 689     }
 690 
 691     @TestCase(op = Operation.SMALLER)
 692     public static boolean testSmaller85(int a, int b) {
 693         return compare29(a, b) == -1;
 694     }
 695 
 696     @TestCase(op = Operation.SMALLER)
 697     public static boolean testSmaller86(int a, int b) {
 698         return compare29(a, b) < 0;
 699     }
 700 
 701     @TestCase(op = Operation.SMALLER)
 702     public static boolean testSmaller87(int a, int b) {
 703         return compare29(a, b) <= -1;
 704     }
 705 
 706     @TestCase(op = Operation.SMALLER)
 707     public static boolean testSmaller88(int a, int b) {
 708         return compare30(a, b) == -1;
 709     }
 710 
 711     @TestCase(op = Operation.SMALLER)
 712     public static boolean testSmaller89(int a, int b) {
 713         return compare30(a, b) < 0;
 714     }
 715 
 716     @TestCase(op = Operation.SMALLER)
 717     public static boolean testSmaller90(int a, int b) {
 718         return compare30(a, b) <= -1;
 719     }
 720 
 721     @TestCase(op = Operation.SMALLER)
 722     public static boolean testSmaller91(int a, int b) {
 723         return compare31(a, b) == -1;
 724     }
 725 
 726     @TestCase(op = Operation.SMALLER)
 727     public static boolean testSmaller92(int a, int b) {
 728         return compare31(a, b) < 0;
 729     }
 730 
 731     @TestCase(op = Operation.SMALLER)
 732     public static boolean testSmaller93(int a, int b) {
 733         return compare31(a, b) <= -1;
 734     }
 735 
 736     @TestCase(op = Operation.SMALLER)
 737     public static boolean testSmaller94(int a, int b) {
 738         return compare32(a, b) == -1;
 739     }
 740 
 741     @TestCase(op = Operation.SMALLER)
 742     public static boolean testSmaller95(int a, int b) {
 743         return compare32(a, b) < 0;
 744     }
 745 
 746     @TestCase(op = Operation.SMALLER)
 747     public static boolean testSmaller96(int a, int b) {
 748         return compare32(a, b) <= -1;
 749     }
 750 
 751     @TestCase(op = Operation.SMALLER)
 752     public static boolean testSmaller97(int a, int b) {
 753         return compare33(a, b) == -1;
 754     }
 755 
 756     @TestCase(op = Operation.SMALLER)
 757     public static boolean testSmaller98(int a, int b) {
 758         return compare33(a, b) < 0;
 759     }
 760 
 761     @TestCase(op = Operation.SMALLER)
 762     public static boolean testSmaller99(int a, int b) {
 763         return compare33(a, b) <= -1;
 764     }
 765 
 766     @TestCase(op = Operation.SMALLER)
 767     public static boolean testSmaller100(int a, int b) {
 768         return compare34(a, b) == -1;
 769     }
 770 
 771     @TestCase(op = Operation.SMALLER)
 772     public static boolean testSmaller101(int a, int b) {
 773         return compare34(a, b) < 0;
 774     }
 775 
 776     @TestCase(op = Operation.SMALLER)
 777     public static boolean testSmaller102(int a, int b) {
 778         return compare34(a, b) <= -1;
 779     }
 780 
 781     @TestCase(op = Operation.SMALLER)
 782     public static boolean testSmaller103(int a, int b) {
 783         return compare35(a, b) == -1;
 784     }
 785 
 786     @TestCase(op = Operation.SMALLER)
 787     public static boolean testSmaller104(int a, int b) {
 788         return compare35(a, b) < 0;
 789     }
 790 
 791     @TestCase(op = Operation.SMALLER)
 792     public static boolean testSmaller105(int a, int b) {
 793         return compare35(a, b) <= -1;
 794     }
 795 
 796     @TestCase(op = Operation.SMALLER)
 797     public static boolean testSmaller106(int a, int b) {
 798         return compare36(a, b) == -1;
 799     }
 800 
 801     @TestCase(op = Operation.SMALLER)
 802     public static boolean testSmaller107(int a, int b) {
 803         return compare36(a, b) < 0;
 804     }
 805 
 806     @TestCase(op = Operation.SMALLER)
 807     public static boolean testSmaller108(int a, int b) {
 808         return compare36(a, b) <= -1;
 809     }
 810 
 811     @TestCase(op = Operation.SMALLER)
 812     public static boolean testSmaller109(int a, int b) {
 813         return compare37(a, b) == -1;
 814     }
 815 
 816     @TestCase(op = Operation.SMALLER)
 817     public static boolean testSmaller110(int a, int b) {
 818         return compare37(a, b) < 0;
 819     }
 820 
 821     @TestCase(op = Operation.SMALLER)
 822     public static boolean testSmaller111(int a, int b) {
 823         return compare37(a, b) <= -1;
 824     }
 825 
 826     @TestCase(op = Operation.SMALLER)
 827     public static boolean testSmaller112(int a, int b) {
 828         return compare38(a, b) == -1;
 829     }
 830 
 831     @TestCase(op = Operation.SMALLER)
 832     public static boolean testSmaller113(int a, int b) {
 833         return compare38(a, b) < 0;
 834     }
 835 
 836     @TestCase(op = Operation.SMALLER)
 837     public static boolean testSmaller114(int a, int b) {
 838         return compare38(a, b) <= -1;
 839     }
 840 
 841     @TestCase(op = Operation.SMALLER)
 842     public static boolean testSmaller115(int a, int b) {
 843         return compare39(a, b) == -1;
 844     }
 845 
 846     @TestCase(op = Operation.SMALLER)
 847     public static boolean testSmaller116(int a, int b) {
 848         return compare39(a, b) < 0;
 849     }
 850 
 851     @TestCase(op = Operation.SMALLER)
 852     public static boolean testSmaller117(int a, int b) {
 853         return compare39(a, b) <= -1;
 854     }
 855 
 856     @TestCase(op = Operation.SMALLER)
 857     public static boolean testSmaller118(int a, int b) {
 858         return compare40(a, b) == -1;
 859     }
 860 
 861     @TestCase(op = Operation.SMALLER)
 862     public static boolean testSmaller119(int a, int b) {
 863         return compare40(a, b) < 0;
 864     }
 865 
 866     @TestCase(op = Operation.SMALLER)
 867     public static boolean testSmaller120(int a, int b) {
 868         return compare40(a, b) <= -1;
 869     }
 870 
 871     @TestCase(op = Operation.SMALLER)
 872     public static boolean testSmaller121(int a, int b) {
 873         return compare41(a, b) == -1;
 874     }
 875 
 876     @TestCase(op = Operation.SMALLER)
 877     public static boolean testSmaller122(int a, int b) {
 878         return compare41(a, b) < 0;
 879     }
 880 
 881     @TestCase(op = Operation.SMALLER)
 882     public static boolean testSmaller123(int a, int b) {
 883         return compare41(a, b) <= -1;
 884     }
 885 
 886     @TestCase(op = Operation.SMALLER)
 887     public static boolean testSmaller124(int a, int b) {
 888         return compare42(a, b) == -1;
 889     }
 890 
 891     @TestCase(op = Operation.SMALLER)
 892     public static boolean testSmaller125(int a, int b) {
 893         return compare42(a, b) < 0;
 894     }
 895 
 896     @TestCase(op = Operation.SMALLER)
 897     public static boolean testSmaller126(int a, int b) {
 898         return compare42(a, b) <= -1;
 899     }
 900 
 901     @TestCase(op = Operation.SMALLER)
 902     public static boolean testSmaller127(int a, int b) {
 903         return compare43(a, b) == -1;
 904     }
 905 
 906     @TestCase(op = Operation.SMALLER)
 907     public static boolean testSmaller128(int a, int b) {
 908         return compare43(a, b) < 0;
 909     }
 910 
 911     @TestCase(op = Operation.SMALLER)
 912     public static boolean testSmaller129(int a, int b) {
 913         return compare43(a, b) <= -1;
 914     }
 915 
 916     @TestCase(op = Operation.SMALLER)
 917     public static boolean testSmaller130(int a, int b) {
 918         return compare44(a, b) == -1;
 919     }
 920 
 921     @TestCase(op = Operation.SMALLER)
 922     public static boolean testSmaller131(int a, int b) {
 923         return compare44(a, b) < 0;
 924     }
 925 
 926     @TestCase(op = Operation.SMALLER)
 927     public static boolean testSmaller132(int a, int b) {
 928         return compare44(a, b) <= -1;
 929     }
 930 
 931     @TestCase(op = Operation.SMALLER)
 932     public static boolean testSmaller133(int a, int b) {
 933         return compare45(a, b) == -1;
 934     }
 935 
 936     @TestCase(op = Operation.SMALLER)
 937     public static boolean testSmaller134(int a, int b) {
 938         return compare45(a, b) < 0;
 939     }
 940 
 941     @TestCase(op = Operation.SMALLER)
 942     public static boolean testSmaller135(int a, int b) {
 943         return compare45(a, b) <= -1;
 944     }
 945 
 946     @TestCase(op = Operation.SMALLER)
 947     public static boolean testSmaller136(int a, int b) {
 948         return compare46(a, b) == -1;
 949     }
 950 
 951     @TestCase(op = Operation.SMALLER)
 952     public static boolean testSmaller137(int a, int b) {
 953         return compare46(a, b) < 0;
 954     }
 955 
 956     @TestCase(op = Operation.SMALLER)
 957     public static boolean testSmaller138(int a, int b) {
 958         return compare46(a, b) <= -1;
 959     }
 960 
 961     @TestCase(op = Operation.SMALLER)
 962     public static boolean testSmaller139(int a, int b) {
 963         return compare47(a, b) == -1;
 964     }
 965 
 966     @TestCase(op = Operation.SMALLER)
 967     public static boolean testSmaller140(int a, int b) {
 968         return compare47(a, b) < 0;
 969     }
 970 
 971     @TestCase(op = Operation.SMALLER)
 972     public static boolean testSmaller141(int a, int b) {
 973         return compare47(a, b) <= -1;
 974     }
 975 
 976     @TestCase(op = Operation.SMALLER)
 977     public static boolean testSmaller142(int a, int b) {
 978         return compare48(a, b) == -1;
 979     }
 980 
 981     @TestCase(op = Operation.SMALLER)
 982     public static boolean testSmaller143(int a, int b) {
 983         return compare48(a, b) < 0;
 984     }
 985 
 986     @TestCase(op = Operation.SMALLER)
 987     public static boolean testSmaller144(int a, int b) {
 988         return compare48(a, b) <= -1;
 989     }
 990 
 991     @TestCase(op = Operation.SMALLER_EQUAL)
 992     public static boolean testSmallerEqual1(int a, int b) {
 993         return compare1(a, b) <= 0;
 994     }
 995 
 996     @TestCase(op = Operation.SMALLER_EQUAL)
 997     public static boolean testSmallerEqual2(int a, int b) {
 998         return compare2(a, b) <= 0;
 999     }
1000 
1001     @TestCase(op = Operation.SMALLER_EQUAL)
1002     public static boolean testSmallerEqual3(int a, int b) {
1003         return compare3(a, b) <= 0;
1004     }
1005 
1006     @TestCase(op = Operation.SMALLER_EQUAL)
1007     public static boolean testSmallerEqual4(int a, int b) {
1008         return compare4(a, b) <= 0;
1009     }
1010 
1011     @TestCase(op = Operation.SMALLER_EQUAL)
1012     public static boolean testSmallerEqual5(int a, int b) {
1013         return compare5(a, b) <= 0;
1014     }
1015 
1016     @TestCase(op = Operation.SMALLER_EQUAL)
1017     public static boolean testSmallerEqual6(int a, int b) {
1018         return compare6(a, b) <= 0;
1019     }
1020 
1021     @TestCase(op = Operation.SMALLER_EQUAL)
1022     public static boolean testSmallerEqual7(int a, int b) {
1023         return compare7(a, b) <= 0;
1024     }
1025 
1026     @TestCase(op = Operation.SMALLER_EQUAL)
1027     public static boolean testSmallerEqual8(int a, int b) {
1028         return compare8(a, b) <= 0;
1029     }
1030 
1031     @TestCase(op = Operation.SMALLER_EQUAL)
1032     public static boolean testSmallerEqual9(int a, int b) {
1033         return compare9(a, b) <= 0;
1034     }
1035 
1036     @TestCase(op = Operation.SMALLER_EQUAL)
1037     public static boolean testSmallerEqual10(int a, int b) {
1038         return compare10(a, b) <= 0;
1039     }
1040 
1041     @TestCase(op = Operation.SMALLER_EQUAL)
1042     public static boolean testSmallerEqual11(int a, int b) {
1043         return compare11(a, b) <= 0;
1044     }
1045 
1046     @TestCase(op = Operation.SMALLER_EQUAL)
1047     public static boolean testSmallerEqual12(int a, int b) {
1048         return compare12(a, b) <= 0;
1049     }
1050 
1051     @TestCase(op = Operation.SMALLER_EQUAL)
1052     public static boolean testSmallerEqual13(int a, int b) {
1053         return compare13(a, b) <= 0;
1054     }
1055 
1056     @TestCase(op = Operation.SMALLER_EQUAL)
1057     public static boolean testSmallerEqual14(int a, int b) {
1058         return compare14(a, b) <= 0;
1059     }
1060 
1061     @TestCase(op = Operation.SMALLER_EQUAL)
1062     public static boolean testSmallerEqual15(int a, int b) {
1063         return compare15(a, b) <= 0;
1064     }
1065 
1066     @TestCase(op = Operation.SMALLER_EQUAL)
1067     public static boolean testSmallerEqual16(int a, int b) {
1068         return compare16(a, b) <= 0;
1069     }
1070 
1071     @TestCase(op = Operation.SMALLER_EQUAL)
1072     public static boolean testSmallerEqual17(int a, int b) {
1073         return compare17(a, b) <= 0;
1074     }
1075 
1076     @TestCase(op = Operation.SMALLER_EQUAL)
1077     public static boolean testSmallerEqual18(int a, int b) {
1078         return compare18(a, b) <= 0;
1079     }
1080 
1081     @TestCase(op = Operation.SMALLER_EQUAL)
1082     public static boolean testSmallerEqual19(int a, int b) {
1083         return compare19(a, b) <= 0;
1084     }
1085 
1086     @TestCase(op = Operation.SMALLER_EQUAL)
1087     public static boolean testSmallerEqual20(int a, int b) {
1088         return compare20(a, b) <= 0;
1089     }
1090 
1091     @TestCase(op = Operation.SMALLER_EQUAL)
1092     public static boolean testSmallerEqual21(int a, int b) {
1093         return compare21(a, b) <= 0;
1094     }
1095 
1096     @TestCase(op = Operation.SMALLER_EQUAL)
1097     public static boolean testSmallerEqual22(int a, int b) {
1098         return compare22(a, b) <= 0;
1099     }
1100 
1101     @TestCase(op = Operation.SMALLER_EQUAL)
1102     public static boolean testSmallerEqual23(int a, int b) {
1103         return compare23(a, b) <= 0;
1104     }
1105 
1106     @TestCase(op = Operation.SMALLER_EQUAL)
1107     public static boolean testSmallerEqual24(int a, int b) {
1108         return compare24(a, b) <= 0;
1109     }
1110 
1111     @TestCase(op = Operation.SMALLER_EQUAL)
1112     public static boolean testSmallerEqual25(int a, int b) {
1113         return compare2(a, b) <= 0;
1114     }
1115 
1116     @TestCase(op = Operation.SMALLER_EQUAL)
1117     public static boolean testSmallerEqual26(int a, int b) {
1118         return compare26(a, b) <= 0;
1119     }
1120 
1121     @TestCase(op = Operation.SMALLER_EQUAL)
1122     public static boolean testSmallerEqual27(int a, int b) {
1123         return compare27(a, b) <= 0;
1124     }
1125 
1126     @TestCase(op = Operation.SMALLER_EQUAL)
1127     public static boolean testSmallerEqual28(int a, int b) {
1128         return compare28(a, b) <= 0;
1129     }
1130 
1131     @TestCase(op = Operation.SMALLER_EQUAL)
1132     public static boolean testSmallerEqual29(int a, int b) {
1133         return compare29(a, b) <= 0;
1134     }
1135 
1136     @TestCase(op = Operation.SMALLER_EQUAL)
1137     public static boolean testSmallerEqual30(int a, int b) {
1138         return compare30(a, b) <= 0;
1139     }
1140 
1141     @TestCase(op = Operation.SMALLER_EQUAL)
1142     public static boolean testSmallerEqual31(int a, int b) {
1143         return compare31(a, b) <= 0;
1144     }
1145 
1146     @TestCase(op = Operation.SMALLER_EQUAL)
1147     public static boolean testSmallerEqual32(int a, int b) {
1148         return compare32(a, b) <= 0;
1149     }
1150 
1151     @TestCase(op = Operation.SMALLER_EQUAL)
1152     public static boolean testSmallerEqual33(int a, int b) {
1153         return compare33(a, b) <= 0;
1154     }
1155 
1156     @TestCase(op = Operation.SMALLER_EQUAL)
1157     public static boolean testSmallerEqual34(int a, int b) {
1158         return compare34(a, b) <= 0;
1159     }
1160 
1161     @TestCase(op = Operation.SMALLER_EQUAL)
1162     public static boolean testSmallerEqual35(int a, int b) {
1163         return compare35(a, b) <= 0;
1164     }
1165 
1166     @TestCase(op = Operation.SMALLER_EQUAL)
1167     public static boolean testSmallerEqual36(int a, int b) {
1168         return compare36(a, b) <= 0;
1169     }
1170 
1171     @TestCase(op = Operation.SMALLER_EQUAL)
1172     public static boolean testSmallerEqual37(int a, int b) {
1173         return compare37(a, b) <= 0;
1174     }
1175 
1176     @TestCase(op = Operation.SMALLER_EQUAL)
1177     public static boolean testSmallerEqual38(int a, int b) {
1178         return compare38(a, b) <= 0;
1179     }
1180 
1181     @TestCase(op = Operation.SMALLER_EQUAL)
1182     public static boolean testSmallerEqual39(int a, int b) {
1183         return compare39(a, b) <= 0;
1184     }
1185 
1186     @TestCase(op = Operation.SMALLER_EQUAL)
1187     public static boolean testSmallerEqual40(int a, int b) {
1188         return compare40(a, b) <= 0;
1189     }
1190 
1191     @TestCase(op = Operation.SMALLER_EQUAL)
1192     public static boolean testSmallerEqual41(int a, int b) {
1193         return compare41(a, b) <= 0;
1194     }
1195 
1196     @TestCase(op = Operation.SMALLER_EQUAL)
1197     public static boolean testSmallerEqual42(int a, int b) {
1198         return compare42(a, b) <= 0;
1199     }
1200 
1201     @TestCase(op = Operation.SMALLER_EQUAL)
1202     public static boolean testSmallerEqual43(int a, int b) {
1203         return compare43(a, b) <= 0;
1204     }
1205 
1206     @TestCase(op = Operation.SMALLER_EQUAL)
1207     public static boolean testSmallerEqual44(int a, int b) {
1208         return compare44(a, b) <= 0;
1209     }
1210 
1211     @TestCase(op = Operation.SMALLER_EQUAL)
1212     public static boolean testSmallerEqual45(int a, int b) {
1213         return compare45(a, b) <= 0;
1214     }
1215 
1216     @TestCase(op = Operation.SMALLER_EQUAL)
1217     public static boolean testSmallerEqual46(int a, int b) {
1218         return compare46(a, b) <= 0;
1219     }
1220 
1221     @TestCase(op = Operation.SMALLER_EQUAL)
1222     public static boolean testSmallerEqual47(int a, int b) {
1223         return compare47(a, b) <= 0;
1224     }
1225 
1226     @TestCase(op = Operation.SMALLER_EQUAL)
1227     public static boolean testSmallerEqual48(int a, int b) {
1228         return compare48(a, b) <= 0;
1229     }
1230 
1231     @TestCase(op = Operation.EQUAL)
1232     public static boolean testEqual1(int a, int b) {
1233         return compare1(a, b) == 0;
1234     }
1235 
1236     @TestCase(op = Operation.EQUAL)
1237     public static boolean testEqual2(int a, int b) {
1238         return compare2(a, b) == 0;
1239     }
1240 
1241     @TestCase(op = Operation.EQUAL)
1242     public static boolean testEqual3(int a, int b) {
1243         return compare3(a, b) == 0;
1244     }
1245 
1246     @TestCase(op = Operation.EQUAL)
1247     public static boolean testEqual4(int a, int b) {
1248         return compare4(a, b) == 0;
1249     }
1250 
1251     @TestCase(op = Operation.EQUAL)
1252     public static boolean testEqual5(int a, int b) {
1253         return compare5(a, b) == 0;
1254     }
1255 
1256     @TestCase(op = Operation.EQUAL)
1257     public static boolean testEqual6(int a, int b) {
1258         return compare6(a, b) == 0;
1259     }
1260 
1261     @TestCase(op = Operation.EQUAL)
1262     public static boolean testEqual7(int a, int b) {
1263         return compare7(a, b) == 0;
1264     }
1265 
1266     @TestCase(op = Operation.EQUAL)
1267     public static boolean testEqual8(int a, int b) {
1268         return compare8(a, b) == 0;
1269     }
1270 
1271     @TestCase(op = Operation.EQUAL)
1272     public static boolean testEqual9(int a, int b) {
1273         return compare9(a, b) == 0;
1274     }
1275 
1276     @TestCase(op = Operation.EQUAL)
1277     public static boolean testEqual10(int a, int b) {
1278         return compare10(a, b) == 0;
1279     }
1280 
1281     @TestCase(op = Operation.EQUAL)
1282     public static boolean testEqual11(int a, int b) {
1283         return compare11(a, b) == 0;
1284     }
1285 
1286     @TestCase(op = Operation.EQUAL)
1287     public static boolean testEqual12(int a, int b) {
1288         return compare12(a, b) == 0;
1289     }
1290 
1291     @TestCase(op = Operation.EQUAL)
1292     public static boolean testEqual13(int a, int b) {
1293         return compare13(a, b) == 0;
1294     }
1295 
1296     @TestCase(op = Operation.EQUAL)
1297     public static boolean testEqual14(int a, int b) {
1298         return compare14(a, b) == 0;
1299     }
1300 
1301     @TestCase(op = Operation.EQUAL)
1302     public static boolean testEqual15(int a, int b) {
1303         return compare15(a, b) == 0;
1304     }
1305 
1306     @TestCase(op = Operation.EQUAL)
1307     public static boolean testEqual16(int a, int b) {
1308         return compare16(a, b) == 0;
1309     }
1310 
1311     @TestCase(op = Operation.EQUAL)
1312     public static boolean testEqual17(int a, int b) {
1313         return compare17(a, b) == 0;
1314     }
1315 
1316     @TestCase(op = Operation.EQUAL)
1317     public static boolean testEqual18(int a, int b) {
1318         return compare18(a, b) == 0;
1319     }
1320 
1321     @TestCase(op = Operation.EQUAL)
1322     public static boolean testEqual19(int a, int b) {
1323         return compare19(a, b) == 0;
1324     }
1325 
1326     @TestCase(op = Operation.EQUAL)
1327     public static boolean testEqual20(int a, int b) {
1328         return compare20(a, b) == 0;
1329     }
1330 
1331     @TestCase(op = Operation.EQUAL)
1332     public static boolean testEqual21(int a, int b) {
1333         return compare21(a, b) == 0;
1334     }
1335 
1336     @TestCase(op = Operation.EQUAL)
1337     public static boolean testEqual22(int a, int b) {
1338         return compare22(a, b) == 0;
1339     }
1340 
1341     @TestCase(op = Operation.EQUAL)
1342     public static boolean testEqual23(int a, int b) {
1343         return compare23(a, b) == 0;
1344     }
1345 
1346     @TestCase(op = Operation.EQUAL)
1347     public static boolean testEqual24(int a, int b) {
1348         return compare24(a, b) == 0;
1349     }
1350 
1351     @TestCase(op = Operation.EQUAL)
1352     public static boolean testEqual25(int a, int b) {
1353         return compare25(a, b) == 0;
1354     }
1355 
1356     @TestCase(op = Operation.EQUAL)
1357     public static boolean testEqual26(int a, int b) {
1358         return compare26(a, b) == 0;
1359     }
1360 
1361     @TestCase(op = Operation.EQUAL)
1362     public static boolean testEqual27(int a, int b) {
1363         return compare27(a, b) == 0;
1364     }
1365 
1366     @TestCase(op = Operation.EQUAL)
1367     public static boolean testEqual28(int a, int b) {
1368         return compare28(a, b) == 0;
1369     }
1370 
1371     @TestCase(op = Operation.EQUAL)
1372     public static boolean testEqual29(int a, int b) {
1373         return compare29(a, b) == 0;
1374     }
1375 
1376     @TestCase(op = Operation.EQUAL)
1377     public static boolean testEqual30(int a, int b) {
1378         return compare30(a, b) == 0;
1379     }
1380 
1381     @TestCase(op = Operation.EQUAL)
1382     public static boolean testEqual31(int a, int b) {
1383         return compare31(a, b) == 0;
1384     }
1385 
1386     @TestCase(op = Operation.EQUAL)
1387     public static boolean testEqual32(int a, int b) {
1388         return compare32(a, b) == 0;
1389     }
1390 
1391     @TestCase(op = Operation.EQUAL)
1392     public static boolean testEqual33(int a, int b) {
1393         return compare33(a, b) == 0;
1394     }
1395 
1396     @TestCase(op = Operation.EQUAL)
1397     public static boolean testEqual34(int a, int b) {
1398         return compare34(a, b) == 0;
1399     }
1400 
1401     @TestCase(op = Operation.EQUAL)
1402     public static boolean testEqual35(int a, int b) {
1403         return compare35(a, b) == 0;
1404     }
1405 
1406     @TestCase(op = Operation.EQUAL)
1407     public static boolean testEqual36(int a, int b) {
1408         return compare36(a, b) == 0;
1409     }
1410 
1411     @TestCase(op = Operation.EQUAL)
1412     public static boolean testEqual37(int a, int b) {
1413         return compare37(a, b) == 0;
1414     }
1415 
1416     @TestCase(op = Operation.EQUAL)
1417     public static boolean testEqual38(int a, int b) {
1418         return compare38(a, b) == 0;
1419     }
1420 
1421     @TestCase(op = Operation.EQUAL)
1422     public static boolean testEqual39(int a, int b) {
1423         return compare39(a, b) == 0;
1424     }
1425 
1426     @TestCase(op = Operation.EQUAL)
1427     public static boolean testEqual40(int a, int b) {
1428         return compare40(a, b) == 0;
1429     }
1430 
1431     @TestCase(op = Operation.EQUAL)
1432     public static boolean testEqual41(int a, int b) {
1433         return compare41(a, b) == 0;
1434     }
1435 
1436     @TestCase(op = Operation.EQUAL)
1437     public static boolean testEqual42(int a, int b) {
1438         return compare42(a, b) == 0;
1439     }
1440 
1441     @TestCase(op = Operation.EQUAL)
1442     public static boolean testEqual43(int a, int b) {
1443         return compare43(a, b) == 0;
1444     }
1445 
1446     @TestCase(op = Operation.EQUAL)
1447     public static boolean testEqual44(int a, int b) {
1448         return compare44(a, b) == 0;
1449     }
1450 
1451     @TestCase(op = Operation.EQUAL)
1452     public static boolean testEqual45(int a, int b) {
1453         return compare45(a, b) == 0;
1454     }
1455 
1456     @TestCase(op = Operation.EQUAL)
1457     public static boolean testEqual46(int a, int b) {
1458         return compare46(a, b) == 0;
1459     }
1460 
1461     @TestCase(op = Operation.EQUAL)
1462     public static boolean testEqual47(int a, int b) {
1463         return compare47(a, b) == 0;
1464     }
1465 
1466     @TestCase(op = Operation.EQUAL)
1467     public static boolean testEqual48(int a, int b) {
1468         return compare48(a, b) == 0;
1469     }
1470 
1471     @TestCase(op = Operation.GREATER_EQUAL)
1472     public static boolean testGreaterEqual1(int a, int b) {
1473         return compare1(a, b) >= 0;
1474     }
1475 
1476     @TestCase(op = Operation.GREATER_EQUAL)
1477     public static boolean testGreaterEqual2(int a, int b) {
1478         return compare2(a, b) >= 0;
1479     }
1480 
1481     @TestCase(op = Operation.GREATER_EQUAL)
1482     public static boolean testGreaterEqual3(int a, int b) {
1483         return compare3(a, b) >= 0;
1484     }
1485 
1486     @TestCase(op = Operation.GREATER_EQUAL)
1487     public static boolean testGreaterEqual4(int a, int b) {
1488         return compare4(a, b) >= 0;
1489     }
1490 
1491     @TestCase(op = Operation.GREATER_EQUAL)
1492     public static boolean testGreaterEqual5(int a, int b) {
1493         return compare5(a, b) >= 0;
1494     }
1495 
1496     @TestCase(op = Operation.GREATER_EQUAL)
1497     public static boolean testGreaterEqual6(int a, int b) {
1498         return compare6(a, b) >= 0;
1499     }
1500 
1501     @TestCase(op = Operation.GREATER_EQUAL)
1502     public static boolean testGreaterEqual7(int a, int b) {
1503         return compare7(a, b) >= 0;
1504     }
1505 
1506     @TestCase(op = Operation.GREATER_EQUAL)
1507     public static boolean testGreaterEqual8(int a, int b) {
1508         return compare8(a, b) >= 0;
1509     }
1510 
1511     @TestCase(op = Operation.GREATER_EQUAL)
1512     public static boolean testGreaterEqual9(int a, int b) {
1513         return compare9(a, b) >= 0;
1514     }
1515 
1516     @TestCase(op = Operation.GREATER_EQUAL)
1517     public static boolean testGreaterEqual10(int a, int b) {
1518         return compare10(a, b) >= 0;
1519     }
1520 
1521     @TestCase(op = Operation.GREATER_EQUAL)
1522     public static boolean testGreaterEqual11(int a, int b) {
1523         return compare11(a, b) >= 0;
1524     }
1525 
1526     @TestCase(op = Operation.GREATER_EQUAL)
1527     public static boolean testGreaterEqual12(int a, int b) {
1528         return compare12(a, b) >= 0;
1529     }
1530 
1531     @TestCase(op = Operation.GREATER_EQUAL)
1532     public static boolean testGreaterEqual13(int a, int b) {
1533         return compare13(a, b) >= 0;
1534     }
1535 
1536     @TestCase(op = Operation.GREATER_EQUAL)
1537     public static boolean testGreaterEqual14(int a, int b) {
1538         return compare14(a, b) >= 0;
1539     }
1540 
1541     @TestCase(op = Operation.GREATER_EQUAL)
1542     public static boolean testGreaterEqual15(int a, int b) {
1543         return compare15(a, b) >= 0;
1544     }
1545 
1546     @TestCase(op = Operation.GREATER_EQUAL)
1547     public static boolean testGreaterEqual16(int a, int b) {
1548         return compare16(a, b) >= 0;
1549     }
1550 
1551     @TestCase(op = Operation.GREATER_EQUAL)
1552     public static boolean testGreaterEqual17(int a, int b) {
1553         return compare17(a, b) >= 0;
1554     }
1555 
1556     @TestCase(op = Operation.GREATER_EQUAL)
1557     public static boolean testGreaterEqual18(int a, int b) {
1558         return compare18(a, b) >= 0;
1559     }
1560 
1561     @TestCase(op = Operation.GREATER_EQUAL)
1562     public static boolean testGreaterEqual19(int a, int b) {
1563         return compare19(a, b) >= 0;
1564     }
1565 
1566     @TestCase(op = Operation.GREATER_EQUAL)
1567     public static boolean testGreaterEqual20(int a, int b) {
1568         return compare20(a, b) >= 0;
1569     }
1570 
1571     @TestCase(op = Operation.GREATER_EQUAL)
1572     public static boolean testGreaterEqual21(int a, int b) {
1573         return compare21(a, b) >= 0;
1574     }
1575 
1576     @TestCase(op = Operation.GREATER_EQUAL)
1577     public static boolean testGreaterEqual22(int a, int b) {
1578         return compare22(a, b) >= 0;
1579     }
1580 
1581     @TestCase(op = Operation.GREATER_EQUAL)
1582     public static boolean testGreaterEqual23(int a, int b) {
1583         return compare23(a, b) >= 0;
1584     }
1585 
1586     @TestCase(op = Operation.GREATER_EQUAL)
1587     public static boolean testGreaterEqual24(int a, int b) {
1588         return compare24(a, b) >= 0;
1589     }
1590 
1591     @TestCase(op = Operation.GREATER_EQUAL)
1592     public static boolean testGreaterEqual25(int a, int b) {
1593         return compare25(a, b) >= 0;
1594     }
1595 
1596     @TestCase(op = Operation.GREATER_EQUAL)
1597     public static boolean testGreaterEqual26(int a, int b) {
1598         return compare26(a, b) >= 0;
1599     }
1600 
1601     @TestCase(op = Operation.GREATER_EQUAL)
1602     public static boolean testGreaterEqual27(int a, int b) {
1603         return compare27(a, b) >= 0;
1604     }
1605 
1606     @TestCase(op = Operation.GREATER_EQUAL)
1607     public static boolean testGreaterEqual28(int a, int b) {
1608         return compare28(a, b) >= 0;
1609     }
1610 
1611     @TestCase(op = Operation.GREATER_EQUAL)
1612     public static boolean testGreaterEqual29(int a, int b) {
1613         return compare29(a, b) >= 0;
1614     }
1615 
1616     @TestCase(op = Operation.GREATER_EQUAL)
1617     public static boolean testGreaterEqual30(int a, int b) {
1618         return compare30(a, b) >= 0;
1619     }
1620 
1621     @TestCase(op = Operation.GREATER_EQUAL)
1622     public static boolean testGreaterEqual31(int a, int b) {
1623         return compare31(a, b) >= 0;
1624     }
1625 
1626     @TestCase(op = Operation.GREATER_EQUAL)
1627     public static boolean testGreaterEqual32(int a, int b) {
1628         return compare32(a, b) >= 0;
1629     }
1630 
1631     @TestCase(op = Operation.GREATER_EQUAL)
1632     public static boolean testGreaterEqual33(int a, int b) {
1633         return compare33(a, b) >= 0;
1634     }
1635 
1636     @TestCase(op = Operation.GREATER_EQUAL)
1637     public static boolean testGreaterEqual34(int a, int b) {
1638         return compare34(a, b) >= 0;
1639     }
1640 
1641     @TestCase(op = Operation.GREATER_EQUAL)
1642     public static boolean testGreaterEqual35(int a, int b) {
1643         return compare35(a, b) >= 0;
1644     }
1645 
1646     @TestCase(op = Operation.GREATER_EQUAL)
1647     public static boolean testGreaterEqual36(int a, int b) {
1648         return compare36(a, b) >= 0;
1649     }
1650 
1651     @TestCase(op = Operation.GREATER_EQUAL)
1652     public static boolean testGreaterEqual37(int a, int b) {
1653         return compare37(a, b) >= 0;
1654     }
1655 
1656     @TestCase(op = Operation.GREATER_EQUAL)
1657     public static boolean testGreaterEqual38(int a, int b) {
1658         return compare38(a, b) >= 0;
1659     }
1660 
1661     @TestCase(op = Operation.GREATER_EQUAL)
1662     public static boolean testGreaterEqual39(int a, int b) {
1663         return compare39(a, b) >= 0;
1664     }
1665 
1666     @TestCase(op = Operation.GREATER_EQUAL)
1667     public static boolean testGreaterEqual40(int a, int b) {
1668         return compare40(a, b) >= 0;
1669     }
1670 
1671     @TestCase(op = Operation.GREATER_EQUAL)
1672     public static boolean testGreaterEqual41(int a, int b) {
1673         return compare41(a, b) >= 0;
1674     }
1675 
1676     @TestCase(op = Operation.GREATER_EQUAL)
1677     public static boolean testGreaterEqual42(int a, int b) {
1678         return compare42(a, b) >= 0;
1679     }
1680 
1681     @TestCase(op = Operation.GREATER_EQUAL)
1682     public static boolean testGreaterEqual43(int a, int b) {
1683         return compare43(a, b) >= 0;
1684     }
1685 
1686     @TestCase(op = Operation.GREATER_EQUAL)
1687     public static boolean testGreaterEqual44(int a, int b) {
1688         return compare44(a, b) >= 0;
1689     }
1690 
1691     @TestCase(op = Operation.GREATER_EQUAL)
1692     public static boolean testGreaterEqual45(int a, int b) {
1693         return compare45(a, b) >= 0;
1694     }
1695 
1696     @TestCase(op = Operation.GREATER_EQUAL)
1697     public static boolean testGreaterEqual46(int a, int b) {
1698         return compare46(a, b) >= 0;
1699     }
1700 
1701     @TestCase(op = Operation.GREATER_EQUAL)
1702     public static boolean testGreaterEqual47(int a, int b) {
1703         return compare47(a, b) >= 0;
1704     }
1705 
1706     @TestCase(op = Operation.GREATER_EQUAL)
1707     public static boolean testGreaterEqual48(int a, int b) {
1708         return compare48(a, b) >= 0;
1709     }
1710 
1711     @TestCase(op = Operation.GREATER)
1712     public static boolean testGreater1(int a, int b) {
1713         return compare1(a, b) == 1;
1714     }
1715 
1716     @TestCase(op = Operation.GREATER)
1717     public static boolean testGreater2(int a, int b) {
1718         return compare1(a, b) > 0;
1719     }
1720 
1721     @TestCase(op = Operation.GREATER)
1722     public static boolean testGreater3(int a, int b) {
1723         return compare1(a, b) >= 1;
1724     }
1725 
1726     @TestCase(op = Operation.GREATER)
1727     public static boolean testGreater4(int a, int b) {
1728         return compare2(a, b) == 1;
1729     }
1730 
1731     @TestCase(op = Operation.GREATER)
1732     public static boolean testGreater5(int a, int b) {
1733         return compare2(a, b) > 0;
1734     }
1735 
1736     @TestCase(op = Operation.GREATER)
1737     public static boolean testGreater6(int a, int b) {
1738         return compare2(a, b) >= 1;
1739     }
1740 
1741     @TestCase(op = Operation.GREATER)
1742     public static boolean testGreater7(int a, int b) {
1743         return compare3(a, b) == 1;
1744     }
1745 
1746     @TestCase(op = Operation.GREATER)
1747     public static boolean testGreater8(int a, int b) {
1748         return compare3(a, b) > 0;
1749     }
1750 
1751     @TestCase(op = Operation.GREATER)
1752     public static boolean testGreater9(int a, int b) {
1753         return compare3(a, b) >= 1;
1754     }
1755 
1756     @TestCase(op = Operation.GREATER)
1757     public static boolean testGreater10(int a, int b) {
1758         return compare4(a, b) == 1;
1759     }
1760 
1761     @TestCase(op = Operation.GREATER)
1762     public static boolean testGreater11(int a, int b) {
1763         return compare4(a, b) > 0;
1764     }
1765 
1766     @TestCase(op = Operation.GREATER)
1767     public static boolean testGreater12(int a, int b) {
1768         return compare4(a, b) >= 1;
1769     }
1770 
1771     @TestCase(op = Operation.GREATER)
1772     public static boolean testGreater13(int a, int b) {
1773         return compare5(a, b) == 1;
1774     }
1775 
1776     @TestCase(op = Operation.GREATER)
1777     public static boolean testGreater14(int a, int b) {
1778         return compare5(a, b) > 0;
1779     }
1780 
1781     @TestCase(op = Operation.GREATER)
1782     public static boolean testGreater15(int a, int b) {
1783         return compare5(a, b) >= 1;
1784     }
1785 
1786     @TestCase(op = Operation.GREATER)
1787     public static boolean testGreater16(int a, int b) {
1788         return compare6(a, b) == 1;
1789     }
1790 
1791     @TestCase(op = Operation.GREATER)
1792     public static boolean testGreater17(int a, int b) {
1793         return compare6(a, b) > 0;
1794     }
1795 
1796     @TestCase(op = Operation.GREATER)
1797     public static boolean testGreater18(int a, int b) {
1798         return compare6(a, b) >= 1;
1799     }
1800 
1801     @TestCase(op = Operation.GREATER)
1802     public static boolean testGreater19(int a, int b) {
1803         return compare7(a, b) == 1;
1804     }
1805 
1806     @TestCase(op = Operation.GREATER)
1807     public static boolean testGreater20(int a, int b) {
1808         return compare7(a, b) > 0;
1809     }
1810 
1811     @TestCase(op = Operation.GREATER)
1812     public static boolean testGreater21(int a, int b) {
1813         return compare7(a, b) >= 1;
1814     }
1815 
1816     @TestCase(op = Operation.GREATER)
1817     public static boolean testGreater22(int a, int b) {
1818         return compare8(a, b) == 1;
1819     }
1820 
1821     @TestCase(op = Operation.GREATER)
1822     public static boolean testGreater23(int a, int b) {
1823         return compare8(a, b) > 0;
1824     }
1825 
1826     @TestCase(op = Operation.GREATER)
1827     public static boolean testGreater24(int a, int b) {
1828         return compare8(a, b) >= 1;
1829     }
1830 
1831     @TestCase(op = Operation.GREATER)
1832     public static boolean testGreater25(int a, int b) {
1833         return compare9(a, b) == 1;
1834     }
1835 
1836     @TestCase(op = Operation.GREATER)
1837     public static boolean testGreater26(int a, int b) {
1838         return compare9(a, b) > 0;
1839     }
1840 
1841     @TestCase(op = Operation.GREATER)
1842     public static boolean testGreater27(int a, int b) {
1843         return compare9(a, b) >= 1;
1844     }
1845 
1846     @TestCase(op = Operation.GREATER)
1847     public static boolean testGreater28(int a, int b) {
1848         return compare10(a, b) == 1;
1849     }
1850 
1851     @TestCase(op = Operation.GREATER)
1852     public static boolean testGreater29(int a, int b) {
1853         return compare10(a, b) > 0;
1854     }
1855 
1856     @TestCase(op = Operation.GREATER)
1857     public static boolean testGreater30(int a, int b) {
1858         return compare10(a, b) >= 1;
1859     }
1860 
1861     @TestCase(op = Operation.GREATER)
1862     public static boolean testGreater31(int a, int b) {
1863         return compare11(a, b) == 1;
1864     }
1865 
1866     @TestCase(op = Operation.GREATER)
1867     public static boolean testGreater32(int a, int b) {
1868         return compare11(a, b) > 0;
1869     }
1870 
1871     @TestCase(op = Operation.GREATER)
1872     public static boolean testGreater33(int a, int b) {
1873         return compare11(a, b) >= 1;
1874     }
1875 
1876     @TestCase(op = Operation.GREATER)
1877     public static boolean testGreater34(int a, int b) {
1878         return compare12(a, b) == 1;
1879     }
1880 
1881     @TestCase(op = Operation.GREATER)
1882     public static boolean testGreater35(int a, int b) {
1883         return compare12(a, b) > 0;
1884     }
1885 
1886     @TestCase(op = Operation.GREATER)
1887     public static boolean testGreater36(int a, int b) {
1888         return compare12(a, b) >= 1;
1889     }
1890 
1891     @TestCase(op = Operation.GREATER)
1892     public static boolean testGreater37(int a, int b) {
1893         return compare13(a, b) == 1;
1894     }
1895 
1896     @TestCase(op = Operation.GREATER)
1897     public static boolean testGreater38(int a, int b) {
1898         return compare13(a, b) > 0;
1899     }
1900 
1901     @TestCase(op = Operation.GREATER)
1902     public static boolean testGreater39(int a, int b) {
1903         return compare13(a, b) >= 1;
1904     }
1905 
1906     @TestCase(op = Operation.GREATER)
1907     public static boolean testGreater40(int a, int b) {
1908         return compare14(a, b) == 1;
1909     }
1910 
1911     @TestCase(op = Operation.GREATER)
1912     public static boolean testGreater41(int a, int b) {
1913         return compare14(a, b) > 0;
1914     }
1915 
1916     @TestCase(op = Operation.GREATER)
1917     public static boolean testGreater42(int a, int b) {
1918         return compare14(a, b) >= 1;
1919     }
1920 
1921     @TestCase(op = Operation.GREATER)
1922     public static boolean testGreater43(int a, int b) {
1923         return compare15(a, b) == 1;
1924     }
1925 
1926     @TestCase(op = Operation.GREATER)
1927     public static boolean testGreater44(int a, int b) {
1928         return compare15(a, b) > 0;
1929     }
1930 
1931     @TestCase(op = Operation.GREATER)
1932     public static boolean testGreater45(int a, int b) {
1933         return compare15(a, b) >= 1;
1934     }
1935 
1936     @TestCase(op = Operation.GREATER)
1937     public static boolean testGreater46(int a, int b) {
1938         return compare16(a, b) == 1;
1939     }
1940 
1941     @TestCase(op = Operation.GREATER)
1942     public static boolean testGreater47(int a, int b) {
1943         return compare16(a, b) > 0;
1944     }
1945 
1946     @TestCase(op = Operation.GREATER)
1947     public static boolean testGreater48(int a, int b) {
1948         return compare16(a, b) >= 1;
1949     }
1950 
1951     @TestCase(op = Operation.GREATER)
1952     public static boolean testGreater49(int a, int b) {
1953         return compare17(a, b) == 1;
1954     }
1955 
1956     @TestCase(op = Operation.GREATER)
1957     public static boolean testGreater50(int a, int b) {
1958         return compare17(a, b) > 0;
1959     }
1960 
1961     @TestCase(op = Operation.GREATER)
1962     public static boolean testGreater51(int a, int b) {
1963         return compare17(a, b) >= 1;
1964     }
1965 
1966     @TestCase(op = Operation.GREATER)
1967     public static boolean testGreater52(int a, int b) {
1968         return compare18(a, b) == 1;
1969     }
1970 
1971     @TestCase(op = Operation.GREATER)
1972     public static boolean testGreater53(int a, int b) {
1973         return compare18(a, b) > 0;
1974     }
1975 
1976     @TestCase(op = Operation.GREATER)
1977     public static boolean testGreater54(int a, int b) {
1978         return compare18(a, b) >= 1;
1979     }
1980 
1981     @TestCase(op = Operation.GREATER)
1982     public static boolean testGreater55(int a, int b) {
1983         return compare19(a, b) == 1;
1984     }
1985 
1986     @TestCase(op = Operation.GREATER)
1987     public static boolean testGreater56(int a, int b) {
1988         return compare19(a, b) > 0;
1989     }
1990 
1991     @TestCase(op = Operation.GREATER)
1992     public static boolean testGreater57(int a, int b) {
1993         return compare19(a, b) >= 1;
1994     }
1995 
1996     @TestCase(op = Operation.GREATER)
1997     public static boolean testGreater58(int a, int b) {
1998         return compare20(a, b) == 1;
1999     }
2000 
2001     @TestCase(op = Operation.GREATER)
2002     public static boolean testGreater59(int a, int b) {
2003         return compare20(a, b) > 0;
2004     }
2005 
2006     @TestCase(op = Operation.GREATER)
2007     public static boolean testGreater60(int a, int b) {
2008         return compare20(a, b) >= 1;
2009     }
2010 
2011     @TestCase(op = Operation.GREATER)
2012     public static boolean testGreater61(int a, int b) {
2013         return compare21(a, b) == 1;
2014     }
2015 
2016     @TestCase(op = Operation.GREATER)
2017     public static boolean testGreater62(int a, int b) {
2018         return compare21(a, b) > 0;
2019     }
2020 
2021     @TestCase(op = Operation.GREATER)
2022     public static boolean testGreater63(int a, int b) {
2023         return compare21(a, b) >= 1;
2024     }
2025 
2026     @TestCase(op = Operation.GREATER)
2027     public static boolean testGreater64(int a, int b) {
2028         return compare22(a, b) == 1;
2029     }
2030 
2031     @TestCase(op = Operation.GREATER)
2032     public static boolean testGreater65(int a, int b) {
2033         return compare22(a, b) > 0;
2034     }
2035 
2036     @TestCase(op = Operation.GREATER)
2037     public static boolean testGreater66(int a, int b) {
2038         return compare22(a, b) >= 1;
2039     }
2040 
2041     @TestCase(op = Operation.GREATER)
2042     public static boolean testGreater67(int a, int b) {
2043         return compare23(a, b) == 1;
2044     }
2045 
2046     @TestCase(op = Operation.GREATER)
2047     public static boolean testGreater68(int a, int b) {
2048         return compare23(a, b) > 0;
2049     }
2050 
2051     @TestCase(op = Operation.GREATER)
2052     public static boolean testGreater69(int a, int b) {
2053         return compare23(a, b) >= 1;
2054     }
2055 
2056     @TestCase(op = Operation.GREATER)
2057     public static boolean testGreater70(int a, int b) {
2058         return compare24(a, b) == 1;
2059     }
2060 
2061     @TestCase(op = Operation.GREATER)
2062     public static boolean testGreater71(int a, int b) {
2063         return compare24(a, b) > 0;
2064     }
2065 
2066     @TestCase(op = Operation.GREATER)
2067     public static boolean testGreater72(int a, int b) {
2068         return compare24(a, b) >= 1;
2069     }
2070 
2071     @TestCase(op = Operation.GREATER)
2072     public static boolean testGreater73(int a, int b) {
2073         return compare25(a, b) == 1;
2074     }
2075 
2076     @TestCase(op = Operation.GREATER)
2077     public static boolean testGreater74(int a, int b) {
2078         return compare25(a, b) > 0;
2079     }
2080 
2081     @TestCase(op = Operation.GREATER)
2082     public static boolean testGreater75(int a, int b) {
2083         return compare25(a, b) >= 1;
2084     }
2085 
2086     @TestCase(op = Operation.GREATER)
2087     public static boolean testGreater76(int a, int b) {
2088         return compare26(a, b) == 1;
2089     }
2090 
2091     @TestCase(op = Operation.GREATER)
2092     public static boolean testGreater77(int a, int b) {
2093         return compare26(a, b) > 0;
2094     }
2095 
2096     @TestCase(op = Operation.GREATER)
2097     public static boolean testGreater78(int a, int b) {
2098         return compare26(a, b) >= 1;
2099     }
2100 
2101     @TestCase(op = Operation.GREATER)
2102     public static boolean testGreater79(int a, int b) {
2103         return compare27(a, b) == 1;
2104     }
2105 
2106     @TestCase(op = Operation.GREATER)
2107     public static boolean testGreater80(int a, int b) {
2108         return compare27(a, b) > 0;
2109     }
2110 
2111     @TestCase(op = Operation.GREATER)
2112     public static boolean testGreater81(int a, int b) {
2113         return compare27(a, b) >= 1;
2114     }
2115 
2116     @TestCase(op = Operation.GREATER)
2117     public static boolean testGreater82(int a, int b) {
2118         return compare28(a, b) == 1;
2119     }
2120 
2121     @TestCase(op = Operation.GREATER)
2122     public static boolean testGreater83(int a, int b) {
2123         return compare28(a, b) > 0;
2124     }
2125 
2126     @TestCase(op = Operation.GREATER)
2127     public static boolean testGreater84(int a, int b) {
2128         return compare28(a, b) >= 1;
2129     }
2130 
2131     @TestCase(op = Operation.GREATER)
2132     public static boolean testGreater85(int a, int b) {
2133         return compare29(a, b) == 1;
2134     }
2135 
2136     @TestCase(op = Operation.GREATER)
2137     public static boolean testGreater86(int a, int b) {
2138         return compare29(a, b) > 0;
2139     }
2140 
2141     @TestCase(op = Operation.GREATER)
2142     public static boolean testGreater87(int a, int b) {
2143         return compare29(a, b) >= 1;
2144     }
2145 
2146     @TestCase(op = Operation.GREATER)
2147     public static boolean testGreater88(int a, int b) {
2148         return compare30(a, b) == 1;
2149     }
2150 
2151     @TestCase(op = Operation.GREATER)
2152     public static boolean testGreater89(int a, int b) {
2153         return compare30(a, b) > 0;
2154     }
2155 
2156     @TestCase(op = Operation.GREATER)
2157     public static boolean testGreater90(int a, int b) {
2158         return compare30(a, b) >= 1;
2159     }
2160 
2161     @TestCase(op = Operation.GREATER)
2162     public static boolean testGreater91(int a, int b) {
2163         return compare31(a, b) == 1;
2164     }
2165 
2166     @TestCase(op = Operation.GREATER)
2167     public static boolean testGreater92(int a, int b) {
2168         return compare31(a, b) > 0;
2169     }
2170 
2171     @TestCase(op = Operation.GREATER)
2172     public static boolean testGreater93(int a, int b) {
2173         return compare31(a, b) >= 1;
2174     }
2175 
2176     @TestCase(op = Operation.GREATER)
2177     public static boolean testGreater94(int a, int b) {
2178         return compare32(a, b) == 1;
2179     }
2180 
2181     @TestCase(op = Operation.GREATER)
2182     public static boolean testGreater95(int a, int b) {
2183         return compare32(a, b) > 0;
2184     }
2185 
2186     @TestCase(op = Operation.GREATER)
2187     public static boolean testGreater96(int a, int b) {
2188         return compare32(a, b) >= 1;
2189     }
2190 
2191     @TestCase(op = Operation.GREATER)
2192     public static boolean testGreater97(int a, int b) {
2193         return compare33(a, b) == 1;
2194     }
2195 
2196     @TestCase(op = Operation.GREATER)
2197     public static boolean testGreater98(int a, int b) {
2198         return compare33(a, b) > 0;
2199     }
2200 
2201     @TestCase(op = Operation.GREATER)
2202     public static boolean testGreater99(int a, int b) {
2203         return compare33(a, b) >= 1;
2204     }
2205 
2206     @TestCase(op = Operation.GREATER)
2207     public static boolean testGreater100(int a, int b) {
2208         return compare34(a, b) == 1;
2209     }
2210 
2211     @TestCase(op = Operation.GREATER)
2212     public static boolean testGreater101(int a, int b) {
2213         return compare34(a, b) > 0;
2214     }
2215 
2216     @TestCase(op = Operation.GREATER)
2217     public static boolean testGreater102(int a, int b) {
2218         return compare34(a, b) >= 1;
2219     }
2220 
2221     @TestCase(op = Operation.GREATER)
2222     public static boolean testGreater103(int a, int b) {
2223         return compare35(a, b) == 1;
2224     }
2225 
2226     @TestCase(op = Operation.GREATER)
2227     public static boolean testGreater104(int a, int b) {
2228         return compare35(a, b) > 0;
2229     }
2230 
2231     @TestCase(op = Operation.GREATER)
2232     public static boolean testGreater105(int a, int b) {
2233         return compare35(a, b) >= 1;
2234     }
2235 
2236     @TestCase(op = Operation.GREATER)
2237     public static boolean testGreater106(int a, int b) {
2238         return compare36(a, b) == 1;
2239     }
2240 
2241     @TestCase(op = Operation.GREATER)
2242     public static boolean testGreater107(int a, int b) {
2243         return compare36(a, b) > 0;
2244     }
2245 
2246     @TestCase(op = Operation.GREATER)
2247     public static boolean testGreater108(int a, int b) {
2248         return compare36(a, b) >= 1;
2249     }
2250 
2251     @TestCase(op = Operation.GREATER)
2252     public static boolean testGreater109(int a, int b) {
2253         return compare37(a, b) == 1;
2254     }
2255 
2256     @TestCase(op = Operation.GREATER)
2257     public static boolean testGreater110(int a, int b) {
2258         return compare37(a, b) > 0;
2259     }
2260 
2261     @TestCase(op = Operation.GREATER)
2262     public static boolean testGreater111(int a, int b) {
2263         return compare37(a, b) >= 1;
2264     }
2265 
2266     @TestCase(op = Operation.GREATER)
2267     public static boolean testGreater112(int a, int b) {
2268         return compare38(a, b) == 1;
2269     }
2270 
2271     @TestCase(op = Operation.GREATER)
2272     public static boolean testGreater113(int a, int b) {
2273         return compare38(a, b) > 0;
2274     }
2275 
2276     @TestCase(op = Operation.GREATER)
2277     public static boolean testGreater114(int a, int b) {
2278         return compare38(a, b) >= 1;
2279     }
2280 
2281     @TestCase(op = Operation.GREATER)
2282     public static boolean testGreater115(int a, int b) {
2283         return compare39(a, b) == 1;
2284     }
2285 
2286     @TestCase(op = Operation.GREATER)
2287     public static boolean testGreater116(int a, int b) {
2288         return compare39(a, b) > 0;
2289     }
2290 
2291     @TestCase(op = Operation.GREATER)
2292     public static boolean testGreater117(int a, int b) {
2293         return compare39(a, b) >= 1;
2294     }
2295 
2296     @TestCase(op = Operation.GREATER)
2297     public static boolean testGreater118(int a, int b) {
2298         return compare40(a, b) == 1;
2299     }
2300 
2301     @TestCase(op = Operation.GREATER)
2302     public static boolean testGreater119(int a, int b) {
2303         return compare40(a, b) > 0;
2304     }
2305 
2306     @TestCase(op = Operation.GREATER)
2307     public static boolean testGreater120(int a, int b) {
2308         return compare40(a, b) >= 1;
2309     }
2310 
2311     @TestCase(op = Operation.GREATER)
2312     public static boolean testGreater121(int a, int b) {
2313         return compare41(a, b) == 1;
2314     }
2315 
2316     @TestCase(op = Operation.GREATER)
2317     public static boolean testGreater122(int a, int b) {
2318         return compare41(a, b) > 0;
2319     }
2320 
2321     @TestCase(op = Operation.GREATER)
2322     public static boolean testGreater123(int a, int b) {
2323         return compare41(a, b) >= 1;
2324     }
2325 
2326     @TestCase(op = Operation.GREATER)
2327     public static boolean testGreater124(int a, int b) {
2328         return compare42(a, b) == 1;
2329     }
2330 
2331     @TestCase(op = Operation.GREATER)
2332     public static boolean testGreater125(int a, int b) {
2333         return compare42(a, b) > 0;
2334     }
2335 
2336     @TestCase(op = Operation.GREATER)
2337     public static boolean testGreater126(int a, int b) {
2338         return compare42(a, b) >= 1;
2339     }
2340 
2341     @TestCase(op = Operation.GREATER)
2342     public static boolean testGreater127(int a, int b) {
2343         return compare43(a, b) == 1;
2344     }
2345 
2346     @TestCase(op = Operation.GREATER)
2347     public static boolean testGreater128(int a, int b) {
2348         return compare43(a, b) > 0;
2349     }
2350 
2351     @TestCase(op = Operation.GREATER)
2352     public static boolean testGreater129(int a, int b) {
2353         return compare43(a, b) >= 1;
2354     }
2355 
2356     @TestCase(op = Operation.GREATER)
2357     public static boolean testGreater130(int a, int b) {
2358         return compare44(a, b) == 1;
2359     }
2360 
2361     @TestCase(op = Operation.GREATER)
2362     public static boolean testGreater131(int a, int b) {
2363         return compare44(a, b) > 0;
2364     }
2365 
2366     @TestCase(op = Operation.GREATER)
2367     public static boolean testGreater132(int a, int b) {
2368         return compare44(a, b) >= 1;
2369     }
2370 
2371     @TestCase(op = Operation.GREATER)
2372     public static boolean testGreater133(int a, int b) {
2373         return compare45(a, b) == 1;
2374     }
2375 
2376     @TestCase(op = Operation.GREATER)
2377     public static boolean testGreater134(int a, int b) {
2378         return compare45(a, b) > 0;
2379     }
2380 
2381     @TestCase(op = Operation.GREATER)
2382     public static boolean testGreater135(int a, int b) {
2383         return compare45(a, b) >= 1;
2384     }
2385 
2386     @TestCase(op = Operation.GREATER)
2387     public static boolean testGreater136(int a, int b) {
2388         return compare46(a, b) == 1;
2389     }
2390 
2391     @TestCase(op = Operation.GREATER)
2392     public static boolean testGreater137(int a, int b) {
2393         return compare46(a, b) > 0;
2394     }
2395 
2396     @TestCase(op = Operation.GREATER)
2397     public static boolean testGreater138(int a, int b) {
2398         return compare46(a, b) >= 1;
2399     }
2400 
2401     @TestCase(op = Operation.GREATER)
2402     public static boolean testGreater139(int a, int b) {
2403         return compare47(a, b) == 1;
2404     }
2405 
2406     @TestCase(op = Operation.GREATER)
2407     public static boolean testGreater140(int a, int b) {
2408         return compare47(a, b) > 0;
2409     }
2410 
2411     @TestCase(op = Operation.GREATER)
2412     public static boolean testGreater141(int a, int b) {
2413         return compare47(a, b) >= 1;
2414     }
2415 
2416     @TestCase(op = Operation.GREATER)
2417     public static boolean testGreater142(int a, int b) {
2418         return compare48(a, b) == 1;
2419     }
2420 
2421     @TestCase(op = Operation.GREATER)
2422     public static boolean testGreater143(int a, int b) {
2423         return compare48(a, b) > 0;
2424     }
2425 
2426     @TestCase(op = Operation.GREATER)
2427     public static boolean testGreater144(int a, int b) {
2428         return compare48(a, b) >= 1;
2429     }
2430 
2431     @TestCase(op = Operation.ALWAYS_FALSE)
2432     public static boolean testAlwaysFalse1(int a, int b) {
2433         return compareAlwaysFalse1(a, b) == 2;
2434     }
2435 
2436     @TestCase(op = Operation.ALWAYS_FALSE)
2437     public static boolean testAlwaysFalse2(int a, int b) {
2438         return compareAlwaysFalse1(a, b) > 1;
2439     }
2440 
2441     @TestCase(op = Operation.ALWAYS_FALSE)
2442     public static boolean testAlwaysFalse3(int a, int b) {
2443         return compareAlwaysFalse1(a, b) >= 2;
2444     }
2445 
2446     @TestCase(op = Operation.ALWAYS_FALSE)
2447     public static boolean testAlwaysFalse4(int a, int b) {
2448         return compareAlwaysFalse2(a, b) == 2;
2449     }
2450 
2451     @TestCase(op = Operation.ALWAYS_FALSE)
2452     public static boolean testAlwaysFalse5(int a, int b) {
2453         return compareAlwaysFalse2(a, b) > 1;
2454     }
2455 
2456     @TestCase(op = Operation.ALWAYS_FALSE)
2457     public static boolean testAlwaysFalse6(int a, int b) {
2458         return compareAlwaysFalse2(a, b) >= 2;
2459     }
2460 
2461     @TestCase(op = Operation.ALWAYS_FALSE)
2462     public static boolean testAlwaysFalse7(int a, int b) {
2463         return compareAlwaysFalse3(a, b) == 2;
2464     }
2465 
2466     @TestCase(op = Operation.ALWAYS_FALSE)
2467     public static boolean testAlwaysFalse8(int a, int b) {
2468         return compareAlwaysFalse3(a, b) > 1;
2469     }
2470 
2471     @TestCase(op = Operation.ALWAYS_FALSE)
2472     public static boolean testAlwaysFalse9(int a, int b) {
2473         return compareAlwaysFalse3(a, b) >= 2;
2474     }
2475 
2476     @TestCase(op = Operation.ALWAYS_FALSE)
2477     public static boolean testAlwaysFalse10(int a, int b) {
2478         return compareAlwaysFalse4(a, b) == 2;
2479     }
2480 
2481     @TestCase(op = Operation.ALWAYS_FALSE)
2482     public static boolean testAlwaysFalse11(int a, int b) {
2483         return compareAlwaysFalse4(a, b) > 1;
2484     }
2485 
2486     @TestCase(op = Operation.ALWAYS_FALSE)
2487     public static boolean testAlwaysFalse12(int a, int b) {
2488         return compareAlwaysFalse4(a, b) >= 2;
2489     }
2490 
2491     enum Operation {
2492         SMALLER,
2493         SMALLER_EQUAL,
2494         EQUAL,
2495         GREATER_EQUAL,
2496         GREATER,
2497         ALWAYS_FALSE
2498     }
2499 
2500     @Retention(RetentionPolicy.RUNTIME)
2501     @Target(ElementType.METHOD)
2502     @interface TestCase {
2503         Operation op();
2504     }
2505 
2506     @Override
2507     protected InlineInvokePlugin.InlineInfo bytecodeParserShouldInlineInvoke(GraphBuilderContext b, ResolvedJavaMethod method, ValueNode[] args) {
2508         if (method.getDeclaringClass().getUnqualifiedName().equals(TrichotomyTest.class.getSimpleName()) && method.getName().startsWith("compare")) {
2509             return InlineInvokePlugin.InlineInfo.createStandardInlineInfo(method);
2510         }
2511         return super.bytecodeParserShouldInlineInvoke(b, method, args);
2512     }
2513 
2514     private static void runTest(TrichotomyTest self, FrameworkMethod method) {
2515         String name = method.getName();
2516 
2517         // test correctness
2518         TestCase test = method.getAnnotation(TestCase.class);
2519         Operation op = test.op();
2520         Result result = self.test(name, 0, 0);
2521         Assert.assertEquals(result.returnValue, (op == Operation.EQUAL || op == Operation.SMALLER_EQUAL || op == Operation.GREATER_EQUAL) ? true : false);
2522         result = self.test(name, 0, 1);
2523         Assert.assertEquals(result.returnValue, (op == Operation.SMALLER || op == Operation.SMALLER_EQUAL) ? true : false);
2524         result = self.test(name, 1, 0);
2525         Assert.assertEquals(result.returnValue, (op == Operation.GREATER || op == Operation.GREATER_EQUAL) ? true : false);
2526 
2527         // test folding
2528         StructuredGraph graph = self.parseForCompile(self.getResolvedJavaMethod(name));
2529         HighTierContext context = self.getDefaultHighTierContext();
2530         CanonicalizerPhase canonicalizer = new CanonicalizerPhase();
2531         canonicalizer.apply(graph, context);
2532         Assert.assertTrue("Too many ConditionalNodes after canonicalization", graph.getNodes().filter(ConditionalNode.class).count() <= 1);
2533         Assert.assertTrue("Unexpected IfNodes after canonicalization", graph.getNodes().filter(IfNode.class).isEmpty());
2534     }
2535 
2536     public static class Runner extends BlockJUnit4ClassRunner {
2537         public Runner(Class<?> klass) throws InitializationError {
2538             super(klass);
2539         }
2540 
2541         @Override
2542         protected List<FrameworkMethod> computeTestMethods() {
2543             return getTestClass().getAnnotatedMethods(TestCase.class);
2544         }
2545 
2546         @Override
2547         protected void runChild(FrameworkMethod method, RunNotifier notifier) {
2548             super.runChild(method, notifier);
2549         }
2550 
2551         @Override
2552         protected Statement methodInvoker(FrameworkMethod method, Object test) {
2553             return new Statement() {
2554                 @Override
2555                 public void evaluate() throws Throwable {
2556                     runTest((TrichotomyTest) test, method);
2557                 }
2558             };
2559         }
2560     }
2561 }