   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> -> %i3
  18  -live- %i3, %r0
  18  residual_call_r_r $<* fn get_nonmovingbuffer_ll_final_null>, R[%r0], <CallDescr(r) EF=5> -> %r2
  25  -live- %i3, %r0, %r2
  25  catch_exception L2
  28  getfield_gc_i_pure %r2, FieldDescr<tuple3.item0> -> %i0
  33  getfield_gc_r_pure %r2, FieldDescr<tuple3.item1> -> %r1
  38  getfield_gc_i_pure %r2, FieldDescr<tuple3.item2> -> %i1
  43  inline_call_irf_f <JitCode '_PyPy_dg_strtod__arrayPtr_arrayPtr_star_2'>, I[%i0, %i3], R[], F[] -> %f0
  52  -live- %f0, %i0, %i1, %i3, %r0, %r1
  52  catch_exception L3
  55  getarrayitem_raw_i %i3, $0, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x00000001905b7168> -> %i2
  61  int_sub %i2, %i0 -> %i2
  65  residual_call_ir_v $<* fn free_nonmovingbuffer_ll>, I[%i0, %i1], R[%r1], <CallDescr(iri) EF=2>
  74  residual_call_ir_v $<* fn _ll_1_raw_free__arrayPtr>, I[%i3], R[], <CallDescr(i) EF=2 OS_RAW_FREE>
  81  -live- %f0, %i2, %r0
  81  goto_if_not_int_is_zero %i2, L4
  85  L5:
  85  new_array_clear $2, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x000000018e892138> -> %r1
  90  setarrayitem_gc_r %r1, $0, $<* struct rpy_string>, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x000000018e892138>
  96  residual_call_ir_r $<* fn ll_int2dec__Signed>, I[%i2], R[], <CallDescr(i) EF=3> -> %r2
 104  -live- %r1, %r2
 104  setarrayitem_gc_r %r1, $1, %r2, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x000000018e892138>
 110  ref_isvirtual %r1 -> %i0
 113  -live- %i0, %r1
 113  goto_if_not %i0, L6
 117  L7:
 117  inline_call_ir_r <JitCode 'll_join_strs__v1222___simple_call__function_'>, I[$2], R[%r1] -> %r2
 125  -live-
 125  L8:
 125  raise $<* struct object>
 127  ---
 127  L6:
 127  int_isconstant $2 -> %i0
 130  -live- %i0, %r1
 130  goto_if_not %i0, L9
 134  goto L7
 137  ---
 137  L9:
 137  residual_call_ir_r $<* fn ll_join_strs_trampoline__v1224___simple_call__function_>, I[$2], R[%r1], <CallDescr(ir) EF=5> -> %r2
 146  -live-
 146  goto L8
 149  ---
 149  L4:
 149  strlen %r0 -> %i0
 152  -live- %f0, %i0, %i2
 152  goto_if_not_int_lt %i2, %i0, L10
 157  goto L5
 160  ---
 160  L10:
 160  float_return %f0
 162  ---
 162  L3:
 162  last_exception -> %i2
 164  last_exc_value -> %r2
 166  residual_call_ir_v $<* fn free_nonmovingbuffer_ll>, I[%i0, %i1], R[%r1], <CallDescr(iri) EF=2>
 175  residual_call_ir_v $<* fn _ll_1_raw_free__arrayPtr>, I[%i3], R[], <CallDescr(i) EF=2 OS_RAW_FREE>
 182  -live- %r2
 182  raise %r2
 184  ---
 184  L2:
 184  last_exception -> %i2
 186  last_exc_value -> %r2
 188  residual_call_ir_v $<* fn _ll_1_raw_free__arrayPtr>, I[%i3], R[], <CallDescr(i) EF=2 OS_RAW_FREE>
 195  -live- %r2
 195  raise %r2
