   0  strlen %r1 -> %i0
   3  -live- %i0, %r0, %r1
   6  goto_if_not_int_is_true %i0, L1
  10  strgetitem %r1, $0 -> %i0
  14  -live- %i0, %r0, %r1
  17  goto_if_not_int_eq %i0, $'/', L2
  22  ref_return %r1
  24  ---
  24  L2:
  24  L3:
  24  residual_call_r_i $<* fn ll_streq__rpy_stringPtr_rpy_stringPtr>, R[%r0, $<* struct rpy_string>], <CallDescr(rr) EF=0 OS_STR_EQUAL> -> %i0
  32  -live- %i0, %r0, %r1
  35  goto_if_not %i0, L4
  39  L5:
  39  residual_call_r_r $<* fn ll_strconcat__rpy_stringPtr_rpy_stringPtr>, R[%r0, %r1], <CallDescr(rr) EF=3 OS_STR_CONCAT> -> %r1
  47  -live- %r1
  50  ref_return %r1
  52  ---
  52  L4:
  52  strlen %r0 -> %i0
  55  -live- %i0, %r0, %r1
  58  goto_if_not_int_is_true %i0, L6
  62  strlen %r0 -> %i0
  65  int_sub %i0, $1 -> %i0
  69  strgetitem %r0, %i0 -> %i0
  73  -live- %i0, %r0, %r1
  76  goto_if_not_int_eq %i0, $'/', L7
  81  goto L5
  84  ---
  84  L7:
  84  L8:
  84  residual_call_r_r $<* fn ll_strconcat__rpy_stringPtr_rpy_stringPtr>, R[$<* struct rpy_string>, %r1], <CallDescr(rr) EF=3 OS_STR_CONCAT> -> %r1
  92  -live- %r0, %r1
  95  residual_call_r_r $<* fn ll_strconcat__rpy_stringPtr_rpy_stringPtr>, R[%r0, %r1], <CallDescr(rr) EF=3 OS_STR_CONCAT> -> %r1
 103  -live- %r1
 106  ref_return %r1
 108  ---
 108  L6:
 108  goto L8
 111  ---
 111  L1:
 111  goto L3
