   0  -live- %r0, %r1
   0  ref_guard_value %r0
   2  getfield_gc_i %r1, FieldDescr<rpython.rlib.libffi.ArgChain.inst_numargs> -> %i0
   7  getfield_gc_r_pure %r0, FieldDescr<rpython.rlib.clibffi.AbstractFuncPtr.inst_argtypes> -> %r2
  12  arraylen_gc %r2, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x100ac082790> -> %i1
  17  -live- %i0, %i1, %r0, %r1
  17  goto_if_not_int_ne %i0, %i1, L1
  22  getfield_gc_r_pure %r0, FieldDescr<rpython.rlib.clibffi.AbstractFuncPtr.inst_argtypes> -> %r2
  27  arraylen_gc %r2, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x100ac082790> -> %i0
  32  getfield_gc_i %r1, FieldDescr<rpython.rlib.libffi.ArgChain.inst_numargs> -> %i1
  37  new_array_clear $4, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x1009b08cc50> -> %r2
  42  setarrayitem_gc_r %r2, $0, $<* struct rpy_string>, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x1009b08cc50>
  48  residual_call_ir_r $<* fn ll_int2dec__Signed>, I[%i0], R[], <CallDescr(i) EF=3> -> %r1
  56  -live- %i1, %r1, %r2
  56  setarrayitem_gc_r %r2, $1, %r1, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x1009b08cc50>
  62  setarrayitem_gc_r %r2, $2, $<* struct rpy_string>, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x1009b08cc50>
  68  residual_call_ir_r $<* fn ll_int2dec__Signed>, I[%i1], R[], <CallDescr(i) EF=3> -> %r1
  76  -live- %r1, %r2
  76  setarrayitem_gc_r %r2, $3, %r1, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x1009b08cc50>
  82  ref_isvirtual %r2 -> %i0
  85  -live- %i0, %r2
  85  goto_if_not %i0, L2
  89  inline_call_ir_r <JitCode 'll_join_strs__v1178___simple_call__function_'>, I[$4], R[%r2] -> %r1
  97  -live-
  97  raise $<* struct object>
  99  ---
  99  L2:
  99  int_isconstant $4 -> %i0
 102  -live- %i0, %r2
 102  goto_if_not %i0, L3
 106  L4:
 106  residual_call_ir_r $<* fn ll_join_strs_trampoline__v1181___simple_call__function_>, I[$4], R[%r2], <CallDescr(ir) EF=5> -> %r1
 115  -live-
 115  raise $<* struct object>
 117  ---
 117  L3:
 117  goto L4
 120  ---
 120  L1:
 120  residual_call_r_i $<* fn Func._prepare>, R[%r0], <CallDescr(r) EF=5> -> %i1
 127  -live- %i1, %r0, %r1
 127  getfield_gc_r %r1, FieldDescr<rpython.rlib.libffi.ArgChain.inst_first> -> %r1
 132  int_copy $0 -> %i2
 135  L5:
 135  -live- %i1, %i2, %r0, %r1
 135  goto_if_not_ptr_nonzero %r1, L6
 139  -live- %i1, %i2, %r0, %r1
 139  guard_class %r1 -> %i0
 142  getfield_raw_i %i0, FieldDescr<rpython.rlib.libffi.AbstractArg_vtable.cls_push> -> %i0
 147  -live- %i0, %i1, %i2, %r0, %r1
 147  switch %i0, <SwitchDictDescr 0:L7, 1:L8, 2:L9, 3:L10>
 151  unreachable
 152  ---
 152  L7:
 152  -live- %i1, %i2, %r0, %r1
 152  residual_call_ir_v $<* fn SingleFloatArg.push>, I[%i1, %i2], R[%r1, %r0], <CallDescr(rrii) EF=5>
 162  -live- %i1, %i2, %r0, %r1
 162  L11:
 162  int_add %i2, $1 -> %i2
 166  getfield_gc_r %r1, FieldDescr<rpython.rlib.libffi.AbstractArg.inst_next> -> %r1
 171  goto L5
 174  ---
 174  L8:
 174  -live- %i1, %i2, %r0, %r1
 174  getfield_gc_f %r1, FieldDescr<rpython.rlib.libffi.FloatArg.inst_floatval> -> %f0
 179  residual_call_irf_v $<* fn Func._push_float>, I[%i1, %i2], R[%r0], F[%f0], <CallDescr(rfii) EF=5>
 190  -live- %i1, %i2, %r0, %r1
 190  goto L11
 193  ---
 193  L9:
 193  -live- %i1, %i2, %r0, %r1
 193  getfield_gc_i %r1, FieldDescr<rpython.rlib.libffi.IntArg.inst_intval> -> %i0
 198  residual_call_ir_v $<* fn Func._push_int>, I[%i0, %i1, %i2], R[%r0], <CallDescr(riii) EF=5>
 208  -live- %i1, %i2, %r0, %r1
 208  goto L11
 211  ---
 211  L10:
 211  -live- %i1, %i2, %r0, %r1
 211  getfield_gc_i %r1, FieldDescr<rpython.rlib.libffi.RawArg.inst_ptrval> -> %i0
 216  residual_call_ir_v $<* fn Func._push_raw>, I[%i0, %i1, %i2], R[%r0], <CallDescr(riii) EF=2>
 226  goto L11
 229  ---
 229  L6:
 229  getfield_gc_i_pure %r0, FieldDescr<rpython.rlib.libffi.Func.inst_funcsym> -> %i0
 234  residual_call_irf_f $<* fn Func._do_call_float>, I[%i0, %i1], R[%r0], F[], <CallDescr(rii) EF=7> -> %f0
 245  -live- %f0
 245  float_return %f0
