static int indexOfIC_underscore(S a, S b) {
  int la = l(a), lb = l(b);
  if (la < lb) ret -1;
  int n = la-lb;
  
  elsewhere: for (int i = 0; i <= n; i++) {
    for (int j = 0; j < lb; j++) {
      char c2 = b.charAt(j);
      if (c2 == '_' || eqic(c2, a.charAt(i+j))) { /* matching char */ }
      else continue elsewhere;
    }
    ret i;
  }
  ret -1;
}