anchor.diff:  !******************************************************************************
   !******************************************************************************
   SUBROUTINE fort_evaluate(rslt, periods_payoffs_systematic, mapping_state_idx, periods_emax, states_all, shocks_cholesky, data_array, periods_draws_prob)
  +
  +    !   DEVELOPMENT NOTES
  +    !
  +    !   This routine accepts assumed shape arrays to allow its use during parallel execution as well. This is also the reasoning behind relaxing the alignment with the PYTHON counterpart.
   
       !/* external objects        */
   
  
positive.code: 
      REAL(our_dble), INTENT(IN)      :: periods_payoffs_systematic(num_periods, max_states_period, 4)
      REAL(our_dble), INTENT(IN)      :: periods_draws_prob(num_periods, num_draws_prob, 4)
      REAL(our_dble), INTENT(IN)      :: data_array(num_agents_est * num_periods, 8)
      REAL(our_dble), INTENT(IN)      :: shocks_cholesky(4, 4)
      REAL(our_dble), INTENT(IN)      :: periods_emax(num_periods, max_states_period)
  
  
negative.code: !------------------------------------------------------------------------------
  
      ! Construct auxiliary objects
      num_obs = SIZE(data_array, 1)
  
      shocks_cov = MATMUL(shocks_cholesky, TRANSPOSE(shocks_cholesky))
      is_deterministic = ALL(shocks_cov .EQ. zero_dble)
  
      ! Initialize container for likelihood contributions
      ALLOCATE(crit_val(num_obs))
      crit_val = zero_dble
  
      
      DO j = 1, num_obs
  
              period = INT(data_array(j, 2)) 
  
              ! Extract observable components of state space as well as agent decision.
              exp_a = INT(data_array(j, 5))
  