static final double y_log_y(double y, double mu) {
    if(y == 0)return 0;
    if(mu < Double.MIN_NORMAL) mu = Double.MIN_NORMAL;
    return y * Math.log(y / mu);
  }
static final double y_log_y ( double y , double mu ) { if ( y == 0 ) return 0 ; if ( mu < Double . MIN_NORMAL ) mu = Double . MIN_NORMAL ; return y * Math . log ( y / mu ) ; }
helper function