   0  strlen %r0 -> %i0
   3  -live- %i0, %r0
   3  goto_if_not_int_gt %i0, $2147479552, L1
   8  raise $<* struct object>
  10  ---
  10  L1:
  10  residual_call_ir_i $<* fn _ll_1_raw_malloc_varsize__Signed>, I[$1], R[], <CallDescr(i) EF=5> -> %i2
  18  -live- %i2, %r0
  18  inline_call_ir_i <JitCode 'str2charp'>, I[$True], R[%r0] -> %i1
  26  -live- %i1, %i2, %r0
  26  catch_exception L2
  29  inline_call_irf_f <JitCode '_PyPy_dg_strtod__arrayPtr_arrayPtr_star_2'>, I[%i1, %i2], R[], F[] -> %f0
  38  -live- %f0, %i1, %i2, %r0
  38  catch_exception L3
  41  getarrayitem_raw_i %i2, $0, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x10087dc0dd0> -> %i0
  47  int_sub %i0, %i1 -> %i0
  51  -live- %f0, %i0, %i1, %i2, %r0
  51  goto_if_not_int_is_zero %i0, L4
  55  L5:
  55  new_array_clear $2, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x1009b08cc50> -> %r1
  60  setarrayitem_gc_r %r1, $0, $<* struct rpy_string>, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x1009b08cc50>
  66  residual_call_ir_r $<* fn ll_int2dec__Signed>, I[%i0], R[], <CallDescr(i) EF=3> -> %r0
  74  -live- %i1, %i2, %r0, %r1
  74  setarrayitem_gc_r %r1, $1, %r0, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x1009b08cc50>
  80  ref_isvirtual %r1 -> %i0
  83  -live- %i0, %i1, %i2, %r1
  83  goto_if_not %i0, L6
  87  L7:
  87  inline_call_ir_r <JitCode 'll_join_strs__v1178___simple_call__function_'>, I[$2], R[%r1] -> %r0
  95  -live- %i1, %i2
  95  L8:
  95  residual_call_ir_v $<* fn _ll_1_raw_free__arrayPtr>, I[%i1], R[], <CallDescr(i) EF=2 OS_RAW_FREE>
 102  int_copy $<* struct object_vtable> -> %i0
 105  ref_copy $<* struct exceptions.Exception> -> %r0
 108  L9:
 108  residual_call_ir_v $<* fn _ll_1_raw_free__arrayPtr>, I[%i2], R[], <CallDescr(i) EF=2 OS_RAW_FREE>
 115  -live- %r0
 115  raise %r0
 117  ---
 117  L6:
 117  int_isconstant $2 -> %i0
 120  -live- %i0, %i1, %i2, %r1
 120  goto_if_not %i0, L10
 124  goto L7
 127  ---
 127  L10:
 127  residual_call_ir_r $<* fn ll_join_strs_trampoline__v1181___simple_call__function_>, I[$2], R[%r1], <CallDescr(ir) EF=5> -> %r0
 136  -live- %i1, %i2
 136  goto L8
 139  ---
 139  L4:
 139  strlen %r0 -> %i3
 142  -live- %f0, %i0, %i1, %i2, %i3
 142  goto_if_not_int_lt %i0, %i3, L11
 147  goto L5
 150  ---
 150  L11:
 150  residual_call_ir_v $<* fn _ll_1_raw_free__arrayPtr>, I[%i1], R[], <CallDescr(i) EF=2 OS_RAW_FREE>
 157  residual_call_ir_v $<* fn _ll_1_raw_free__arrayPtr>, I[%i2], R[], <CallDescr(i) EF=2 OS_RAW_FREE>
 164  float_return %f0
 166  ---
 166  L3:
 166  last_exception -> %i0
 168  last_exc_value -> %r0
 170  residual_call_ir_v $<* fn _ll_1_raw_free__arrayPtr>, I[%i1], R[], <CallDescr(i) EF=2 OS_RAW_FREE>
 177  goto L9
 180  ---
 180  L2:
 180  last_exception -> %i0
 182  last_exc_value -> %r0
 184  residual_call_ir_v $<* fn _ll_1_raw_free__arrayPtr>, I[%i2], R[], <CallDescr(i) EF=2 OS_RAW_FREE>
 191  -live- %r0
 191  raise %r0
