   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 0x43a05710> -> %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  -live- %r3
  93  raise %r3
  95  ---
  95  L1:
  95  inline_call_r_i <JitCode 'W_Root.is_w'>, R[$<* struct pypy.interpreter.baseobjspace.W_Root>, %r2] -> %i0
 102  -live- %i0, %r0, %r1, %r2
 102  -live- %i0, %r0, %r1, %r2
 102  goto_if_not %i0, L10
 106  goto L2
 109  ---
 109  L10:
 109  -live- %r0, %r1, %r2
 109  goto_if_not_ptr_iszero %r1, L11
 113  L12:
 113  new_with_vtable <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x43a05710> -> %r3
 117  setfield_gc_r %r3, $<* struct rpy_string>, FieldDescr<pypy.interpreter.error.OpErrFmtNoArgs.inst__value>
 122  setfield_gc_r %r3, $<* struct pypy.interpreter.baseobjspace.W_Root>, FieldDescr<pypy.interpreter.error.OperationError.inst_w_type>
 127  -live- %r3
 127  raise %r3
 129  ---
 129  L11:
 129  inline_call_r_i <JitCode 'W_Root.is_w'>, R[$<* struct pypy.interpreter.baseobjspace.W_Root>, %r1] -> %i0
 136  -live- %i0, %r0, %r1, %r2
 136  -live- %i0, %r0, %r1, %r2
 136  goto_if_not %i0, L13
 140  goto L12
 143  ---
 143  L13:
 143  -live- %r0, %r1, %r2
 143  goto_if_not_ptr_nonzero %r0, L14
 147  ref_copy %r0 -> %r3
 150  -live- %r0, %r1, %r2, %r3
 150  guard_class %r3 -> %i0
 153  getfield_raw_i %i0, FieldDescr<object_vtable.subclassrange_min> -> %i0
 158  int_between $TotalOrderSymbolic('compute_fn'), %i0, $TotalOrderSymbolic('compute_fn') -> %i0
 163  -live- %i0, %r0, %r1, %r2
 163  goto_if_not %i0, L15
 167  L16:
 167  -live- %r0, %r1, %r2
 167  goto_if_not_ptr_nonzero %r1, L17
 171  ref_copy %r1 -> %r3
 174  -live- %r0, %r1, %r2, %r3
 174  guard_class %r3 -> %i0
 177  getfield_raw_i %i0, FieldDescr<object_vtable.subclassrange_min> -> %i0
 182  int_between $TotalOrderSymbolic('compute_fn'), %i0, $TotalOrderSymbolic('compute_fn') -> %i0
 187  -live- %i0, %r0, %r1, %r2
 187  goto_if_not %i0, L18
 191  L19:
 191  -live- %r0, %r1, %r2
 191  goto_if_not_ptr_nonzero %r2, L20
 195  ref_copy %r2 -> %r3
 198  -live- %r0, %r1, %r2, %r3
 198  guard_class %r3 -> %i0
 201  getfield_raw_i %i0, FieldDescr<object_vtable.subclassrange_min> -> %i0
 206  int_between $TotalOrderSymbolic('compute_fn'), %i0, $TotalOrderSymbolic('compute_fn') -> %i0
 211  -live- %i0, %r0, %r1, %r2
 211  goto_if_not %i0, L21
 215  L22:
 215  getfield_gc_r %r1, FieldDescr<pypy.module.micronumpy.base.W_NDimArray.inst_implementation> -> %r3
 220  -live- %r0, %r1, %r2, %r3
 220  guard_class %r3 -> %i0
 223  getfield_raw_i %i0, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray_vtable.cls_get_shape> -> %i0
 228  -live- %i0, %r0, %r1, %r2, %r3
 228  switch %i0, <SwitchDictDescr 0:L23, 1:L24>
 232  unreachable
 233  ---
 233  L23:
 233  -live- %r0, %r1, %r2, %r3
 233  getfield_gc_r_pure %r3, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_shape> -> %r3
 238  L25:
 238  arraylen_gc %r3, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x44878f90> -> %i0
 243  -live- %i0, %r0, %r1, %r2
 243  goto_if_not_int_is_zero %i0, L26
 247  getfield_gc_r %r2, FieldDescr<pypy.module.micronumpy.base.W_NDimArray.inst_implementation> -> %r3
 252  -live- %r0, %r1, %r2, %r3
 252  guard_class %r3 -> %i0
 255  getfield_raw_i %i0, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray_vtable.cls_get_shape> -> %i0
 260  -live- %i0, %r0, %r1, %r2, %r3
 260  switch %i0, <SwitchDictDescr 0:L27, 1:L28>
 264  unreachable
 265  ---
 265  L27:
 265  -live- %r0, %r1, %r2, %r3
 265  getfield_gc_r_pure %r3, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_shape> -> %r3
 270  L29:
 270  arraylen_gc %r3, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x44878f90> -> %i0
 275  -live- %i0, %r0, %r1, %r2
 275  goto_if_not_int_is_zero %i0, L30
 279  getfield_gc_r %r0, FieldDescr<pypy.module.micronumpy.base.W_NDimArray.inst_implementation> -> %r3
 284  -live- %r0, %r1, %r2, %r3
 284  guard_class %r3 -> %i0
 287  getfield_raw_i %i0, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray_vtable.cls_get_shape> -> %i0
 292  -live- %i0, %r0, %r1, %r2, %r3
 292  switch %i0, <SwitchDictDescr 0:L31, 1:L32>
 296  unreachable
 297  ---
 297  L31:
 297  -live- %r0, %r1, %r2, %r3
 297  getfield_gc_r_pure %r3, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_shape> -> %r3
 302  L33:
 302  arraylen_gc %r3, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x44878f90> -> %i0
 307  -live- %i0, %r0, %r1, %r2
 307  goto_if_not_int_is_zero %i0, L34
 311  getfield_gc_r %r0, FieldDescr<pypy.module.micronumpy.base.W_NDimArray.inst_implementation> -> %r3
 316  -live- %r0, %r1, %r2, %r3
 316  record_quasiimmut_field %r3, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype>, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.mutate_dtype>
 322  getfield_gc_r_pure %r3, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_dtype> -> %r3
 327  -live- %r0, %r1, %r2, %r3
 327  record_quasiimmut_field %r3, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype>, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.mutate_itemtype>
 333  getfield_gc_r_pure %r3, FieldDescr<pypy.module.micronumpy.descriptor.W_Dtype.inst_itemtype> -> %r3
 338  inline_call_r_r <JitCode 'W_NDimArray.get_scalar_value'>, R[%r0] -> %r0
 344  -live- %r0, %r1, %r2, %r3
 344  -live- %r0, %r1, %r2, %r3
 344  guard_class %r3 -> %i0
 347  getfield_raw_i %i0, FieldDescr<pypy.module.micronumpy.types.BaseType_vtable.cls_bool> -> %i0
 352  -live- %i0, %r0, %r1, %r2, %r3
 352  int_guard_value %i0
 354  residual_call_r_i %i0, <IndirectCallTargets>, R[%r3, %r0], <CallDescr(rr) EF=7> -> %i0
 362  -live- %i0, %r1, %r2
 362  -live- %i0, %r1, %r2
 362  goto_if_not %i0, L35
 366  ref_copy %r1 -> %r2
 369  ref_return %r2
 371  ---
 371  L35:
 371  ref_return %r2
 373  ---
 373  L34:
 373  L36:
 373  newlist $2, <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x4b924410>, FieldDescr<list.length>, FieldDescr<list.items>, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x4920fcf0> -> %r4
 384  setlistitem_gc_r %r4, $0, %r1, FieldDescr<list.items>, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x4920fcf0>
 392  setlistitem_gc_r %r4, $1, %r2, FieldDescr<list.items>, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x4920fcf0>
 400  new_array_clear $0, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x4920fcf0> -> %r3
 405  inline_call_r_i <JitCode '<lambda>__v10___simple_call__function__l'>, R[%r4, %r3] -> %i0
 412  -live- %i0, %r0, %r1, %r2, %r3, %r4
 412  -live- %i0, %r0, %r1, %r2, %r3, %r4
 412  goto_if_not %i0, L37
 416  inline_call_r_r <JitCode 'find_result_type__v15___simple_call__function_fi'>, R[%r4, %r3] -> %r4
 423  -live- %r0, %r1, %r2, %r4
 423  L38:
 423  getfield_gc_r %r0, FieldDescr<pypy.module.micronumpy.base.W_NDimArray.inst_implementation> -> %r3
 428  -live- %r0, %r1, %r2, %r3, %r4
 428  guard_class %r3 -> %i0
 431  getfield_raw_i %i0, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray_vtable.cls_get_shape> -> %i0
 436  -live- %i0, %r0, %r1, %r2, %r3, %r4
 436  switch %i0, <SwitchDictDescr 0:L39, 1:L40>
 440  unreachable
 441  ---
 441  L39:
 441  -live- %r0, %r1, %r2, %r3, %r4
 441  getfield_gc_r_pure %r3, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_shape> -> %r3
 446  L41:
 446  inline_call_ir_r <JitCode 'shape_agreement'>, I[$True], R[%r3, %r1] -> %r3
 455  -live- %r0, %r1, %r2, %r3, %r4
 455  inline_call_ir_r <JitCode 'shape_agreement'>, I[$True], R[%r3, %r2] -> %r3
 464  -live- %r0, %r1, %r2, %r3, %r4
 464  inline_call_ir_r <JitCode 'from_shape'>, I[$0, $True], R[%r3, %r4, $<* struct pypy.module.micronumpy.base.W_NDimArray>] -> %r5
 475  -live- %r0, %r1, %r2, %r3, %r4, %r5
 475  inline_call_r_r <JitCode 'where'>, R[%r5, %r3, %r0, %r1, %r2, %r4] -> %r2
 486  -live- %r2
 486  ref_return %r2
 488  ---
 488  L40:
 488  -live- %r0, %r1, %r2, %r3, %r4
 488  getfield_gc_r_pure %r3, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_shape> -> %r3
 493  arraylen_gc %r3, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x44878f90> -> %i0
 498  -live- %i0, %r0, %r1, %r2, %r3, %r4
 498  int_guard_value %i0
 500  goto L41
 503  ---
 503  L37:
 503  residual_call_r_r $<* fn find_result_type_trampoline__v16___simple_call__function_fi>, R[%r4, %r3], <CallDescr(rr) EF=7> -> %r4
 511  -live- %r0, %r1, %r2, %r4
 511  goto L38
 514  ---
 514  L32:
 514  -live- %r0, %r1, %r2, %r3
 514  getfield_gc_r_pure %r3, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_shape> -> %r3
 519  arraylen_gc %r3, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x44878f90> -> %i0
 524  -live- %i0, %r0, %r1, %r2, %r3
 524  int_guard_value %i0
 526  goto L33
 529  ---
 529  L30:
 529  goto L36
 532  ---
 532  L28:
 532  -live- %r0, %r1, %r2, %r3
 532  getfield_gc_r_pure %r3, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_shape> -> %r3
 537  arraylen_gc %r3, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x44878f90> -> %i0
 542  -live- %i0, %r0, %r1, %r2, %r3
 542  int_guard_value %i0
 544  goto L29
 547  ---
 547  L26:
 547  goto L36
 550  ---
 550  L24:
 550  -live- %r0, %r1, %r2, %r3
 550  getfield_gc_r_pure %r3, FieldDescr<pypy.module.micronumpy.concrete.BaseConcreteArray.inst_shape> -> %r3
 555  arraylen_gc %r3, <rpython.jit.backend.llsupport.descr.ArrayDescr object at 0x44878f90> -> %i0
 560  -live- %i0, %r0, %r1, %r2, %r3
 560  int_guard_value %i0
 562  goto L25
 565  ---
 565  L21:
 565  L42:
 565  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
 577  -live- %r0, %r1, %r2
 577  goto L22
 580  ---
 580  L20:
 580  goto L42
 583  ---
 583  L18:
 583  L43:
 583  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
 595  -live- %r0, %r1, %r2
 595  goto L19
 598  ---
 598  L17:
 598  goto L43
 601  ---
 601  L15:
 601  L44:
 601  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
 613  -live- %r0, %r1, %r2
 613  goto L16
 616  ---
 616  L14:
 616  goto L44
