   0  inline_call_ir_r <JitCode 'W_FFIObject.ffi_type'>, I[$3], R[%r0, %r1] -> %r0
   9  -live- %r0, %r2
  12  residual_call_ir_r $<* fn ll_strip_multiple__rpy_stringPtr_rpy_stringPtr_Bool_Bool>, I[$True, $True], R[%r2, $<* struct rpy_string>], <CallDescr(rrii) EF=4> -> %r1
  23  -live- %r0, %r1
  26  strlen %r1 -> %i0
  29  -live- %i0, %r0, %r1
  32  goto_if_not_int_is_zero %i0, L1
  36  getfield_gc_r_pure %r0, FieldDescr<pypy.module._cffi_backend.ctypeobj.W_CType.inst_name> -> %r1
  41  L2:
  41  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x00005609337a6288> -> %r0
  45  setfield_gc_r %r0, %r1, FieldDescr<pypy.objspace.std.bytesobject.W_BytesObject.inst__value>
  50  ref_return %r0
  52  ---
  52  L1:
  52  strgetitem %r1, $0 -> %i0
  56  -live- %i0, %r0, %r1
  59  goto_if_not_int_eq %i0, $'*', L3
  64  -live- %r0, %r1
  67  goto_if_not_ptr_nonzero %r0, L4
  71  ref_copy %r0 -> %r2
  74  -live- %r0, %r1, %r2
  77  guard_class %r2 -> %i0
  80  -live- %i0, %r0, %r1
  83  goto_if_not_int_eq %i0, $<* struct object_vtable>, L5
  88  int_copy $False -> %i1
  91  int_copy $True -> %i2
  94  L6:
  94  getfield_gc_r_pure %r0, FieldDescr<pypy.module._cffi_backend.ctypeobj.W_CType.inst_name> -> %r2
  99  getfield_gc_i_pure %r0, FieldDescr<pypy.module._cffi_backend.ctypeobj.W_CType.inst_name_position> -> %i3
 104  strlen %r2 -> %i0
 107  -live- %i0, %i1, %i2, %i3, %r0, %r1, %r2
 110  goto_if_not_int_gt %i3, %i0, L7
 115  strlen %r2 -> %i3
 118  L8:
 118  residual_call_ir_r $<* fn _ll_stringslice__rpy_stringPtr_Signed_Signed>, I[$0, %i3], R[%r2], <CallDescr(rii) EF=3 OS_STR_SLICE> -> %r2
 128  -live- %i1, %i2, %r0, %r1, %r2
 131  goto_if_not %i2, L9
 135  residual_call_r_r $<* fn ll_strconcat__rpy_stringPtr_rpy_stringPtr>, R[%r2, $<* struct rpy_string>], <CallDescr(rr) EF=3 OS_STR_CONCAT> -> %r2
 143  -live- %i1, %r0, %r1, %r2
 146  int_copy $True -> %i0
 149  L10:
 149  -live- %i0, %i1, %r0, %r1, %r2
 152  goto_if_not %i1, L11
 156  residual_call_r_r $<* fn ll_strconcat__rpy_stringPtr_rpy_stringPtr>, R[%r2, $<* struct rpy_string>], <CallDescr(rr) EF=3 OS_STR_CONCAT> -> %r2
 164  L12:
 164  -live- %i0, %r0, %r1, %r2
 167  residual_call_r_r $<* fn ll_strconcat__rpy_stringPtr_rpy_stringPtr>, R[%r2, %r1], <CallDescr(rr) EF=3 OS_STR_CONCAT> -> %r2
 175  -live- %i0, %r0, %r2
 178  goto_if_not %i0, L13
 182  residual_call_r_r $<* fn ll_strconcat__rpy_stringPtr_rpy_stringPtr>, R[%r2, $<* struct rpy_string>], <CallDescr(rr) EF=3 OS_STR_CONCAT> -> %r2
 190  L14:
 190  -live- %r0, %r2
 193  getfield_gc_r_pure %r0, FieldDescr<pypy.module._cffi_backend.ctypeobj.W_CType.inst_name> -> %r1
 198  getfield_gc_i_pure %r0, FieldDescr<pypy.module._cffi_backend.ctypeobj.W_CType.inst_name_position> -> %i0
 203  strlen %r1 -> %i1
 206  residual_call_ir_r $<* fn _ll_stringslice__rpy_stringPtr_Signed_Signed>, I[%i0, %i1], R[%r1], <CallDescr(rii) EF=3 OS_STR_SLICE> -> %r0
 216  -live- %r0, %r2
 219  residual_call_r_r $<* fn ll_strconcat__rpy_stringPtr_rpy_stringPtr>, R[%r2, %r0], <CallDescr(rr) EF=3 OS_STR_CONCAT> -> %r1
 227  -live- %r1
 230  goto L2
 233  ---
 233  L13:
 233  goto L14
 236  ---
 236  L11:
 236  goto L12
 239  ---
 239  L9:
 239  int_copy $False -> %i0
 242  goto L10
 245  ---
 245  L7:
 245  goto L8
 248  ---
 248  L5:
 248  L15:
 248  strgetitem %r1, $0 -> %i0
 252  -live- %i0, %r0, %r1
 255  goto_if_not_int_ne %i0, $'[', L16
 260  strgetitem %r1, $0 -> %i0
 264  int_ne %i0, $'(' -> %i1
 268  int_copy $False -> %i2
 271  goto L6
 274  ---
 274  L16:
 274  int_copy $False -> %i1
 277  int_copy $False -> %i2
 280  goto L6
 283  ---
 283  L4:
 283  goto L15
 286  ---
 286  L3:
 286  goto L15
