anchor.diff:  	    {#iprotect{anno=#a{anno=Anno},body=Eps++[E]},[],Bools0,St}
       end;
   gexpr({op,_,'andalso',_,_}=E0, Bools, St0) ->
  -    {op,L,'andalso',E1,E2} = right_assoc(E0, 'andalso', St0),
  +    {op,L,'andalso',E1,E2} = right_assoc(E0, 'andalso'),
       Anno = lineno_anno(L, St0),
       {#c_var{name=V0},St} = new_var(Anno, St0),
       V = {var,L,V0},
  
positive.code: 			    args=[Arg]}]}.
  
  %% Optimization for Dialyzer.
  right_assoc(E, Op, St) ->
      case member(dialyzer, St#core.opts) of
          true ->
              right_assoc2(E, Op);
          false ->
              E
      end.
  
  right_assoc2({op,L1,Op,{op,L2,Op,E1,E2},E3}, Op) ->
      right_assoc2({op,L2,Op,E1,{op,L1,Op,E2,E3}}, Op);
  right_assoc2(E, _Op) -> E.
  
  annotate_tuple(A, Es, St) ->
      case member(dialyzer, St#core.opts) of
  
negative.code:     {Y,Yps,St} = lc_tq(Llc, E, Qs, Mc, St2),
      {Y,Mps++Yps,St};
  expr({op,_,'andalso',_,_}=E0, St0) ->
      {op,L,'andalso',E1,E2} = right_assoc(E0, 'andalso'),
      Anno = lineno_anno(L, St0),
      {#c_var{name=V0},St} = new_var(Anno, St0),
      V = {var,L,V0},
  