anchor.diff:      type(Nuclide),   pointer :: nuc => null()
       type(SAB_Table), pointer :: sab => null()
   
  -    ! Copy index of nuclide
  -    i = index_nuclide
  -
       ! Set pointer to nuclide
  -    nuc => nuclides(i)
  +    nuc => nuclides(index_nuclide)
   
       ! TODO: If not using unionized energy grid, we need to find the index on the
       ! nuclide energy grid using lethargy mapping or whatever other technique
  
positive.code:        end if
  
         ! Correct total and elastic cross sections
         micro_xs(i) % total = micro_xs(i) % total - micro_xs(i) % elastic &
              + inelastic + elastic
         micro_xs(i) % elastic = inelastic + elastic
  
         ! Store S(a,b) elastic cross section for sampling later
         micro_xs(i) % elastic_sab = elastic
      end if
  
      ! Set last evaluated energy
      micro_xs(i) % last_E = p % E
  
    end subroutine calculate_nuclide_xs
  
  
negative.code:     ! then add back in the calculated S(a,b) elastic+inelastic cross section.
  
      if (index_sab > 0) then
         micro_xs(index_nuclide) % use_sab = .true.
  
         ! Get pointer to S(a,b) table
         sab => sab_tables(index_sab)
  