   0  L1:
   0  -live- %i0, %i1, %i2, %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r7, %r8
   0  ref_guard_value %r0
   2  -live- %i0, %i1, %i2, %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r7, %r8
   2  jit_merge_point $23, I[], R[%r0], F[], I[%i0, %i1, %i2], R[%r1, %r2, %r3, %r4, %r5, %r6, %r7, %r8], F[]
  22  -live- %i0, %i1, %i2, %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r7, %r8
  22  int_sub %i1, %i0 -> %i3
  26  int_rshift %i3, $1 -> %i3
  30  int_add %i0, %i3 -> %i3
  34  new_array $1, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x74c30fd0> -> %r9
  39  setarrayitem_gc_i %r9, $0, %i3, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x74c30fd0>
  45  getfield_gc_r %r1, FieldDescr<pypy.module.micronumpy.base.W_NDimArray.inst_implementation> -> %r10
  50  inline_call_r_i <JitCode 'BaseConcreteArray._lookup_by_unwrapped_index'>, R[%r10, %r9] -> %i4
  57  -live- %i0, %i1, %i2, %i3, %i4, %r0, %r1, %r10, %r2, %r3, %r4, %r5, %r6, %r7, %r8
  57  -live- %i0, %i1, %i2, %i3, %i4, %r0, %r1, %r10, %r2, %r3, %r4, %r5, %r6, %r7, %r8
  57  record_quasiimmut_field %r10, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype>, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.mutate_dtype>
  63  getfield_gc_r_pure %r10, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype> -> %r9
  68  -live- %i0, %i1, %i2, %i3, %i4, %r0, %r1, %r10, %r2, %r3, %r4, %r5, %r6, %r7, %r8, %r9
  68  record_quasiimmut_field %r9, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype>, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.mutate_itemtype>
  74  getfield_gc_r_pure %r9, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype> -> %r11
  79  -live- %i0, %i1, %i2, %i3, %i4, %r0, %r1, %r10, %r11, %r2, %r3, %r4, %r5, %r6, %r7, %r8, %r9
  79  guard_class %r11 -> %i5
  82  getfield_raw_i %i5, FieldDescr<pypy.module.micronumpy.types.BaseType_vtable.cls_read> -> %i5
  87  -live- %i0, %i1, %i2, %i3, %i4, %i5, %r0, %r1, %r10, %r11, %r2, %r3, %r4, %r5, %r6, %r7, %r8, %r9
  87  int_guard_value %i5
  89  residual_call_ir_r %i5, <IndirectCallTargets>, I[%i4, $0], R[%r11, %r10, %r9], <CallDescr(rriir) EF=5> -> %r9
 101  -live- %i0, %i1, %i2, %i3, %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r7, %r8, %r9
 101  -live- %i0, %i1, %i2, %i3, %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r7, %r8, %r9
 101  guard_class %r9 -> %i4
 104  getfield_raw_i %i4, FieldDescr<pypy.module.micronumpy.boxes.W_GenericBox_vtable.cls_convert_to> -> %i4
 109  -live- %i0, %i1, %i2, %i3, %i4, %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r7, %r8, %r9
 109  int_guard_value %i4
 111  residual_call_r_r %i4, <IndirectCallTargets>, R[%r9, %r0], <CallDescr(rr) EF=7> -> %r9
 119  -live- %i0, %i1, %i2, %i3, %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r7, %r8, %r9
 119  -live- %i0, %i1, %i2, %i3, %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r7, %r8, %r9
 119  guard_class %r6 -> %i4
 122  getfield_raw_i %i4, FieldDescr<pypy.module.micronumpy.types.BaseType_vtable.cls_le> -> %i4
 127  -live- %i0, %i1, %i2, %i3, %i4, %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r7, %r8, %r9
 127  int_guard_value %i4
 129  residual_call_r_i %i4, <IndirectCallTargets>, R[%r6, %r9, %r7], <CallDescr(rrr) EF=7> -> %i4
 138  -live- %i0, %i1, %i2, %i3, %i4, %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r7, %r8
 138  -live- %i0, %i1, %i2, %i3, %i4, %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r7, %r8
 138  goto_if_not %i4, L2
 142  int_add %i3, $1 -> %i0
 146  L3:
 146  -live- %i0, %i1, %i2, %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r7, %r8
 146  goto_if_not_int_lt %i0, %i1, L4
 151  goto L1
 154  ---
 154  L4:
 154  ref_copy %r7 -> %r9
 157  getfield_gc_r %r5, FieldDescr<pypy.module.micronumpy.base.W_NDimArray.inst_implementation> -> %r10
 162  -live- %i0, %i1, %i2, %r0, %r1, %r10, %r2, %r3, %r4, %r5, %r6, %r8, %r9
 162  record_quasiimmut_field %r10, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype>, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.mutate_dtype>
 168  getfield_gc_r_pure %r10, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype> -> %r10
 173  inline_call_ir_r <JitCode 'box__int'>, I[%i0], R[%r10] -> %r10
 181  -live- %i0, %i1, %i2, %r0, %r1, %r10, %r2, %r3, %r4, %r5, %r6, %r8, %r9
 181  -live- %i0, %i1, %i2, %r0, %r1, %r10, %r2, %r3, %r4, %r5, %r6, %r8, %r9
 181  guard_class %r2 -> %i3
 184  getfield_raw_i %i3, FieldDescr<pypy.module.micronumpy.iterators.ArrayIter_vtable.cls_setitem> -> %i3
 189  -live- %i0, %i1, %i2, %i3, %r0, %r1, %r10, %r2, %r3, %r4, %r5, %r6, %r8, %r9
 189  switch %i3, <SwitchDictDescr 0:L5, 1:L6>
 193  unreachable
 194  ---
 194  L5:
 194  -live- %i0, %i1, %i2, %r0, %r1, %r10, %r2, %r3, %r4, %r5, %r6, %r8, %r9
 194  getfield_gc_r_pure %r2, FieldDescr<pypy.module.micronumpy.iterators.ArrayIter.inst_array> -> %r7
 199  getfield_gc_i %r4, FieldDescr<pypy.module.micronumpy.iterators.IterState.inst_offset> -> %i3
 204  -live- %i0, %i1, %i2, %i3, %r0, %r1, %r10, %r2, %r3, %r4, %r5, %r6, %r7, %r8, %r9
 204  record_quasiimmut_field %r7, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype>, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.mutate_dtype>
 210  getfield_gc_r_pure %r7, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype> -> %r11
 215  -live- %i0, %i1, %i2, %i3, %r0, %r1, %r10, %r11, %r2, %r3, %r4, %r5, %r6, %r7, %r8, %r9
 215  record_quasiimmut_field %r11, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype>, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.mutate_itemtype>
 221  getfield_gc_r_pure %r11, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype> -> %r12
 226  -live- %i0, %i1, %i2, %i3, %r0, %r1, %r10, %r11, %r12, %r2, %r3, %r4, %r5, %r6, %r7, %r8, %r9
 226  record_quasiimmut_field %r11, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_byteorder>, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.mutate_byteorder>
 232  getfield_gc_i_pure %r11, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_byteorder> -> %i4
 237  int_eq %i4, $61 -> %i5
 241  int_eq %i4, $60 -> %i4
 245  int_or %i5, %i4 -> %i4
 249  -live- %i0, %i1, %i2, %i3, %i4, %r0, %r1, %r10, %r12, %r2, %r3, %r4, %r5, %r6, %r7, %r8, %r9
 249  guard_class %r12 -> %i5
 252  getfield_raw_i %i5, FieldDescr<pypy.module.micronumpy.types.BaseType_vtable.cls_store> -> %i5
 257  -live- %i0, %i1, %i2, %i3, %i4, %i5, %r0, %r1, %r10, %r12, %r2, %r3, %r4, %r5, %r6, %r7, %r8, %r9
 257  int_guard_value %i5
 259  residual_call_ir_v %i5, <IndirectCallTargets>, I[%i3, $0, %i4], R[%r12, %r7, %r10], <CallDescr(rriiri) EF=7>
 271  -live- %i0, %i1, %i2, %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r8, %r9
 271  inline_call_ir_r <JitCode 'ArrayIter.next'>, I[$False], R[%r2, %r4] -> %r4
 280  -live- %i0, %i1, %i2, %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r8, %r9
 280  inline_call_ir_r <JitCode 'ArrayIter.next'>, I[$False], R[%r8, %r3] -> %r3
 289  -live- %i0, %i1, %i2, %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r8, %r9
 289  getfield_gc_i %r3, FieldDescr<pypy.module.micronumpy.iterators.IterState.inst_index> -> %i3
 294  getfield_gc_i_pure %r8, FieldDescr<pypy.module.micronumpy.iterators.ArrayIter.inst_size> -> %i4
 299  -live- %i0, %i1, %i2, %i3, %i4, %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r8, %r9
 299  goto_if_not_int_ge %i3, %i4, L7
 304  void_return
 305  ---
 305  L7:
 305  -live- %i0, %i1, %i2, %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r8, %r9
 305  guard_class %r8 -> %i3
 308  getfield_raw_i %i3, FieldDescr<pypy.module.micronumpy.iterators.ArrayIter_vtable.cls_getitem> -> %i3
 313  -live- %i0, %i1, %i2, %i3, %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r8, %r9
 313  switch %i3, <SwitchDictDescr 0:L8, 1:L9>
 317  unreachable
 318  ---
 318  L8:
 318  -live- %i0, %i1, %i2, %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r8, %r9
 318  getfield_gc_r_pure %r8, FieldDescr<pypy.module.micronumpy.iterators.ArrayIter.inst_array> -> %r10
 323  getfield_gc_i %r3, FieldDescr<pypy.module.micronumpy.iterators.IterState.inst_offset> -> %i3
 328  -live- %i0, %i1, %i2, %i3, %r0, %r1, %r10, %r2, %r3, %r4, %r5, %r6, %r8, %r9
 328  record_quasiimmut_field %r10, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype>, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.mutate_dtype>
 334  getfield_gc_r_pure %r10, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype> -> %r7
 339  -live- %i0, %i1, %i2, %i3, %r0, %r1, %r10, %r2, %r3, %r4, %r5, %r6, %r7, %r8, %r9
 339  record_quasiimmut_field %r7, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype>, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.mutate_itemtype>
 345  getfield_gc_r_pure %r7, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype> -> %r11
 350  -live- %i0, %i1, %i2, %i3, %r0, %r1, %r10, %r11, %r2, %r3, %r4, %r5, %r6, %r7, %r8, %r9
 350  guard_class %r11 -> %i4
 353  getfield_raw_i %i4, FieldDescr<pypy.module.micronumpy.types.BaseType_vtable.cls_read> -> %i4
 358  -live- %i0, %i1, %i2, %i3, %i4, %r0, %r1, %r10, %r11, %r2, %r3, %r4, %r5, %r6, %r7, %r8, %r9
 358  int_guard_value %i4
 360  residual_call_ir_r %i4, <IndirectCallTargets>, I[%i3, $0], R[%r11, %r10, %r7], <CallDescr(rriir) EF=5> -> %r7
 372  -live- %i0, %i1, %i2, %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r7, %r8, %r9
 372  -live- %i0, %i1, %i2, %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r7, %r8, %r9
 372  record_quasiimmut_field %r0, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype>, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.mutate_itemtype>
 378  getfield_gc_r_pure %r0, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype> -> %r10
 383  -live- %i0, %i1, %i2, %r0, %r1, %r10, %r2, %r3, %r4, %r5, %r6, %r7, %r8, %r9
 383  guard_class %r10 -> %i3
 386  getfield_raw_i %i3, FieldDescr<pypy.module.micronumpy.types.BaseType_vtable.cls_lt> -> %i3
 391  -live- %i0, %i1, %i2, %i3, %r0, %r1, %r10, %r2, %r3, %r4, %r5, %r6, %r7, %r8, %r9
 391  int_guard_value %i3
 393  residual_call_r_i %i3, <IndirectCallTargets>, R[%r10, %r9, %r7], <CallDescr(rrr) EF=7> -> %i3
 402  -live- %i0, %i1, %i2, %i3, %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r7, %r8
 402  -live- %i0, %i1, %i2, %i3, %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r7, %r8
 402  goto_if_not %i3, L10
 406  int_copy %i2 -> %i1
 409  goto L3
 412  ---
 412  L10:
 412  -live- %i1, %i2, %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r7, %r8
 412  goto_if_not_int_lt %i1, %i2, L11
 417  int_add %i1, $1 -> %i1
 421  int_copy $0 -> %i0
 424  goto L3
 427  ---
 427  L11:
 427  int_copy $0 -> %i0
 430  int_copy %i2 -> %i1
 433  goto L3
 436  ---
 436  L9:
 436  -live-
 436  raise $<* struct object>
 438  ---
 438  L6:
 438  -live-
 438  raise $<* struct object>
 440  ---
 440  L2:
 440  int_copy %i3 -> %i1
 443  goto L3
