   0  getfield_gc_f_pure %r0, FieldDescr<tuple2.item0> -> %f0
   5  getfield_gc_f_pure %r0, FieldDescr<tuple2.item1> -> %f1
  10  int_mul $0, $<ItemOffset <Struct timeval { c_tv_sec, c_tv_usec }> 1> -> %i1
  14  int_add %i0, %i1 -> %i1
  18  inline_call_irf_r <JitCode 'll_math_modf__Float'>, I[], R[], F[%f0] -> %r0
  26  -live- %f1, %i0, %i1, %r0
  29  getfield_gc_f_pure %r0, FieldDescr<tuple2.item0> -> %f0
  34  getfield_gc_f_pure %r0, FieldDescr<tuple2.item1> -> %f2
  39  cast_float_to_int %f2 -> %i2
  42  float_mul %f0, $1000000.0 -> %f0
  46  cast_float_to_int %f0 -> %i3
  49  -live- %f1, %i0, %i1, %i2, %i3
  52  goto_if_not_int_lt %i3, $0, L1
  57  int_sub %i2, $1 -> %i2
  61  int_add %i3, $1000000 -> %i3
  65  L2:
  65  setfield_raw_i %i1, %i2, FieldDescr<timeval.c_tv_sec>
  70  setfield_raw_i %i1, %i3, FieldDescr<timeval.c_tv_usec>
  75  int_mul $1, $<ItemOffset <Struct timeval { c_tv_sec, c_tv_usec }> 1> -> %i1
  79  int_add %i0, %i1 -> %i1
  83  inline_call_irf_r <JitCode 'll_math_modf__Float'>, I[], R[], F[%f1] -> %r0
  91  -live- %i1, %r0
  94  getfield_gc_f_pure %r0, FieldDescr<tuple2.item0> -> %f0
  99  getfield_gc_f_pure %r0, FieldDescr<tuple2.item1> -> %f1
 104  cast_float_to_int %f1 -> %i0
 107  float_mul %f0, $1000000.0 -> %f0
 111  cast_float_to_int %f0 -> %i2
 114  -live- %i0, %i1, %i2
 117  goto_if_not_int_lt %i2, $0, L3
 122  int_sub %i0, $1 -> %i0
 126  int_add %i2, $1000000 -> %i2
 130  L4:
 130  setfield_raw_i %i1, %i0, FieldDescr<timeval.c_tv_sec>
 135  setfield_raw_i %i1, %i2, FieldDescr<timeval.c_tv_usec>
 140  void_return
 141  ---
 141  L3:
 141  goto L4
 144  ---
 144  L1:
 144  goto L2
