   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_final_null>, R[%r0], <CallDescr(r) EF=5> -> %r1
  25  -live- %i3, %r0, %r1
  25  catch_exception L2
  28  getfield_gc_i_pure %r1, FieldDescr<tuple2.item0> -> %i0
  33  getfield_gc_i_pure %r1, FieldDescr<tuple2.item1> -> %i1
  38  inline_call_irf_f <JitCode '_PyPy_dg_strtod__arrayPtr_arrayPtr_star_2'>, I[%i0, %i3], R[], F[] -> %f0
  47  -live- %f0, %i0, %i1, %i3, %r0
  47  catch_exception L3
  50  getarrayitem_raw_i %i3, $0, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x7fff4f8acc30> -> %i2
  56  int_sub %i2, %i0 -> %i2
  60  residual_call_ir_v $<* fn free_nonmovingbuffer>, I[%i0, %i1], R[%r0], <CallDescr(rii) EF=2>
  69  residual_call_ir_v $<* fn _ll_1_raw_free__arrayPtr>, I[%i3], R[], <CallDescr(i) EF=2 OS_RAW_FREE>
  76  -live- %f0, %i2, %r0
  76  goto_if_not_int_is_zero %i2, L4
  80  L5:
  80  new_array_clear $2, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x7fff553c0910> -> %r0
  85  setarrayitem_gc_r %r0, $0, $<* struct rpy_string>, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x7fff553c0910>
  91  residual_call_ir_r $<* fn ll_int2dec__Signed>, I[%i2], R[], <CallDescr(i) EF=3> -> %r1
  99  -live- %r0, %r1
  99  setarrayitem_gc_r %r0, $1, %r1, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x7fff553c0910>
 105  ref_isvirtual %r0 -> %i0
 108  -live- %i0, %r0
 108  goto_if_not %i0, L6
 112  L7:
 112  inline_call_ir_r <JitCode 'll_join_strs__v1299___simple_call__function_'>, I[$2], R[%r0] -> %r1
 120  -live-
 120  L8:
 120  raise $<* struct object>
 122  ---
 122  L6:
 122  int_isconstant $2 -> %i0
 125  -live- %i0, %r0
 125  goto_if_not %i0, L9
 129  goto L7
 132  ---
 132  L9:
 132  residual_call_ir_r $<* fn ll_join_strs_trampoline__v1304___simple_call__function_>, I[$2], R[%r0], <CallDescr(ir) EF=5> -> %r1
 141  -live-
 141  goto L8
 144  ---
 144  L4:
 144  strlen %r0 -> %i0
 147  -live- %f0, %i0, %i2
 147  goto_if_not_int_lt %i2, %i0, L10
 152  goto L5
 155  ---
 155  L10:
 155  float_return %f0
 157  ---
 157  L3:
 157  last_exception -> %i2
 159  last_exc_value -> %r1
 161  residual_call_ir_v $<* fn free_nonmovingbuffer>, I[%i0, %i1], R[%r0], <CallDescr(rii) EF=2>
 170  residual_call_ir_v $<* fn _ll_1_raw_free__arrayPtr>, I[%i3], R[], <CallDescr(i) EF=2 OS_RAW_FREE>
 177  -live- %r1
 177  raise %r1
 179  ---
 179  L2:
 179  last_exception -> %i2
 181  last_exc_value -> %r1
 183  residual_call_ir_v $<* fn _ll_1_raw_free__arrayPtr>, I[%i3], R[], <CallDescr(i) EF=2 OS_RAW_FREE>
 190  -live- %r1
 190  raise %r1
