   0  -live- %i0, %i1, %r0, %r1
   3  goto_if_not_int_lt %i0, $0, L1
   8  int_copy $0 -> %i0
  11  L2:
  11  strlen %r0 -> %i2
  14  -live- %i0, %i1, %i2, %r0, %r1
  17  goto_if_not_int_gt %i1, %i2, L3
  22  strlen %r0 -> %i1
  25  L4:
  25  int_sub %i1, %i0 -> %i2
  29  -live- %i0, %i1, %i2, %r0, %r1
  32  goto_if_not_int_lt %i2, $0, L5
  37  int_return $0
  39  ---
  39  L5:
  39  strlen %r1 -> %i2
  42  -live- %i0, %i1, %i2, %r0, %r1
  45  goto_if_not_int_eq %i2, $1, L6
  50  strgetitem %r1, $0 -> %i2
  54  residual_call_ir_i $<* fn ll_count_char__rpy_stringPtr_Char_Signed_Signed>, I[%i2, %i0, %i1], R[%r0], <CallDescr(riii) EF=0> -> %i2
  65  int_return %i2
  67  ---
  67  L6:
  67  -live- %i0, %i1, %r0, %r1
  70  goto_if_not_ptr_nonzero %r0, L7
  74  -live- %i0, %i1, %r0, %r1
  77  goto_if_not_ptr_nonzero %r1, L8
  81  residual_call_ir_i $<* fn _search_elidable__str_str>, I[%i0, %i1, $0], R[%r0, %r1], <CallDescr(rriii) EF=4> -> %i2
  93  -live- %i2
  96  int_return %i2
  98  ---
  98  L8:
  98  L9:
  98  residual_call_ir_i $<* fn _search_normal__str_str>, I[%i0, %i1, $0], R[%r0, %r1], <CallDescr(rriii) EF=5> -> %i2
 110  -live- %i2
 113  int_return %i2
 115  ---
 115  L7:
 115  goto L9
 118  ---
 118  L3:
 118  goto L4
 121  ---
 121  L1:
 121  goto L2
