   0  arraylen_gc %r2, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x1009280d710> -> %i0
   5  arraylen_gc %r4, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x1009f2142d0> -> %i1
  10  getfield_gc_r %r0, FieldDescr<pypy.module.micronumpy.base.W_NDimArray.inst_implementation> -> %r5
  15  -live- %i0, %i1, %r0, %r1, %r2, %r3, %r4, %r5
  15  record_quasiimmut_field %r5, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype>, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.mutate_dtype>
  21  getfield_gc_r_pure %r5, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype> -> %r5
  26  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x100a334e890> -> %r6
  30  residual_call_r_v $<* fn PureShapeIter.__init__>, R[%r6, %r2, %r3], <CallDescr(rrr) EF=5>
  38  -live- %i0, %i1, %r0, %r1, %r3, %r4, %r5, %r6
  38  arraylen_gc %r3, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x1009f2142d0> -> %i2
  43  getfield_gc_i %r6, FieldDescr<pypy.module.micronumpy.iterators.PureShapeIter.inst__done> -> %i3
  48  -live- %i0, %i1, %i2, %i3, %r0, %r1, %r3, %r4, %r5, %r6
  48  goto_if_not %i3, L1
  52  ref_return %r1
  54  ---
  54  L1:
  54  -live- %i0, %i1, %i2, %r0, %r1, %r3, %r4, %r5, %r6
  54  int_guard_value %i0
  56  -live- %i0, %i1, %i2, %r0, %r1, %r3, %r4, %r5, %r6
  56  int_guard_value %i2
  58  -live- %i0, %i1, %i2, %r0, %r1, %r3, %r4, %r5, %r6
  58  int_guard_value %i1
  60  -live- %i0, %i1, %i2, %r0, %r1, %r3, %r4, %r5, %r6
  60  ref_guard_value %r5
  62  recursive_call_r $73, I[%i0, %i2, %i1], R[%r5], F[], I[], R[%r0, %r6, %r1, %r4, %r3], F[] -> %r1
  80  -live- %r1
  80  ref_return %r1
