   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
  26  getfield_gc_f_pure %r0, FieldDescr<tuple2.item0> -> %f0
  31  getfield_gc_f_pure %r0, FieldDescr<tuple2.item1> -> %f2
  36  cast_float_to_int %f2 -> %i2
  39  float_mul %f0, $1000000.0 -> %f0
  43  cast_float_to_int %f0 -> %i3
  46  -live- %f1, %i0, %i1, %i2, %i3
  46  goto_if_not_int_lt %i3, $0, L1
  51  int_sub %i2, $1 -> %i2
  55  int_add %i3, $1000000 -> %i3
  59  L2:
  59  setfield_raw_i %i1, %i2, FieldDescr<timeval.c_tv_sec>
  64  setfield_raw_i %i1, %i3, FieldDescr<timeval.c_tv_usec>
  69  int_mul $1, $<ItemOffset <Struct timeval { c_tv_sec, c_tv_usec }> 1> -> %i1
  73  int_add %i0, %i1 -> %i1
  77  inline_call_irf_r <JitCode 'll_math_modf__Float'>, I[], R[], F[%f1] -> %r0
  85  -live- %i1, %r0
  85  getfield_gc_f_pure %r0, FieldDescr<tuple2.item0> -> %f0
  90  getfield_gc_f_pure %r0, FieldDescr<tuple2.item1> -> %f1
  95  cast_float_to_int %f1 -> %i0
  98  float_mul %f0, $1000000.0 -> %f0
 102  cast_float_to_int %f0 -> %i2
 105  -live- %i0, %i1, %i2
 105  goto_if_not_int_lt %i2, $0, L3
 110  int_sub %i0, $1 -> %i0
 114  int_add %i2, $1000000 -> %i2
 118  L4:
 118  setfield_raw_i %i1, %i0, FieldDescr<timeval.c_tv_sec>
 123  setfield_raw_i %i1, %i2, FieldDescr<timeval.c_tv_usec>
 128  void_return
 129  ---
 129  L3:
 129  goto L4
 132  ---
 132  L1:
 132  goto L2
