class Foo {

  private void foo() {
    double d = Double.MIN_VALUE;
    while (true) {
      if (d == Double.MIN_VALUE) {
        d = 0;
      }
    }
  }

  void equalZeroes() {
    double posz = +0.0, negz = -0.0;
    System.out.println(<warning descr="Condition 'posz == negz' is always 'true'">posz == negz</warning>);
    if (<warning descr="Condition '+0.0 == -0.0' is always 'true'">+0.0 == -0.0</warning>) {
      System.out.println("true!");
    }
  }

  void equalZeroesBoxed() {
    Double posz = +0.0, negz = -0.0;
    System.out.println(<warning descr="Result of 'posz.equals(negz)' is always 'false'">posz.equals(negz)</warning>);
  }
}
@@ -643,9 +643,790 @@
 %3E);%0A  %7D%0A
+  %0A  void gtLt() %7B%0A    double x = 5.0;%0A    double y = 6.0;%0A    if (%3Cwarning descr=%22Condition 'x %3E y' is always 'false'%22%3Ex %3E y%3C/warning%3E) %7B%7D%0A    if (%3Cwarning descr=%22Condition 'x %3E= y' is always 'false'%22%3Ex %3E= y%3C/warning%3E) %7B%7D%0A    if (%3Cwarning descr=%22Condition 'x %3E 4' is always 'true'%22%3Ex %3E 4%3C/warning%3E) %7B%7D%0A    if (%3Cwarning descr=%22Condition 'y %3C 3' is always 'false'%22%3Ey %3C 3%3C/warning%3E) %7B%7D%0A  %7D%0A  %0A  void gtLtBoxed() %7B%0A    Double x = 5.0;%0A    Double y = 6.0;%0A    if (%3Cwarning descr=%22Condition 'x %3E y' is always 'false'%22%3Ex %3E y%3C/warning%3E) %7B%7D%0A    if (%3Cwarning descr=%22Condition 'x %3E= y' is always 'false'%22%3Ex %3E= y%3C/warning%3E) %7B%7D%0A    if (%3Cwarning descr=%22Condition 'x %3E 4' is always 'true'%22%3Ex %3E 4%3C/warning%3E) %7B%7D%0A    if (%3Cwarning descr=%22Condition 'y %3C 3' is always 'false'%22%3Ey %3C 3%3C/warning%3E) %7B%7D%0A  %7D%0A
 %7D

add gt/lt comparisons