   0  -live- %r0, %r1, %r2
   0  goto_if_not_ptr_iszero %r2, L1
   4  L2:
   4  -live- %r0, %r1
   4  goto_if_not_ptr_iszero %r1, L3
   8  L4:
   8  -live- %r0
   8  goto_if_not_ptr_nonzero %r0, L5
  12  ref_copy %r0 -> %r3
  15  -live- %r0, %r3
  15  guard_class %r3 -> %i0
  18  getfield_raw_i %i0, FieldDescr<object_vtable.subclassrange_min> -> %i0
  23  int_between $TotalOrderSymbolic('compute_fn'), %i0, $TotalOrderSymbolic('compute_fn') -> %i0
  28  -live- %i0, %r0
  28  goto_if_not %i0, L6
  32  L7:
  32  getfield_gc_r %r0, FieldDescr<pypy.module.micronumpy.base.W_NDimArray.inst_implementation> -> %r3
  37  residual_call_r_r $<* fn BaseConcreteArray.nonzero>, R[%r3, $<* struct pypy.module.micronumpy.descriptor.W_Dtype>], <CallDescr(rr) EF=7> -> %r2
  45  -live- %r2
  45  ref_return %r2
  47  ---
  47  L6:
  47  L8:
  47  inline_call_ir_r <JitCode 'array'>, I[$True, $False, $0], R[%r0, $<* struct pypy.interpreter.baseobjspace.W_Root>, $<* struct pypy.interpreter.baseobjspace.W_Root>] -> %r0
  59  -live- %r0
  59  goto L7
  62  ---
  62  L5:
  62  goto L8
  65  ---
  65  L3:
  65  inline_call_r_i <JitCode 'W_Root.is_w'>, R[$<* struct pypy.interpreter.baseobjspace.W_Root>, %r1] -> %i0
  72  -live- %i0, %r0
  72  -live- %i0, %r0
  72  goto_if_not %i0, L9
  76  goto L4
  79  ---
  79  L9:
  79  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x000002aabbb1b8a0> -> %r3
  83  setfield_gc_r %r3, $<* struct rpy_string>, FieldDescr<pypy.interpreter.error.OpErrFmtNoArgs.inst__value>
  88  setfield_gc_r %r3, $<* struct pypy.interpreter.baseobjspace.W_Root>, FieldDescr<pypy.interpreter.error.OperationError.inst_w_type>
  93  assert_not_none %r3
  95  -live- %r3
  95  guard_class %r3 -> %i0
  98  -live- %r3
  98  raise %r3
 100  ---
 100  L1:
 100  inline_call_r_i <JitCode 'W_Root.is_w'>, R[$<* struct pypy.interpreter.baseobjspace.W_Root>, %r2] -> %i0
 107  -live- %i0, %r0, %r1, %r2
 107  -live- %i0, %r0, %r1, %r2
 107  goto_if_not %i0, L10
 111  goto L2
 114  ---
 114  L10:
 114  -live- %r0, %r1, %r2
 114  goto_if_not_ptr_iszero %r1, L11
 118  L12:
 118  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x000002aabbb1b8a0> -> %r3
 122  setfield_gc_r %r3, $<* struct rpy_string>, FieldDescr<pypy.interpreter.error.OpErrFmtNoArgs.inst__value>
 127  setfield_gc_r %r3, $<* struct pypy.interpreter.baseobjspace.W_Root>, FieldDescr<pypy.interpreter.error.OperationError.inst_w_type>
 132  assert_not_none %r3
 134  -live- %r3
 134  guard_class %r3 -> %i0
 137  -live- %r3
 137  raise %r3
 139  ---
 139  L11:
 139  inline_call_r_i <JitCode 'W_Root.is_w'>, R[$<* struct pypy.interpreter.baseobjspace.W_Root>, %r1] -> %i0
 146  -live- %i0, %r0, %r1, %r2
 146  -live- %i0, %r0, %r1, %r2
 146  goto_if_not %i0, L13
 150  goto L12
 153  ---
 153  L13:
 153  -live- %r0, %r1, %r2
 153  goto_if_not_ptr_nonzero %r0, L14
 157  ref_copy %r0 -> %r3
 160  -live- %r0, %r1, %r2, %r3
 160  guard_class %r3 -> %i0
 163  getfield_raw_i %i0, FieldDescr<object_vtable.subclassrange_min> -> %i0
 168  int_between $TotalOrderSymbolic('compute_fn'), %i0, $TotalOrderSymbolic('compute_fn') -> %i0
 173  -live- %i0, %r0, %r1, %r2
 173  goto_if_not %i0, L15
 177  L16:
 177  -live- %r0, %r1, %r2
 177  goto_if_not_ptr_nonzero %r1, L17
 181  ref_copy %r1 -> %r3
 184  -live- %r0, %r1, %r2, %r3
 184  guard_class %r3 -> %i0
 187  getfield_raw_i %i0, FieldDescr<object_vtable.subclassrange_min> -> %i0
 192  int_between $TotalOrderSymbolic('compute_fn'), %i0, $TotalOrderSymbolic('compute_fn') -> %i0
 197  -live- %i0, %r0, %r1, %r2
 197  goto_if_not %i0, L18
 201  L19:
 201  -live- %r0, %r1, %r2
 201  goto_if_not_ptr_nonzero %r2, L20
 205  ref_copy %r2 -> %r3
 208  -live- %r0, %r1, %r2, %r3
 208  guard_class %r3 -> %i0
 211  getfield_raw_i %i0, FieldDescr<object_vtable.subclassrange_min> -> %i0
 216  int_between $TotalOrderSymbolic('compute_fn'), %i0, $TotalOrderSymbolic('compute_fn') -> %i0
 221  -live- %i0, %r0, %r1, %r2
 221  goto_if_not %i0, L21
 225  L22:
 225  getfield_gc_r %r1, FieldDescr<pypy.module.micronumpy.base.W_NDimArray.inst_implementation> -> %r3
 230  -live- %r0, %r1, %r2, %r3
 230  guard_class %r3 -> %i0
 233  getfield_raw_i %i0, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray_vtable.cls_get_shape> -> %i0
 238  -live- %i0, %r0, %r1, %r2, %r3
 238  switch %i0, <SwitchDictDescr 0:L23, 1:L24>
 242  unreachable
 243  ---
 243  L23:
 243  -live- %r0, %r1, %r2, %r3
 243  getfield_gc_r_pure %r3, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_shape> -> %r3
 248  L25:
 248  arraylen_gc %r3, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x000002aaada36288> -> %i0
 253  -live- %i0, %r0, %r1, %r2
 253  goto_if_not_int_is_zero %i0, L26
 257  getfield_gc_r %r2, FieldDescr<pypy.module.micronumpy.base.W_NDimArray.inst_implementation> -> %r3
 262  -live- %r0, %r1, %r2, %r3
 262  guard_class %r3 -> %i0
 265  getfield_raw_i %i0, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray_vtable.cls_get_shape> -> %i0
 270  -live- %i0, %r0, %r1, %r2, %r3
 270  switch %i0, <SwitchDictDescr 0:L27, 1:L28>
 274  unreachable
 275  ---
 275  L27:
 275  -live- %r0, %r1, %r2, %r3
 275  getfield_gc_r_pure %r3, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_shape> -> %r3
 280  L29:
 280  arraylen_gc %r3, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x000002aaada36288> -> %i0
 285  -live- %i0, %r0, %r1, %r2
 285  goto_if_not_int_is_zero %i0, L30
 289  getfield_gc_r %r0, FieldDescr<pypy.module.micronumpy.base.W_NDimArray.inst_implementation> -> %r3
 294  -live- %r0, %r1, %r2, %r3
 294  guard_class %r3 -> %i0
 297  getfield_raw_i %i0, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray_vtable.cls_get_shape> -> %i0
 302  -live- %i0, %r0, %r1, %r2, %r3
 302  switch %i0, <SwitchDictDescr 0:L31, 1:L32>
 306  unreachable
 307  ---
 307  L31:
 307  -live- %r0, %r1, %r2, %r3
 307  getfield_gc_r_pure %r3, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_shape> -> %r3
 312  L33:
 312  arraylen_gc %r3, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x000002aaada36288> -> %i0
 317  -live- %i0, %r0, %r1, %r2
 317  goto_if_not_int_is_zero %i0, L34
 321  getfield_gc_r %r0, FieldDescr<pypy.module.micronumpy.base.W_NDimArray.inst_implementation> -> %r3
 326  -live- %r0, %r1, %r2, %r3
 326  record_quasiimmut_field %r3, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype>, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.mutate_dtype>
 332  getfield_gc_r_pure %r3, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype> -> %r3
 337  -live- %r0, %r1, %r2, %r3
 337  record_quasiimmut_field %r3, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype>, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.mutate_itemtype>
 343  getfield_gc_r_pure %r3, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype> -> %r3
 348  inline_call_r_r <JitCode 'W_NDimArray.get_scalar_value'>, R[%r0] -> %r0
 354  -live- %r0, %r1, %r2, %r3
 354  -live- %r0, %r1, %r2, %r3
 354  guard_class %r3 -> %i0
 357  getfield_raw_i %i0, FieldDescr<pypy.module.micronumpy.types.BaseType_vtable.cls_bool> -> %i0
 362  -live- %i0, %r0, %r1, %r2, %r3
 362  int_guard_value %i0
 364  residual_call_r_i %i0, <IndirectCallTargets>, R[%r3, %r0], <CallDescr(rr) EF=7> -> %i0
 372  -live- %i0, %r1, %r2
 372  -live- %i0, %r1, %r2
 372  goto_if_not %i0, L35
 376  ref_copy %r1 -> %r2
 379  ref_return %r2
 381  ---
 381  L35:
 381  ref_return %r2
 383  ---
 383  L34:
 383  L36:
 383  newlist $2, <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x000002aac51fb168>, FieldDescr<list.length>, FieldDescr<list.items>, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x000002aac88c19f0> -> %r4
 394  setlistitem_gc_r %r4, $0, %r1, FieldDescr<list.items>, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x000002aac88c19f0>
 402  setlistitem_gc_r %r4, $1, %r2, FieldDescr<list.items>, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x000002aac88c19f0>
 410  new_array_clear $0, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x000002aac88c19f0> -> %r3
 415  inline_call_r_i <JitCode '<lambda>__v333___simple_call__function__'>, R[%r4, %r3] -> %i0
 422  -live- %i0, %r0, %r1, %r2, %r3, %r4
 422  -live- %i0, %r0, %r1, %r2, %r3, %r4
 422  goto_if_not %i0, L37
 426  inline_call_r_r <JitCode 'find_result_type__v336___simple_call__function_f'>, R[%r4, %r3] -> %r4
 433  -live- %r0, %r1, %r2, %r4
 433  L38:
 433  getfield_gc_r %r0, FieldDescr<pypy.module.micronumpy.base.W_NDimArray.inst_implementation> -> %r3
 438  -live- %r0, %r1, %r2, %r3, %r4
 438  guard_class %r3 -> %i0
 441  getfield_raw_i %i0, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray_vtable.cls_get_shape> -> %i0
 446  -live- %i0, %r0, %r1, %r2, %r3, %r4
 446  switch %i0, <SwitchDictDescr 0:L39, 1:L40>
 450  unreachable
 451  ---
 451  L39:
 451  -live- %r0, %r1, %r2, %r3, %r4
 451  getfield_gc_r_pure %r3, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_shape> -> %r3
 456  L41:
 456  inline_call_ir_r <JitCode 'shape_agreement'>, I[$True], R[%r3, %r1] -> %r3
 465  -live- %r0, %r1, %r2, %r3, %r4
 465  inline_call_ir_r <JitCode 'shape_agreement'>, I[$True], R[%r3, %r2] -> %r3
 474  -live- %r0, %r1, %r2, %r3, %r4
 474  inline_call_ir_r <JitCode 'from_shape'>, I[$0, $True], R[%r3, %r4, $<* struct pypy.module.micronumpy.base.W_NDimArray>] -> %r5
 485  -live- %r0, %r1, %r2, %r3, %r4, %r5
 485  inline_call_r_r <JitCode 'where'>, R[%r5, %r3, %r0, %r1, %r2, %r4] -> %r2
 496  -live- %r2
 496  ref_return %r2
 498  ---
 498  L40:
 498  -live- %r0, %r1, %r2, %r3, %r4
 498  getfield_gc_r_pure %r3, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_shape> -> %r3
 503  arraylen_gc %r3, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x000002aaada36288> -> %i0
 508  -live- %i0, %r0, %r1, %r2, %r3, %r4
 508  int_guard_value %i0
 510  goto L41
 513  ---
 513  L37:
 513  residual_call_r_r $<* fn find_result_type_trampoline__v409___simple_call__function_f>, R[%r4, %r3], <CallDescr(rr) EF=7> -> %r4
 521  -live- %r0, %r1, %r2, %r4
 521  goto L38
 524  ---
 524  L32:
 524  -live- %r0, %r1, %r2, %r3
 524  getfield_gc_r_pure %r3, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_shape> -> %r3
 529  arraylen_gc %r3, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x000002aaada36288> -> %i0
 534  -live- %i0, %r0, %r1, %r2, %r3
 534  int_guard_value %i0
 536  goto L33
 539  ---
 539  L30:
 539  goto L36
 542  ---
 542  L28:
 542  -live- %r0, %r1, %r2, %r3
 542  getfield_gc_r_pure %r3, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_shape> -> %r3
 547  arraylen_gc %r3, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x000002aaada36288> -> %i0
 552  -live- %i0, %r0, %r1, %r2, %r3
 552  int_guard_value %i0
 554  goto L29
 557  ---
 557  L26:
 557  goto L36
 560  ---
 560  L24:
 560  -live- %r0, %r1, %r2, %r3
 560  getfield_gc_r_pure %r3, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_shape> -> %r3
 565  arraylen_gc %r3, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x000002aaada36288> -> %i0
 570  -live- %i0, %r0, %r1, %r2, %r3
 570  int_guard_value %i0
 572  goto L25
 575  ---
 575  L21:
 575  L42:
 575  inline_call_ir_r <JitCode 'array'>, I[$True, $False, $0], R[%r2, $<* struct pypy.interpreter.baseobjspace.W_Root>, $<* struct pypy.interpreter.baseobjspace.W_Root>] -> %r2
 587  -live- %r0, %r1, %r2
 587  goto L22
 590  ---
 590  L20:
 590  goto L42
 593  ---
 593  L18:
 593  L43:
 593  inline_call_ir_r <JitCode 'array'>, I[$True, $False, $0], R[%r1, $<* struct pypy.interpreter.baseobjspace.W_Root>, $<* struct pypy.interpreter.baseobjspace.W_Root>] -> %r1
 605  -live- %r0, %r1, %r2
 605  goto L19
 608  ---
 608  L17:
 608  goto L43
 611  ---
 611  L15:
 611  L44:
 611  inline_call_ir_r <JitCode 'array'>, I[$True, $False, $0], R[%r0, $<* struct pypy.interpreter.baseobjspace.W_Root>, $<* struct pypy.interpreter.baseobjspace.W_Root>] -> %r0
 623  -live- %r0, %r1, %r2
 623  goto L16
 626  ---
 626  L14:
 626  goto L44
