   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  int_copy %i2 -> %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 $-1
  39  ---
  39  L5:
  39  strlen %r1 -> %i2
  42  -live- %i0, %i1, %i2, %r0, %r1
  45  goto_if_not_int_le %i2, $1, L6
  50  -live- %i0, %i1, %i2, %r0, %r1
  53  goto_if_not_int_is_zero %i2, L7
  57  int_return %i0
  59  ---
  59  L7:
  59  strgetitem %r1, $0 -> %i2
  63  residual_call_ir_i $<* fn ll_find_char__rpy_stringPtr_Char_Signed_Signed>, I[%i2, %i0, %i1], R[%r0], <CallDescr(riii) EF=0> -> %i0
  74  int_lt %i0, %i1 -> %i2
  78  record_exact_value_i %i2, $True
  81  int_return %i0
  83  ---
  83  L6:
  83  -live- %i0, %i1, %r0, %r1
  86  goto_if_not_ptr_nonzero %r0, L8
  90  -live- %i0, %i1, %r0, %r1
  93  goto_if_not_ptr_nonzero %r1, L9
  97  residual_call_ir_i $<* fn _search_elidable__str_str>, I[%i0, %i1, $1], R[%r0, %r1], <CallDescr(rriii) EF=4> -> %i0
 109  L10:
 109  -live- %i0, %i1
 112  int_lt %i0, %i1 -> %i2
 116  record_exact_value_i %i2, $True
 119  int_return %i0
 121  ---
 121  L9:
 121  L11:
 121  residual_call_ir_i $<* fn _search_normal__str_str>, I[%i0, %i1, $1], R[%r0, %r1], <CallDescr(rriii) EF=5> -> %i0
 133  -live- %i0, %i1
 136  goto L10
 139  ---
 139  L8:
 139  goto L11
 142  ---
 142  L3:
 142  goto L4
 145  ---
 145  L1:
 145  goto L2
