   0  -live- %i0, %i1, %i2, %r0
   0  goto_if_not_int_eq %i1, $4, L1
   5  int_copy $2 -> %i1
   8  int_copy $True -> %i3
  11  L2:
  11  residual_call_ir_r $<* fn _operate>, I[%i0, %i1, %i2, $'\x00'], R[%r0, $<* struct rpy_string>], <CallDescr(iriiir) EF=7> -> %r0
  24  -live- %i0, %i3, %r0
  24  getfield_gc_r_pure %r0, FieldDescr<tuple3.item0> -> %r1
  29  getfield_gc_i_pure %r0, FieldDescr<tuple3.item1> -> %i2
  34  getfield_gc_i_pure %r0, FieldDescr<tuple3.item2> -> %i1
  39  -live- %i0, %i1, %i2, %i3, %r1
  39  goto_if_not %i3, L3
  43  int_and $0, $4294967295 -> %i2
  47  setfield_raw_i %i0, %i2, FieldDescr<z_stream.c_avail_in>
  52  int_signext $4, $4 -> %i2
  56  residual_call_ir_i $<* fn ccall_inflate__z_streamPtr_INT>, I[%i0, %i2], R[], <CallDescr(ii) EF=7> -> %i2
  65  -live- %i0, %i1, %i2, %r1
  65  -live- %i0, %i1, %i2, %r1
  65  goto_if_not_int_lt %i2, $0, L4
  70  inline_call_ir_r <JitCode 'fromstream'>, I[%i0, %i2], R[$<* struct rpy_string>] -> %r0
  79  -live- %r0
  79  -live- %r0
  79  guard_class %r0 -> %i1
  82  -live- %r0
  82  raise %r0
  84  ---
  84  L4:
  84  L5:
  84  int_eq %i2, $1 -> %i2
  88  new <rpython.jit.backend.llsupport.descr.SizeDescr object at 0x100925cbb90> -> %r0
  92  setfield_gc_r %r0, %r1, FieldDescr<tuple3.item0>
  97  setfield_gc_i %r0, %i2, FieldDescr<tuple3.item1>
 102  setfield_gc_i %r0, %i1, FieldDescr<tuple3.item2>
 107  ref_return %r0
 109  ---
 109  L3:
 109  goto L5
 112  ---
 112  L1:
 112  int_copy $False -> %i3
 115  goto L2
