   0  getfield_gc_f_pure %r1, FieldDescr<tuple2.item0> -> %f0
   5  getfield_gc_f_pure %r1, FieldDescr<tuple2.item1> -> %f1
  10  residual_call_ir_i $<* fn _ll_1_raw_malloc_varsize__Signed>, I[$2], R[], <CallDescr(i) EF=5> -> %i1
  18  -live- %f0, %f1, %i1, %r0
  18  inline_call_irf_r <JitCode 'll_math_modf__Float'>, I[], R[], F[%f0] -> %r1
  26  -live- %f1, %i1, %r0, %r1
  26  getfield_gc_f_pure %r1, FieldDescr<tuple2.item0> -> %f0
  31  getfield_gc_f_pure %r1, FieldDescr<tuple2.item1> -> %f2
  36  int_mul $0, $<ItemOffset <Struct timeval { c_tv_sec, c_tv_usec }> 1> -> %i0
  40  int_add %i1, %i0 -> %i0
  44  cast_float_to_int %f2 -> %i2
  47  setfield_raw_i %i0, %i2, FieldDescr<timeval.c_tv_sec>
  52  int_mul $0, $<ItemOffset <Struct timeval { c_tv_sec, c_tv_usec }> 1> -> %i0
  56  int_add %i1, %i0 -> %i0
  60  float_mul %f0, $1000000.0 -> %f0
  64  cast_float_to_int %f0 -> %i2
  67  setfield_raw_i %i0, %i2, FieldDescr<timeval.c_tv_usec>
  72  inline_call_irf_r <JitCode 'll_math_modf__Float'>, I[], R[], F[%f1] -> %r1
  80  -live- %i1, %r0, %r1
  80  getfield_gc_f_pure %r1, FieldDescr<tuple2.item0> -> %f0
  85  getfield_gc_f_pure %r1, FieldDescr<tuple2.item1> -> %f1
  90  int_mul $1, $<ItemOffset <Struct timeval { c_tv_sec, c_tv_usec }> 1> -> %i0
  94  int_add %i1, %i0 -> %i0
  98  cast_float_to_int %f1 -> %i2
 101  setfield_raw_i %i0, %i2, FieldDescr<timeval.c_tv_sec>
 106  int_mul $1, $<ItemOffset <Struct timeval { c_tv_sec, c_tv_usec }> 1> -> %i0
 110  int_add %i1, %i0 -> %i0
 114  float_mul %f0, $1000000.0 -> %f0
 118  cast_float_to_int %f0 -> %i2
 121  setfield_raw_i %i0, %i2, FieldDescr<timeval.c_tv_usec>
 126  strlen %r0 -> %i0
 129  int_add %i0, $1 -> %i0
 133  residual_call_ir_i $<* fn _ll_1_raw_malloc_varsize__Signed>, I[%i0], R[], <CallDescr(i) EF=5 OS_RAW_MALLOC_VARSIZE_CHAR> -> %i0
 141  -live- %i0, %i1, %r0
 141  strlen %r0 -> %i2
 144  residual_call_ir_v $<* fn copy_string_to_raw>, I[%i0, $0, %i2], R[%r0], <CallDescr(riii) EF=0 OS_STR_COPY_TO_RAW>
 154  setarrayitem_raw_i %i0, %i2, $'\x00', <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x000001008f481478>
 160  residual_call_ir_i $<* fn ccall_utimes__arrayPtr_arrayPtr>, I[%i0, %i1], R[], <CallDescr(ii) EF=7> -> %i2
 169  -live- %i0, %i1, %i2
 169  -live- %i0, %i1, %i2
 169  goto_if_not_int_is_true %i0, L1
 173  residual_call_ir_v $<* fn _ll_1_raw_free__arrayPtr>, I[%i0], R[], <CallDescr(i) EF=2 OS_RAW_FREE>
 180  L2:
 180  residual_call_ir_v $<* fn _ll_1_raw_free__arrayPtr>, I[%i1], R[], <CallDescr(i) EF=2 OS_RAW_FREE>
 187  -live- %i2
 187  goto_if_not_int_lt %i2, $0, L3
 192  residual_call_ir_i $<* fn _ll_1_threadlocalref_get__INTLlT_Signed>, I[$CDefinedIntSymbolic('RPY_TLOFS_rpy_errno')], R[], <CallDescr(i) EF=2 OS_THREADLOCALREF_GET> -> %i1
 200  new_array_clear $2, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x0000010081672170> -> %r0
 205  setarrayitem_gc_r %r0, $0, $<* struct rpy_string>, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x0000010081672170>
 211  setarrayitem_gc_r %r0, $1, $<* struct rpy_string>, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x0000010081672170>
 217  ref_isvirtual %r0 -> %i0
 220  -live- %i0, %i1, %r0
 220  goto_if_not %i0, L4
 224  L5:
 224  inline_call_ir_r <JitCode 'll_join_strs__v1076___simple_call__function_'>, I[$2], R[%r0] -> %r1
 232  -live- %i1, %r1
 232  L6:
 232  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x000001004e722790> -> %r0
 236  setfield_gc_r %r0, %r1, FieldDescr<exceptions.EnvironmentError.inst_strerror>
 241  setfield_gc_i %r0, %i1, FieldDescr<exceptions.EnvironmentError.inst_errno>
 246  -live- %r0
 246  raise %r0
 248  ---
 248  L4:
 248  int_isconstant $2 -> %i0
 251  -live- %i0, %i1, %r0
 251  goto_if_not %i0, L7
 255  goto L5
 258  ---
 258  L7:
 258  residual_call_ir_r $<* fn ll_join_strs_trampoline__v1072___simple_call__function_>, I[$2], R[%r0], <CallDescr(ir) EF=5> -> %r1
 267  -live- %i1, %r1
 267  goto L6
 270  ---
 270  L3:
 270  void_return
 271  ---
 271  L1:
 271  goto L2
