   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_lt %f0, $0.0, L3
  23  float_neg %f0 -> %f2
  26  float_neg %f1 -> %f0
  29  inline_call_irf_r <JitCode 'c_atanh'>, I[], R[], F[%f2, %f0] -> %r0
  38  -live- %r0
  38  getfield_gc_f_pure %r0, FieldDescr<tuple2.item0> -> %f2
  43  getfield_gc_f_pure %r0, FieldDescr<tuple2.item1> -> %f0
  48  float_neg %f2 -> %f2
  51  float_neg %f0 -> %f0
  54  new <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x1009f537050> -> %r0
  58  setfield_gc_f %r0, %f2, FieldDescr<tuple2.item0>
  63  setfield_gc_f %r0, %f0, FieldDescr<tuple2.item1>
  68  ref_return %r0
  70  ---
  70  L3:
  70  inline_call_irf_f <JitCode 'll_math_fabs__Float'>, I[], R[], F[%f1] -> %f5
  78  -live- %f0, %f1, %f5
  78  -live- %f0, %f1, %f5
  78  goto_if_not_float_gt %f0, $6.703903964971298e+153, L4
  83  L5:
  83  float_truediv %f0, $2.0 -> %f2
  87  float_truediv %f1, $2.0 -> %f3
  91  inline_call_irf_f <JitCode 'll_math_hypot__Float_Float'>, I[], R[], F[%f2, %f3] -> %f2
 100  -live- %f0, %f1, %f2
 100  float_truediv %f0, $4.0 -> %f0
 104  float_truediv %f0, %f2 -> %f0
 108  float_truediv %f0, %f2 -> %f2
 112  float_neg %f1 -> %f0
 115  residual_call_irf_f $<* fn copysign>, I[], R[], F[$1.5707963267948966, %f0], <CallDescr(ff) EF=0> -> %f0
 125  float_neg %f0 -> %f0
 128  L6:
 128  new <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x1009f537050> -> %r0
 132  setfield_gc_f %r0, %f2, FieldDescr<tuple2.item0>
 137  setfield_gc_f %r0, %f0, FieldDescr<tuple2.item1>
 142  ref_return %r0
 144  ---
 144  L4:
 144  -live- %f0, %f1, %f5
 144  goto_if_not_float_gt %f5, $6.703903964971298e+153, L7
 149  goto L5
 152  ---
 152  L7:
 152  -live- %f0, %f1, %f5
 152  goto_if_not_float_eq %f0, $1.0, L8
 157  -live- %f0, %f1, %f5
 157  goto_if_not_float_lt %f5, $1.4916681462400413e-154, L9
 162  -live- %f1, %f5
 162  goto_if_not_float_eq %f5, $0.0, L10
 167  raise $<* struct object>
 169  ---
 169  L10:
 169  -live- %f1, %f5
 169  goto_if_not_float_lt %f5, $0.0, L11
 174  raise $<* struct object>
 176  ---
 176  L11:
 176  float_mul %f5, $0.0 -> %f2
 180  -live- %f1, %f2, %f5
 180  goto_if_not_float_eq %f2, %f2, L12
 185  float_copy %f5 -> %f0
 188  residual_call_irf_f $<* fn sqrt_nonneg>, I[], R[], F[%f0], <CallDescr(f) EF=0 OS_MATH_SQRT> -> %f5
 197  L13:
 197  inline_call_irf_f <JitCode 'll_math_hypot__Float_Float'>, I[], R[], F[%f0, $2.0] -> %f3
 206  -live- %f0, %f1, %f3, %f5
 206  -live- %f0, %f1, %f3, %f5
 206  goto_if_not_float_lt %f3, $0.0, L14
 211  raise $<* struct object>
 213  ---
 213  L14:
 213  float_mul %f3, $0.0 -> %f2
 217  -live- %f0, %f1, %f2, %f3, %f5
 217  goto_if_not_float_eq %f2, %f2, L15
 222  residual_call_irf_f $<* fn sqrt_nonneg>, I[], R[], F[%f3], <CallDescr(f) EF=0 OS_MATH_SQRT> -> %f3
 231  L16:
 231  float_truediv %f5, %f3 -> %f2
 235  -live- %f0, %f1, %f2
 235  goto_if_not_float_le %f2, $0.0, L17
 240  raise $<* struct object>
 242  ---
 242  L17:
 242  residual_call_irf_f $<* fn log>, I[], R[], F[%f2], <CallDescr(f) EF=2> -> %f2
 251  float_neg %f2 -> %f2
 254  float_neg %f0 -> %f0
 257  inline_call_irf_f <JitCode 'll_math_atan2__Float_Float'>, I[], R[], F[$2.0, %f0] -> %f0
 266  -live- %f0, %f1, %f2
 266  float_truediv %f0, $2.0 -> %f0
 270  residual_call_irf_f $<* fn copysign>, I[], R[], F[%f0, %f1], <CallDescr(ff) EF=0> -> %f0
 280  goto L6
 283  ---
 283  L15:
 283  goto L16
 286  ---
 286  L12:
 286  float_copy %f5 -> %f0
 289  goto L13
 292  ---
 292  L9:
 292  L18:
 292  float_mul %f0, $4.0 -> %f2
 296  float_sub $1.0, %f0 -> %f3
 300  float_sub $1.0, %f0 -> %f4
 304  float_mul %f3, %f4 -> %f3
 308  float_mul %f5, %f5 -> %f4
 312  float_add %f3, %f4 -> %f3
 316  float_truediv %f2, %f3 -> %f2
 320  -live- %f0, %f1, %f2, %f5
 320  goto_if_not_float_eq %f2, $0.0, L19
 325  L20:
 325  float_truediv %f2, $4.0 -> %f2
 329  float_mul %f1, $-2.0 -> %f1
 333  float_sub $1.0, %f0 -> %f3
 337  float_add %f0, $1.0 -> %f0
 341  float_mul %f3, %f0 -> %f0
 345  float_mul %f5, %f5 -> %f3
 349  float_sub %f0, %f3 -> %f0
 353  inline_call_irf_f <JitCode 'll_math_atan2__Float_Float'>, I[], R[], F[%f1, %f0] -> %f0
 362  -live- %f0, %f2
 362  float_neg %f0 -> %f0
 365  float_truediv %f0, $2.0 -> %f0
 369  goto L6
 372  ---
 372  L19:
 372  -live- %f0, %f1, %f2, %f5
 372  goto_if_not_float_le %f2, $-1.0, L21
 377  -live- %f2
 377  goto_if_not_float_eq %f2, $-1.0, L22
 382  raise $<* struct object>
 384  ---
 384  L22:
 384  raise $<* struct object>
 386  ---
 386  L21:
 386  residual_call_irf_f $<* fn log1p>, I[], R[], F[%f2], <CallDescr(f) EF=2> -> %f2
 395  goto L20
 398  ---
 398  L8:
 398  goto L18
 401  ---
 401  L2:
 401  L23:
 401  inline_call_irf_i <JitCode 'special_type'>, I[], R[], F[%f0] -> %i0
 409  -live- %f1, %i0
 409  getarrayitem_gc_r_pure $<* array [ <* array [ <* struct tuple2 { item0=-0.0, item1=-1.5707963267948966 }>, <* struct tuple2 { item0=-0.0, item1=-1.5707963267948966 }>, <* struct tuple2 { item0=-0.0, item1=-1.5707963267948966 }>, <* struct tuple2 { item0=-0.0, item1=1.5707963267948966 }>, <* struct tuple2 { item0=-0.0, item1=1.5707963267948966 }>, <* struct tuple2 { item0=-0.0, item1=1.5707963267948966 }>, <* struct tuple2 { item0=-0.0, item1=nan }> ]>, <* array [ <* struct tuple2 { item0=-0.0, item1=-1.5707963267948966 }>, <* 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=-0.0, item1=1.5707963267948966 }>, <* struct tuple2 { item0=nan, item1=nan }> ]>, <* array [ <* struct tuple2 { item0=-0.0, item1=-1.5707963267948966 }>, <* 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=-0.0, item1=1.5707963267948966 }>, <* struct tuple2 { item0=-0.0, item1=nan }> ]>, <* array [ <* struct tuple2 { item0=0.0, item1=-1.5707963267948966 }>, <* 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=0.0, item1=1.5707963267948966 }>, <* struct tuple2 { item0=0.0, item1=nan }> ]>, <* array [ <* struct tuple2 { item0=0.0, item1=-1.5707963267948966 }>, <* 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=0.0, item1=1.5707963267948966 }>, <* struct tuple2 { item0=nan, item1=nan }> ]>, <* array [ <* struct tuple2 { item0=0.0, item1=-1.5707963267948966 }>, <* struct tuple2 { item0=0.0, item1=-1.5707963267948966 }>, <* struct tuple2 { item0=0.0, item1=-1.5707963267948966 }>, <* struct tuple2 { item0=0.0, item1=1.5707963267948966 }>, <* struct tuple2 { item0=0.0, item1=1.5707963267948966 }>, <* struct tuple2 { item0=0.0, item1=1.5707963267948966 }>, <* struct tuple2 { item0=0.0, item1=nan }> ]>, <* array [ <* struct tuple2 { item0=0.0, item1=-1.5707963267948966 }>, <* 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=0.0, item1=1.5707963267948966 }>, <* struct tuple2 { item0=nan, item1=nan }> ]> ]>, %i0, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x10096a07210> -> %r0
 415  inline_call_irf_i <JitCode 'special_type'>, I[], R[], F[%f1] -> %i0
 423  -live- %i0, %r0
 423  getarrayitem_gc_r_pure %r0, %i0, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x100969bbc50> -> %r0
 429  ref_return %r0
 431  ---
 431  L1:
 431  goto L23
