   0  -live- %i0, %r0, %r1
   0  goto_if_not_ptr_iszero %r1, L1
   4  L2:
   4  -live- %r0
   4  guard_class %r0 -> %i1
   7  getfield_raw_i %i1, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray_vtable.cls_get_size> -> %i1
  12  -live- %i1, %r0
  12  switch %i1, <SwitchDictDescr 0:L3, 1:L4>
  16  unreachable
  17  ---
  17  L3:
  17  -live- %r0
  17  getfield_gc_r %r0, FieldDescr<pypy.module.micronumpy.flatiter.FakeArrayImplementation.inst__base> -> %r3
  22  inline_call_r_i <JitCode 'W_NDimArray.get_size'>, R[%r3] -> %i1
  28  -live- %i1, %r0
  28  L5:
  28  getfield_gc_r_pure %r0, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_shape> -> %r3
  33  getfield_gc_r_pure %r0, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_strides> -> %r2
  38  getfield_gc_r_pure %r0, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_backstrides> -> %r1
  43  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x00000001b75aed78> -> %r4
  47  setfield_gc_i %r4, $True, FieldDescr<pypy.module.micronumpy.iterators.ArrayIter.inst_track_index>
  52  inline_call_ir_v <JitCode 'ArrayIter.__init__'>, I[%i1], R[%r4, %r0, %r3, %r2, %r1]
  63  -live- %r4
  63  L6:
  63  inline_call_ir_r <JitCode 'ArrayIter.reset'>, I[$False], R[%r4, $<* struct pypy.module.micronumpy.iterators.IterState>] -> %r3
  72  -live- %r3, %r4
  72  new <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x000000018bf58db0> -> %r0
  76  setfield_gc_r %r0, %r4, FieldDescr<tuple2.item0>
  81  setfield_gc_r %r0, %r3, FieldDescr<tuple2.item1>
  86  ref_return %r0
  88  ---
  88  L4:
  88  -live- %r0
  88  getfield_gc_i_pure %r0, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_size> -> %i1
  93  -live- %i1, %r0
  93  record_quasiimmut_field %r0, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype>, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.mutate_dtype>
  99  getfield_gc_r_pure %r0, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype> -> %r3
 104  -live- %i1, %r0, %r3
 104  record_quasiimmut_field %r3, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_elsize>, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.mutate_elsize>
 110  getfield_gc_i_pure %r3, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_elsize> -> %i0
 115  residual_call_ir_i $<* fn ll_int_py_div__Signed_Signed>, I[%i1, %i0], R[], <CallDescr(ii) EF=0 OS_INT_PY_DIV> -> %i1
 124  goto L5
 127  ---
 127  L1:
 127  inline_call_r_i <JitCode 'product'>, R[%r1] -> %i2
 133  -live- %i0, %i2, %r0, %r1
 133  -live- %i0, %i2, %r0, %r1
 133  guard_class %r0 -> %i1
 136  getfield_raw_i %i1, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray_vtable.cls_get_shape> -> %i1
 141  -live- %i0, %i1, %i2, %r0, %r1
 141  switch %i1, <SwitchDictDescr 0:L7, 1:L8>
 145  unreachable
 146  ---
 146  L7:
 146  -live- %i0, %i2, %r0, %r1
 146  getfield_gc_r_pure %r0, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_shape> -> %r3
 151  L9:
 151  inline_call_r_i <JitCode 'product'>, R[%r3] -> %i1
 157  -live- %i0, %i1, %i2, %r0, %r1
 157  -live- %i0, %i1, %i2, %r0, %r1
 157  goto_if_not_int_gt %i2, %i1, L10
 162  getfield_gc_r_pure %r0, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_strides> -> %r3
 167  arraylen_gc %r3, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x000000018f74afe0> -> %i1
 172  -live- %i0, %i1, %r0, %r1, %r3
 172  int_guard_value %i1
 174  getfield_gc_r_pure %r0, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_backstrides> -> %r2
 179  arraylen_gc %r2, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x000000018f74afe0> -> %i1
 184  -live- %i0, %i1, %r0, %r1, %r2, %r3
 184  int_guard_value %i1
 186  -live- %i0, %r0, %r1, %r2, %r3
 186  guard_class %r0 -> %i1
 189  getfield_raw_i %i1, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray_vtable.cls_get_shape> -> %i1
 194  -live- %i0, %i1, %r0, %r1, %r2, %r3
 194  switch %i1, <SwitchDictDescr 0:L11, 1:L12>
 198  unreachable
 199  ---
 199  L11:
 199  -live- %i0, %r0, %r1, %r2, %r3
 199  getfield_gc_r_pure %r0, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_shape> -> %r4
 204  L13:
 204  residual_call_ir_r $<* fn calculate_broadcast_strides>, I[%i0], R[%r3, %r2, %r4, %r1], <CallDescr(rrrri) EF=5> -> %r2
 216  -live- %r0, %r1, %r2
 216  inline_call_r_i <JitCode 'product'>, R[%r1] -> %i1
 222  -live- %i1, %r0, %r1, %r2
 222  getfield_gc_r_pure %r2, FieldDescr<tuple2.item0> -> %r3
 227  getfield_gc_r_pure %r2, FieldDescr<tuple2.item1> -> %r2
 232  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x00000001b75aed78> -> %r4
 236  setfield_gc_i %r4, $True, FieldDescr<pypy.module.micronumpy.iterators.ArrayIter.inst_track_index>
 241  inline_call_ir_v <JitCode 'ArrayIter.__init__'>, I[%i1], R[%r4, %r0, %r1, %r3, %r2]
 252  -live- %r4
 252  goto L6
 255  ---
 255  L12:
 255  -live- %i0, %r0, %r1, %r2, %r3
 255  getfield_gc_r_pure %r0, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_shape> -> %r4
 260  arraylen_gc %r4, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x000000018f74afe0> -> %i1
 265  -live- %i0, %i1, %r0, %r1, %r2, %r3, %r4
 265  int_guard_value %i1
 267  goto L13
 270  ---
 270  L10:
 270  goto L2
 273  ---
 273  L8:
 273  -live- %i0, %i2, %r0, %r1
 273  getfield_gc_r_pure %r0, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_shape> -> %r3
 278  arraylen_gc %r3, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x000000018f74afe0> -> %i1
 283  -live- %i0, %i1, %i2, %r0, %r1, %r3
 283  int_guard_value %i1
 285  goto L9
