>>257
void Ensyu2_3c(void)
{
  int z,zd;
  for(i=0;i<256;i++){
    for(j=0;j<256;j++){
      z=tmp_Img[i][j];
      if (z <= 128) { // (z<=128)の場合の処理
        zd = (int)(0.5 + z*z/128.);
      } else { // (128<z<=255))の場合の処理
        zd = (int)(0.5 + 128 * (1.+sqrt((2.*z-256)/256.)));
      }
      tmp_Img[i][j]=zd;
    }
  }
}

しかし答えになってる式,グラフにするとあんまりそれっぽく見えないな