   0  getfield_gc_f_pure %r0, FieldDescr<tuple2.item0> -> %f5
   5  getfield_gc_f_pure %r0, FieldDescr<tuple2.item1> -> %f0
  10  getfield_gc_f_pure %r1, FieldDescr<tuple2.item0> -> %f3
  15  getfield_gc_f_pure %r1, FieldDescr<tuple2.item1> -> %f4
  20  -live- %f0, %f3, %f4, %f5
  23  goto_if_not_float_eq %f0, $0.0, L1
  28  -live- %f0, %f3, %f4, %f5
  31  goto_if_not_float_eq %f4, $0.0, L2
  36  -live- %f0, %f3, %f4, %f5
  39  goto_if_not_float_gt %f5, $0.0, L3
  44  inline_call_irf_f <JitCode 'll_math_pow__Float_Float'>, I[], R[], F[%f5, %f3] -> %f0
  53  -live- %f0
  56  float_copy $0.0 -> %f1
  59  L4:
  59  new <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x000002aa99a2abb8> -> %r0
  63  setfield_gc_f %r0, %f0, FieldDescr<tuple2.item0>
  68  setfield_gc_f %r0, %f1, FieldDescr<tuple2.item1>
  73  ref_return %r0
  75  ---
  75  L3:
  75  L5:
  75  -live- %f0, %f3, %f4, %f5
  78  goto_if_not_float_eq %f3, $0.0, L6
  83  -live- %f0, %f3, %f4, %f5
  86  goto_if_not_float_eq %f4, $0.0, L7
  91  ref_return $<* struct tuple2>
  93  ---
  93  L7:
  93  L8:
  93  -live- %f0, %f3, %f4, %f5
  96  goto_if_not_float_eq %f5, $1.0, L9
 101  -live- %f0, %f3, %f4, %f5
 104  goto_if_not_float_eq %f0, $0.0, L10
 109  ref_return $<* struct tuple2>
 111  ---
 111  L10:
 111  L11:
 111  -live- %f0, %f3, %f4, %f5
 114  goto_if_not_float_eq %f5, $0.0, L12
 119  -live- %f0, %f3, %f4, %f5
 122  goto_if_not_float_eq %f0, $0.0, L13
 127  -live- %f3, %f4
 130  goto_if_not_float_ne %f4, $0.0, L14
 135  raise $<* struct object>
 137  ---
 137  L14:
 137  -live- %f3
 140  goto_if_not_float_lt %f3, $0.0, L15
 145  raise $<* struct object>
 147  ---
 147  L15:
 147  ref_return $<* struct tuple2>
 149  ---
 149  L13:
 149  L16:
 149  inline_call_irf_f <JitCode 'll_math_hypot__Float_Float'>, I[], R[], F[%f5, %f0] -> %f1
 158  -live- %f0, %f1, %f3, %f4, %f5
 161  inline_call_irf_f <JitCode 'll_math_pow__Float_Float'>, I[], R[], F[%f1, %f3] -> %f2
 170  -live- %f0, %f1, %f2, %f3, %f4, %f5
 173  inline_call_irf_f <JitCode 'll_math_atan2__Float_Float'>, I[], R[], F[%f0, %f5] -> %f0
 182  -live- %f0, %f1, %f2, %f3, %f4
 185  float_mul %f0, %f3 -> %f3
 189  -live- %f0, %f1, %f2, %f3, %f4
 192  goto_if_not_float_ne %f4, $0.0, L17
 197  float_mul %f0, %f4 -> %f0
 201  inline_call_irf_f <JitCode 'll_math_exp__Float'>, I[], R[], F[%f0] -> %f0
 209  -live- %f0, %f1, %f2, %f3, %f4
 212  float_truediv %f2, %f0 -> %f2
 216  -live- %f1, %f2, %f3, %f4
 219  goto_if_not_float_le %f1, $0.0, L18
 224  raise $<* struct object>
 226  ---
 226  L18:
 226  residual_call_irf_f $<* fn log>, I[], R[], F[%f1], <CallDescr(f) EF=2> -> %f0
 235  float_mul %f4, %f0 -> %f0
 239  float_add %f3, %f0 -> %f3
 243  L19:
 243  inline_call_irf_f <JitCode 'll_math_cos__Float'>, I[], R[], F[%f3] -> %f0
 251  -live- %f0, %f2, %f3
 254  catch_exception L20
 257  float_mul %f2, %f0 -> %f0
 261  inline_call_irf_f <JitCode 'll_math_sin__Float'>, I[], R[], F[%f3] -> %f1
 269  -live- %f0, %f1, %f2
 272  catch_exception L21
 275  float_mul %f2, %f1 -> %f1
 279  goto L4
 282  ---
 282  L21:
 282  goto_if_exception_mismatch $<* struct object_vtable>, L22
 286  ref_return $<* struct tuple2>
 288  ---
 288  L22:
 288  reraise
 289  ---
 289  L20:
 289  goto_if_exception_mismatch $<* struct object_vtable>, L23
 293  ref_return $<* struct tuple2>
 295  ---
 295  L23:
 295  reraise
 296  ---
 296  L17:
 296  goto L19
 299  ---
 299  L12:
 299  goto L16
 302  ---
 302  L9:
 302  goto L11
 305  ---
 305  L6:
 305  goto L8
 308  ---
 308  L2:
 308  goto L5
 311  ---
 311  L1:
 311  goto L5
