anchor.diff:          
           ! Local variables
           real(dp) :: max_mw_max, unique_rates(N2), rate_curve_approx(N2+1), rate_curve_approx_Mws(N2+1)
  -        real(dp) :: scenario_rates(N3), sorted_exrates_with_cap(N3+2), sorted_stages_with_cap(N3+2)
  +        real(dp) :: scenario_rates(N3)
  +        real(dp) :: sorted_exrates_local(N3)
           integer(ip) :: i
   
           !
  
positive.code: 
      end subroutine
  
  end module
  
negative.code:         !     f1(unique_Mw + dMw/2) * (unique_Mw + dMw/2 <= max_mw_max) )
          rate_curve_approx_Mws(1:N2) = unique_Mw(1:N2) - dMw(1)*0.5_dp
          rate_curve_approx_Mws(N2+1) = unique_Mw(N2) + dMw(1)*0.5_dp
          call linear_interpolation_input_x_increasing(N1, rate_curve_Mw, rate_curve_exrate, N2+1, &
              rate_curve_approx_Mws, rate_curve_approx)
          where(rate_curve_approx_Mws > max_mw_max) rate_curve_approx = 0.0_dp
          unique_rates(1:N2) = rate_curve_approx(1:N2) - rate_curve_approx(2:(N2+1))
  
  