   0  -live- %i0, %r0, %r1
   3  goto_if_not_ptr_iszero %r1, L1
   7  L2:
   7  -live- %r0
  10  guard_class %r0 -> %i1
  13  getfield_raw_i %i1, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray_vtable.cls_get_size> -> %i1
  18  -live- %i1, %r0
  21  switch %i1, <SwitchDictDescr 0:L3, 1:L4>
  25  unreachable
  26  ---
  26  L3:
  26  -live- %r0
  29  getfield_gc_r %r0, FieldDescr<pypy.module.micronumpy.flatiter.FakeArrayImplementation.inst__base> -> %r3
  34  inline_call_r_i <JitCode 'W_NDimArray.get_size'>, R[%r3] -> %i1
  40  L5:
  40  -live- %i1, %r0
  43  getfield_gc_r_pure %r0, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_shape> -> %r3
  48  getfield_gc_r_pure %r0, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_strides> -> %r2
  53  getfield_gc_r_pure %r0, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_backstrides> -> %r1
  58  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x0000aaab1b0e0368> -> %r4
  62  setfield_gc_i %r4, $True, FieldDescr<pypy.module.micronumpy.iterators.ArrayIter.inst_track_index>
  67  inline_call_ir_v <JitCode 'ArrayIter.__init__'>, I[%i1], R[%r4, %r0, %r3, %r2, %r1]
  78  L6:
  78  -live- %r4
  81  inline_call_ir_r <JitCode 'ArrayIter.reset'>, I[$False], R[%r4, $<* struct pypy.module.micronumpy.iterators.IterState>] -> %r3
  90  -live- %r3, %r4
  93  new <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x0000aaaaf219b8a0> -> %r0
  97  setfield_gc_r %r0, %r4, FieldDescr<tuple2.item0>
 102  setfield_gc_r %r0, %r3, FieldDescr<tuple2.item1>
 107  ref_return %r0
 109  ---
 109  L4:
 109  -live- %r0
 112  getfield_gc_i_pure %r0, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_size> -> %i1
 117  -live- %i1, %r0
 120  record_quasiimmut_field %r0, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype>, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.mutate_dtype>
 126  getfield_gc_r_pure %r0, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype> -> %r3
 131  -live- %i1, %r0, %r3
 134  record_quasiimmut_field %r3, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_elsize>, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.mutate_elsize>
 140  getfield_gc_i_pure %r3, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_elsize> -> %i0
 145  residual_call_ir_i $<* fn ll_int_py_div__Signed_Signed>, I[%i1, %i0], R[], <CallDescr(ii) EF=0 OS_INT_PY_DIV> -> %i1
 154  goto L5
 157  ---
 157  L1:
 157  inline_call_r_i <JitCode 'product'>, R[%r1] -> %i2
 163  -live- %i0, %i2, %r0, %r1
 166  guard_class %r0 -> %i1
 169  getfield_raw_i %i1, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray_vtable.cls_get_shape> -> %i1
 174  -live- %i0, %i1, %i2, %r0, %r1
 177  switch %i1, <SwitchDictDescr 0:L7, 1:L8>
 181  unreachable
 182  ---
 182  L7:
 182  -live- %i0, %i2, %r0, %r1
 185  getfield_gc_r_pure %r0, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_shape> -> %r3
 190  L9:
 190  inline_call_r_i <JitCode 'product'>, R[%r3] -> %i1
 196  -live- %i0, %i1, %i2, %r0, %r1
 199  goto_if_not_int_gt %i2, %i1, L10
 204  getfield_gc_r_pure %r0, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_strides> -> %r3
 209  arraylen_gc %r3, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x0000aaab06067e50> -> %i1
 214  -live- %i0, %i1, %r0, %r1, %r3
 217  int_guard_value %i1
 219  getfield_gc_r_pure %r0, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_backstrides> -> %r2
 224  arraylen_gc %r2, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x0000aaab06067e50> -> %i1
 229  -live- %i0, %i1, %r0, %r1, %r2, %r3
 232  int_guard_value %i1
 234  -live- %i0, %r0, %r1, %r2, %r3
 237  guard_class %r0 -> %i1
 240  getfield_raw_i %i1, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray_vtable.cls_get_shape> -> %i1
 245  -live- %i0, %i1, %r0, %r1, %r2, %r3
 248  switch %i1, <SwitchDictDescr 0:L11, 1:L12>
 252  unreachable
 253  ---
 253  L11:
 253  -live- %i0, %r0, %r1, %r2, %r3
 256  getfield_gc_r_pure %r0, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_shape> -> %r4
 261  L13:
 261  residual_call_ir_r $<* fn calculate_broadcast_strides>, I[%i0], R[%r3, %r2, %r4, %r1], <CallDescr(rrrri) EF=5> -> %r2
 273  -live- %r0, %r1, %r2
 276  inline_call_r_i <JitCode 'product'>, R[%r1] -> %i1
 282  -live- %i1, %r0, %r1, %r2
 285  getfield_gc_r_pure %r2, FieldDescr<tuple2.item0> -> %r3
 290  getfield_gc_r_pure %r2, FieldDescr<tuple2.item1> -> %r2
 295  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x0000aaab1b0e0368> -> %r4
 299  setfield_gc_i %r4, $True, FieldDescr<pypy.module.micronumpy.iterators.ArrayIter.inst_track_index>
 304  inline_call_ir_v <JitCode 'ArrayIter.__init__'>, I[%i1], R[%r4, %r0, %r1, %r3, %r2]
 315  -live- %r4
 318  goto L6
 321  ---
 321  L12:
 321  -live- %i0, %r0, %r1, %r2, %r3
 324  getfield_gc_r_pure %r0, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_shape> -> %r4
 329  arraylen_gc %r4, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x0000aaab06067e50> -> %i1
 334  -live- %i0, %i1, %r0, %r1, %r2, %r3, %r4
 337  int_guard_value %i1
 339  goto L13
 342  ---
 342  L10:
 342  goto L2
 345  ---
 345  L8:
 345  -live- %i0, %i2, %r0, %r1
 348  getfield_gc_r_pure %r0, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_shape> -> %r3
 353  arraylen_gc %r3, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x0000aaab06067e50> -> %i1
 358  -live- %i0, %i1, %i2, %r0, %r1, %r3
 361  int_guard_value %i1
 363  goto L9
