   0  int_and %i1, $4 -> %i2
   4  -live- %i0, %i1, %i2
   4  goto_if_not_int_is_true %i2, L1
   8  -live- %i0
   8  goto_if_not_int_lt %i0, $256, L2
  13  int_signext %i0, $4 -> %i1
  17  residual_call_ir_i $<* fn toupper>, I[%i1], R[], <CallDescr(i) EF=2> -> %i0
  25  int_return %i0
  27  ---
  27  L2:
  27  int_return %i0
  29  ---
  29  L1:
  29  int_and %i1, $32 -> %i1
  33  -live- %i0, %i1
  33  goto_if_not_int_is_true %i1, L3
  37  -live- %i0
  37  goto_if_not_int_lt %i0, $128, L4
  42  int_between $97, %i0, $123 -> %i1
  47  int_mul %i1, $32 -> %i1
  51  int_sub %i0, %i1 -> %i0
  55  int_return %i0
  57  ---
  57  L4:
  57  inline_call_ir_r <JitCode 'toupper_full'>, I[%i0], R[] -> %r0
  64  -live- %r0
  64  getarrayitem_gc_i_pure %r0, $0, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x000002aaada36288> -> %i0
  70  int_return %i0
  72  ---
  72  L3:
  72  int_between $97, %i0, $123 -> %i1
  77  int_mul %i1, $32 -> %i1
  81  int_sub %i0, %i1 -> %i0
  85  int_return %i0
