   0  arraylen_gc %r2, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x0000563a77308b10> -> %i0
   5  arraylen_gc %r4, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x0000563a58f50a30> -> %i1
  10  arraylen_gc %r3, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x0000563a58f50a30> -> %i2
  15  getfield_gc_r %r0, FieldDescr<pypy.module.micronumpy.base.W_NDimArray.inst_implementation> -> %r5
  20  -live- %i0, %i1, %i2, %r0, %r1, %r2, %r3, %r4, %r5
  23  record_quasiimmut_field %r5, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype>, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.mutate_dtype>
  29  getfield_gc_r_pure %r5, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype> -> %r5
  34  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x0000563abacbebf0> -> %r6
  38  residual_call_r_v $<* fn PureShapeIter.__init__>, R[%r6, %r2, %r3], <CallDescr(rrr) EF=5>
  46  -live- %i0, %i1, %i2, %r0, %r1, %r3, %r4, %r5, %r6
  49  getfield_gc_i %r6, FieldDescr<pypy.module.micronumpy.iterators.PureShapeIter.inst__done> -> %i3
  54  -live- %i0, %i1, %i2, %i3, %r0, %r1, %r3, %r4, %r5, %r6
  57  goto_if_not %i3, L1
  61  ref_return %r1
  63  ---
  63  L1:
  63  -live- %i0, %i1, %i2, %r0, %r1, %r3, %r4, %r5, %r6
  66  int_guard_value %i0
  68  -live- %i0, %i1, %i2, %r0, %r1, %r3, %r4, %r5, %r6
  71  int_guard_value %i2
  73  -live- %i0, %i1, %i2, %r0, %r1, %r3, %r4, %r5, %r6
  76  int_guard_value %i1
  78  -live- %i0, %i1, %i2, %r0, %r1, %r3, %r4, %r5, %r6
  81  ref_guard_value %r5
  83  recursive_call_r $24, I[%i0, %i2, %i1], R[%r5], F[], I[], R[%r0, %r1, %r3, %r4, %r6], F[] -> %r1
 101  -live- %r1
 104  ref_return %r1
