public static double min(final double a,final double b){
  if (a > b) {
    return b;
  }
  if (a < b) {
    return a;
  }
  if (a != b) {
    return Double.NaN;
  }
  long bits=Double.doubleToRawLongBits(a);
  if (bits == 0x8000000000000000L) {
    return a;
  }
  return b;
}

public static double min ( final double a , final double b ) { if ( a > b ) { return b ; } if ( a < b ) { return a ; } if ( a != b ) { return Double . NaN ; } long bits = Double . doubleToRawLongBits ( a ) ; if ( bits == 0x8000000000000000L ) { return a ; } return b ; }
compute the minimum of two values
