   0  float_mul %f0, $0.0 -> %f2
   4  -live- %f0, %f1, %f2
   4  goto_if_not_float_eq %f2, %f2, L1
   9  float_mul %f1, $0.0 -> %f2
  13  -live- %f0, %f1, %f2
  13  goto_if_not_float_eq %f2, %f2, L2
  18  -live- %f0, %f1
  18  goto_if_not_float_eq %f0, $0.0, L3
  23  -live- %f0, %f1
  23  goto_if_not_float_eq %f1, $0.0, L4
  28  new <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x1009f537050> -> %r0
  32  setfield_gc_f %r0, $0.0, FieldDescr<tuple2.item0>
  37  setfield_gc_f %r0, %f1, FieldDescr<tuple2.item1>
  42  ref_return %r0
  44  ---
  44  L4:
  44  L5:
  44  inline_call_irf_f <JitCode 'll_math_fabs__Float'>, I[], R[], F[%f0] -> %f2
  52  -live- %f0, %f1, %f2
  52  inline_call_irf_f <JitCode 'll_math_fabs__Float'>, I[], R[], F[%f1] -> %f4
  60  -live- %f0, %f1, %f2, %f4
  60  -live- %f0, %f1, %f2, %f4
  60  goto_if_not_float_lt %f2, $2.2250738585072014e-308, L6
  65  -live- %f0, %f1, %f2, %f4
  65  goto_if_not_float_lt %f4, $2.2250738585072014e-308, L7
  70  -live- %f0, %f1, %f2, %f4
  70  goto_if_not_float_gt %f2, $0.0, L8
  75  L9:
  75  inline_call_irf_f <JitCode 'll_math_ldexp__Float_Signed'>, I[$53], R[], F[%f2] -> %f2
  84  -live- %f0, %f1, %f2, %f4
  84  inline_call_irf_f <JitCode 'll_math_ldexp__Float_Signed'>, I[$53], R[], F[%f4] -> %f3
  93  -live- %f0, %f1, %f2, %f3, %f4
  93  inline_call_irf_f <JitCode 'll_math_hypot__Float_Float'>, I[], R[], F[%f2, %f3] -> %f3
 102  -live- %f0, %f1, %f2, %f3, %f4
 102  float_add %f2, %f3 -> %f3
 106  -live- %f0, %f1, %f3, %f4
 106  goto_if_not_float_lt %f3, $0.0, L10
 111  raise $<* struct object>
 113  ---
 113  L10:
 113  float_mul %f3, $0.0 -> %f2
 117  -live- %f0, %f1, %f2, %f3, %f4
 117  goto_if_not_float_eq %f2, %f2, L11
 122  residual_call_irf_f $<* fn sqrt_nonneg>, I[], R[], F[%f3], <CallDescr(f) EF=0 OS_MATH_SQRT> -> %f3
 131  L12:
 131  inline_call_irf_f <JitCode 'll_math_ldexp__Float_Signed'>, I[$-27], R[], F[%f3] -> %f3
 140  -live- %f0, %f1, %f3, %f4
 140  L13:
 140  float_mul %f3, $2.0 -> %f2
 144  float_truediv %f4, %f2 -> %f2
 148  -live- %f0, %f1, %f2, %f3
 148  goto_if_not_float_ge %f0, $0.0, L14
 153  residual_call_irf_f $<* fn copysign>, I[], R[], F[%f2, %f1], <CallDescr(ff) EF=0> -> %f2
 163  new <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x1009f537050> -> %r0
 167  setfield_gc_f %r0, %f3, FieldDescr<tuple2.item0>
 172  setfield_gc_f %r0, %f2, FieldDescr<tuple2.item1>
 177  ref_return %r0
 179  ---
 179  L14:
 179  residual_call_irf_f $<* fn copysign>, I[], R[], F[%f3, %f1], <CallDescr(ff) EF=0> -> %f0
 189  new <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x1009f537050> -> %r0
 193  setfield_gc_f %r0, %f2, FieldDescr<tuple2.item0>
 198  setfield_gc_f %r0, %f0, FieldDescr<tuple2.item1>
 203  ref_return %r0
 205  ---
 205  L11:
 205  goto L12
 208  ---
 208  L8:
 208  -live- %f0, %f1, %f2, %f4
 208  goto_if_not_float_gt %f4, $0.0, L15
 213  goto L9
 216  ---
 216  L15:
 216  L16:
 216  float_truediv %f2, $8.0 -> %f2
 220  float_truediv %f4, $8.0 -> %f3
 224  inline_call_irf_f <JitCode 'll_math_hypot__Float_Float'>, I[], R[], F[%f2, %f3] -> %f3
 233  -live- %f0, %f1, %f2, %f3, %f4
 233  float_add %f2, %f3 -> %f3
 237  -live- %f0, %f1, %f3, %f4
 237  goto_if_not_float_lt %f3, $0.0, L17
 242  raise $<* struct object>
 244  ---
 244  L17:
 244  float_mul %f3, $0.0 -> %f2
 248  -live- %f0, %f1, %f2, %f3, %f4
 248  goto_if_not_float_eq %f2, %f2, L18
 253  residual_call_irf_f $<* fn sqrt_nonneg>, I[], R[], F[%f3], <CallDescr(f) EF=0 OS_MATH_SQRT> -> %f3
 262  L19:
 262  float_mul %f3, $2.0 -> %f3
 266  goto L13
 269  ---
 269  L18:
 269  goto L19
 272  ---
 272  L7:
 272  goto L16
 275  ---
 275  L6:
 275  goto L16
 278  ---
 278  L3:
 278  goto L5
 281  ---
 281  L2:
 281  L20:
 281  inline_call_irf_i <JitCode 'special_type'>, I[], R[], F[%f0] -> %i0
 289  -live- %f1, %i0
 289  getarrayitem_gc_r_pure $<* array [ <* array [ <* struct tuple2 { item0=inf, item1=-inf }>, <* struct tuple2 { item0=0.0, item1=-inf }>, <* struct tuple2 { item0=0.0, item1=-inf }>, <* struct tuple2 { item0=0.0, item1=inf }>, <* struct tuple2 { item0=0.0, item1=inf }>, <* struct tuple2 { item0=inf, item1=inf }>, <* struct tuple2 { item0=nan, item1=inf }> ]>, <* array [ <* struct tuple2 { item0=inf, item1=-inf }>, <* struct tuple2 { item0=-9.542631940771103e+33, item1=-9.542631940771103e+33 }>, <* struct tuple2 { item0=-9.542631940771103e+33, item1=-9.542631940771103e+33 }>, <* struct tuple2 { item0=-9.542631940771103e+33, item1=-9.542631940771103e+33 }>, <* struct tuple2 { item0=-9.542631940771103e+33, item1=-9.542631940771103e+33 }>, <* struct tuple2 { item0=inf, item1=inf }>, <* struct tuple2 { item0=nan, item1=nan }> ]>, <* array [ <* struct tuple2 { item0=inf, item1=-inf }>, <* struct tuple2 { item0=-9.542631940771103e+33, item1=-9.542631940771103e+33 }>, <* struct tuple2 { item0=0.0, item1=-0.0 }>, <* struct tuple2 { item0=0.0, item1=0.0 }>, <* struct tuple2 { item0=-9.542631940771103e+33, item1=-9.542631940771103e+33 }>, <* struct tuple2 { item0=inf, item1=inf }>, <* struct tuple2 { item0=nan, item1=nan }> ]>, <* array [ <* struct tuple2 { item0=inf, item1=-inf }>, <* struct tuple2 { item0=-9.542631940771103e+33, item1=-9.542631940771103e+33 }>, <* struct tuple2 { item0=0.0, item1=-0.0 }>, <* struct tuple2 { item0=0.0, item1=0.0 }>, <* struct tuple2 { item0=-9.542631940771103e+33, item1=-9.542631940771103e+33 }>, <* struct tuple2 { item0=inf, item1=inf }>, <* struct tuple2 { item0=nan, item1=nan }> ]>, <* array [ <* struct tuple2 { item0=inf, item1=-inf }>, <* struct tuple2 { item0=-9.542631940771103e+33, item1=-9.542631940771103e+33 }>, <* struct tuple2 { item0=-9.542631940771103e+33, item1=-9.542631940771103e+33 }>, <* struct tuple2 { item0=-9.542631940771103e+33, item1=-9.542631940771103e+33 }>, <* struct tuple2 { item0=-9.542631940771103e+33, item1=-9.542631940771103e+33 }>, <* struct tuple2 { item0=inf, item1=inf }>, <* struct tuple2 { item0=nan, item1=nan }> ]>, <* array [ <* struct tuple2 { item0=inf, item1=-inf }>, <* struct tuple2 { item0=inf, item1=-0.0 }>, <* struct tuple2 { item0=inf, item1=-0.0 }>, <* struct tuple2 { item0=inf, item1=0.0 }>, <* struct tuple2 { item0=inf, item1=0.0 }>, <* struct tuple2 { item0=inf, item1=inf }>, <* struct tuple2 { item0=inf, item1=nan }> ]>, <* array [ <* struct tuple2 { item0=inf, item1=-inf }>, <* struct tuple2 { item0=nan, item1=nan }>, <* struct tuple2 { item0=nan, item1=nan }>, <* struct tuple2 { item0=nan, item1=nan }>, <* struct tuple2 { item0=nan, item1=nan }>, <* struct tuple2 { item0=inf, item1=inf }>, <* struct tuple2 { item0=nan, item1=nan }> ]> ]>, %i0, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x10096a07210> -> %r0
 295  inline_call_irf_i <JitCode 'special_type'>, I[], R[], F[%f1] -> %i0
 303  -live- %i0, %r0
 303  getarrayitem_gc_r_pure %r0, %i0, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x100969bbc50> -> %r0
 309  ref_return %r0
 311  ---
 311  L1:
 311  goto L20
