   0  strlen %r0 -> %i1
   3  residual_call_r_r $<* fn get_nonmovingbuffer>, R[%r0], <CallDescr(r) EF=5> -> %r1
  10  -live- %i0, %i1, %r0, %r1
  10  getfield_gc_i_pure %r1, FieldDescr<tuple3.item0> -> %i2
  15  getfield_gc_i_pure %r1, FieldDescr<tuple3.item1> -> %i4
  20  getfield_gc_i_pure %r1, FieldDescr<tuple3.item2> -> %i3
  25  inline_call_ir_i <JitCode 'write__Signed_arrayPtr_Signed_star_3'>, I[%i0, %i2, %i1], R[] -> %i0
  34  -live- %i0, %i2, %i3, %i4, %r0
  34  catch_exception L1
  37  inline_call_ir_i <JitCode 'handle_posix_error__write'>, I[%i0], R[$<* struct rpy_string>] -> %i0
  45  -live- %i0, %i2, %i3, %i4, %r0
  45  catch_exception L2
  48  residual_call_ir_v $<* fn free_nonmovingbuffer>, I[%i2, %i4, %i3], R[%r0], <CallDescr(riii) EF=2>
  58  int_return %i0
  60  ---
  60  L2:
  60  last_exception -> %i0
  62  last_exc_value -> %r1
  64  L3:
  64  residual_call_ir_v $<* fn free_nonmovingbuffer>, I[%i2, %i4, %i3], R[%r0], <CallDescr(riii) EF=2>
  74  -live- %r1
  74  raise %r1
  76  ---
  76  L1:
  76  last_exception -> %i0
  78  last_exc_value -> %r1
  80  goto L3
