   0  float_sub %f0, %f0 -> %f1
   4  -live- %f0, %f1
   7  goto_if_not_float_eq %f1, $0.0, L1
  12  float_copy %f0 -> %f1
  15  residual_call_irf_f $<* fn floor>, I[], R[], F[%f1], <CallDescr(f) EF=0> -> %f0
  24  float_sub %f1, %f0 -> %f1
  28  -live- %f0, %f1
  31  goto_if_not_float_gt %f1, $0.5, L2
  36  float_add %f0, $1.0 -> %f0
  40  L3:
  40  -live- %f0, %f1
  43  goto_if_not_float_eq %f1, $0.5, L4
  48  float_mul %f0, $0.5 -> %f1
  52  residual_call_irf_f $<* fn floor>, I[], R[], F[%f1], <CallDescr(f) EF=0> -> %f1
  61  float_mul %f1, $2.0 -> %f1
  65  float_sub %f0, %f1 -> %f1
  69  -live- %f0, %f1
  72  goto_if_not_float_eq %f1, $1.0, L5
  77  float_add %f0, $1.0 -> %f0
  81  float_return %f0
  83  ---
  83  L5:
  83  float_return %f0
  85  ---
  85  L4:
  85  float_return %f0
  87  ---
  87  L2:
  87  goto L3
  90  ---
  90  L1:
  90  float_return %f0
