   0  L1:
   0  -live- %i0, %i1, %i2, %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r7, %r8
   3  ref_guard_value %r0
   5  -live- %i0, %i1, %i2, %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r7, %r8
   8  jit_merge_point $43, I[], R[%r0], F[], I[%i0, %i1, %i2], R[%r1, %r2, %r3, %r4, %r5, %r6, %r7, %r8], F[]
  28  -live- %i0, %i1, %i2, %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r7, %r8
  31  int_sub %i2, %i1 -> %i3
  35  int_rshift %i3, $1 -> %i3
  39  int_add %i1, %i3 -> %i3
  43  new_array $1, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x0000563a77308b10> -> %r9
  48  setarrayitem_gc_i %r9, $0, %i3, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x0000563a77308b10>
  54  getfield_gc_r %r1, FieldDescr<pypy.module.micronumpy.base.W_NDimArray.inst_implementation> -> %r10
  59  inline_call_r_i <JitCode 'BaseConcreteArray._lookup_by_unwrapped_index'>, R[%r10, %r9] -> %i4
  66  -live- %i0, %i1, %i2, %i3, %i4, %r0, %r1, %r10, %r2, %r3, %r4, %r5, %r6, %r7, %r8
  69  record_quasiimmut_field %r10, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype>, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.mutate_dtype>
  75  getfield_gc_r_pure %r10, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype> -> %r9
  80  -live- %i0, %i1, %i2, %i3, %i4, %r0, %r1, %r10, %r2, %r3, %r4, %r5, %r6, %r7, %r8, %r9
  83  record_quasiimmut_field %r9, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype>, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.mutate_itemtype>
  89  getfield_gc_r_pure %r9, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype> -> %r11
  94  -live- %i0, %i1, %i2, %i3, %i4, %r0, %r1, %r10, %r11, %r2, %r3, %r4, %r5, %r6, %r7, %r8, %r9
  97  guard_class %r11 -> %i5
 100  getfield_raw_i %i5, FieldDescr<pypy.module.micronumpy.types.BaseType_vtable.cls_read> -> %i5
 105  -live- %i0, %i1, %i2, %i3, %i4, %i5, %r0, %r1, %r10, %r11, %r2, %r3, %r4, %r5, %r6, %r7, %r8, %r9
 108  int_guard_value %i5
 110  residual_call_ir_r %i5, <IndirectCallTargets>, I[%i4, $0], R[%r11, %r10, %r9], <CallDescr(rriir) EF=5> -> %r9
 122  -live- %i0, %i1, %i2, %i3, %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r7, %r8, %r9
 125  guard_class %r9 -> %i4
 128  getfield_raw_i %i4, FieldDescr<pypy.module.micronumpy.boxes.W_GenericBox_vtable.cls_convert_to> -> %i4
 133  -live- %i0, %i1, %i2, %i3, %i4, %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r7, %r8, %r9
 136  int_guard_value %i4
 138  residual_call_r_r %i4, <IndirectCallTargets>, R[%r9, %r0], <CallDescr(rr) EF=7> -> %r9
 146  -live- %i0, %i1, %i2, %i3, %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r7, %r8, %r9
 149  guard_class %r3 -> %i4
 152  getfield_raw_i %i4, FieldDescr<pypy.module.micronumpy.types.BaseType_vtable.cls_le> -> %i4
 157  -live- %i0, %i1, %i2, %i3, %i4, %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r7, %r8, %r9
 160  int_guard_value %i4
 162  residual_call_r_i %i4, <IndirectCallTargets>, R[%r3, %r9, %r8], <CallDescr(rrr) EF=7> -> %i4
 171  -live- %i0, %i1, %i2, %i3, %i4, %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r7, %r8
 174  goto_if_not %i4, L2
 178  int_add %i3, $1 -> %i1
 182  L3:
 182  -live- %i0, %i1, %i2, %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r7, %r8
 185  goto_if_not_int_lt %i1, %i2, L4
 190  goto L1
 193  ---
 193  L4:
 193  ref_copy %r8 -> %r9
 196  getfield_gc_r %r2, FieldDescr<pypy.module.micronumpy.base.W_NDimArray.inst_implementation> -> %r10
 201  -live- %i0, %i1, %i2, %r0, %r1, %r10, %r2, %r3, %r4, %r5, %r6, %r7, %r9
 204  record_quasiimmut_field %r10, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype>, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.mutate_dtype>
 210  getfield_gc_r_pure %r10, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype> -> %r10
 215  inline_call_ir_r <JitCode 'box__int'>, I[%i1], R[%r10] -> %r10
 223  -live- %i0, %i1, %i2, %r0, %r1, %r10, %r2, %r3, %r4, %r5, %r6, %r7, %r9
 226  guard_class %r6 -> %i3
 229  getfield_raw_i %i3, FieldDescr<pypy.module.micronumpy.iterators.ArrayIter_vtable.cls_setitem> -> %i3
 234  -live- %i0, %i1, %i2, %i3, %r0, %r1, %r10, %r2, %r3, %r4, %r5, %r6, %r7, %r9
 237  switch %i3, <SwitchDictDescr 0:L5, 1:L6>
 241  unreachable
 242  ---
 242  L5:
 242  -live-
 245  raise $<* struct object>
 247  ---
 247  L6:
 247  -live- %i0, %i1, %i2, %r0, %r1, %r10, %r2, %r3, %r4, %r5, %r6, %r7, %r9
 250  getfield_gc_r_pure %r6, FieldDescr<pypy.module.micronumpy.iterators.ArrayIter.inst_array> -> %r8
 255  getfield_gc_i %r7, FieldDescr<pypy.module.micronumpy.iterators.IterState.inst_offset> -> %i3
 260  -live- %i0, %i1, %i2, %i3, %r0, %r1, %r10, %r2, %r3, %r4, %r5, %r6, %r7, %r8, %r9
 263  record_quasiimmut_field %r8, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype>, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.mutate_dtype>
 269  getfield_gc_r_pure %r8, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype> -> %r11
 274  -live- %i0, %i1, %i2, %i3, %r0, %r1, %r10, %r11, %r2, %r3, %r4, %r5, %r6, %r7, %r8, %r9
 277  record_quasiimmut_field %r11, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype>, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.mutate_itemtype>
 283  getfield_gc_r_pure %r11, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype> -> %r12
 288  -live- %i0, %i1, %i2, %i3, %r0, %r1, %r10, %r11, %r12, %r2, %r3, %r4, %r5, %r6, %r7, %r8, %r9
 291  record_quasiimmut_field %r11, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_byteorder>, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.mutate_byteorder>
 297  getfield_gc_i_pure %r11, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_byteorder> -> %i4
 302  int_eq %i4, $61 -> %i5
 306  int_eq %i4, $60 -> %i4
 310  int_or %i5, %i4 -> %i4
 314  -live- %i0, %i1, %i2, %i3, %i4, %r0, %r1, %r10, %r12, %r2, %r3, %r4, %r5, %r6, %r7, %r8, %r9
 317  guard_class %r12 -> %i5
 320  getfield_raw_i %i5, FieldDescr<pypy.module.micronumpy.types.BaseType_vtable.cls_store> -> %i5
 325  -live- %i0, %i1, %i2, %i3, %i4, %i5, %r0, %r1, %r10, %r12, %r2, %r3, %r4, %r5, %r6, %r7, %r8, %r9
 328  int_guard_value %i5
 330  residual_call_ir_v %i5, <IndirectCallTargets>, I[%i3, $0, %i4], R[%r12, %r8, %r10], <CallDescr(rriiri) EF=7>
 342  -live- %i0, %i1, %i2, %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r7, %r9
 345  inline_call_ir_r <JitCode 'ArrayIter.next'>, I[$False], R[%r6, %r7] -> %r7
 354  -live- %i0, %i1, %i2, %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r7, %r9
 357  inline_call_ir_r <JitCode 'ArrayIter.next'>, I[$False], R[%r4, %r5] -> %r5
 366  -live- %i0, %i1, %i2, %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r7, %r9
 369  getfield_gc_i %r5, FieldDescr<pypy.module.micronumpy.iterators.IterState.inst_index> -> %i3
 374  getfield_gc_i_pure %r4, FieldDescr<pypy.module.micronumpy.iterators.ArrayIter.inst_size> -> %i4
 379  -live- %i0, %i1, %i2, %i3, %i4, %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r7, %r9
 382  goto_if_not_int_ge %i3, %i4, L7
 387  void_return
 388  ---
 388  L7:
 388  -live- %i0, %i1, %i2, %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r7, %r9
 391  guard_class %r4 -> %i3
 394  getfield_raw_i %i3, FieldDescr<pypy.module.micronumpy.iterators.ArrayIter_vtable.cls_getitem> -> %i3
 399  -live- %i0, %i1, %i2, %i3, %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r7, %r9
 402  switch %i3, <SwitchDictDescr 0:L8, 1:L9>
 406  unreachable
 407  ---
 407  L8:
 407  -live-
 410  raise $<* struct object>
 412  ---
 412  L9:
 412  -live- %i0, %i1, %i2, %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r7, %r9
 415  getfield_gc_r_pure %r4, FieldDescr<pypy.module.micronumpy.iterators.ArrayIter.inst_array> -> %r10
 420  getfield_gc_i %r5, FieldDescr<pypy.module.micronumpy.iterators.IterState.inst_offset> -> %i3
 425  -live- %i0, %i1, %i2, %i3, %r0, %r1, %r10, %r2, %r3, %r4, %r5, %r6, %r7, %r9
 428  record_quasiimmut_field %r10, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype>, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.mutate_dtype>
 434  getfield_gc_r_pure %r10, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype> -> %r8
 439  -live- %i0, %i1, %i2, %i3, %r0, %r1, %r10, %r2, %r3, %r4, %r5, %r6, %r7, %r8, %r9
 442  record_quasiimmut_field %r8, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype>, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.mutate_itemtype>
 448  getfield_gc_r_pure %r8, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype> -> %r11
 453  -live- %i0, %i1, %i2, %i3, %r0, %r1, %r10, %r11, %r2, %r3, %r4, %r5, %r6, %r7, %r8, %r9
 456  guard_class %r11 -> %i4
 459  getfield_raw_i %i4, FieldDescr<pypy.module.micronumpy.types.BaseType_vtable.cls_read> -> %i4
 464  -live- %i0, %i1, %i2, %i3, %i4, %r0, %r1, %r10, %r11, %r2, %r3, %r4, %r5, %r6, %r7, %r8, %r9
 467  int_guard_value %i4
 469  residual_call_ir_r %i4, <IndirectCallTargets>, I[%i3, $0], R[%r11, %r10, %r8], <CallDescr(rriir) EF=5> -> %r8
 481  -live- %i0, %i1, %i2, %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r7, %r8, %r9
 484  record_quasiimmut_field %r0, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype>, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.mutate_itemtype>
 490  getfield_gc_r_pure %r0, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype> -> %r10
 495  -live- %i0, %i1, %i2, %r0, %r1, %r10, %r2, %r3, %r4, %r5, %r6, %r7, %r8, %r9
 498  guard_class %r10 -> %i3
 501  getfield_raw_i %i3, FieldDescr<pypy.module.micronumpy.types.BaseType_vtable.cls_lt> -> %i3
 506  -live- %i0, %i1, %i2, %i3, %r0, %r1, %r10, %r2, %r3, %r4, %r5, %r6, %r7, %r8, %r9
 509  int_guard_value %i3
 511  residual_call_r_i %i3, <IndirectCallTargets>, R[%r10, %r9, %r8], <CallDescr(rrr) EF=7> -> %i3
 520  -live- %i0, %i1, %i2, %i3, %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r7, %r8
 523  goto_if_not %i3, L10
 527  int_copy %i0 -> %i2
 530  goto L3
 533  ---
 533  L10:
 533  -live- %i0, %i2, %r0, %r1, %r2, %r3, %r4, %r5, %r6, %r7, %r8
 536  goto_if_not_int_lt %i2, %i0, L11
 541  int_add %i2, $1 -> %i2
 545  int_copy $0 -> %i1
 548  goto L3
 551  ---
 551  L11:
 551  int_copy $0 -> %i1
 554  int_copy %i0 -> %i2
 557  goto L3
 560  ---
 560  L2:
 560  int_copy %i3 -> %i2
 563  goto L3
