anchor.diff:         enddo
   
   
  -       call first_critical_point(sigma_t_1, temp_t_1, index_fcp,sigma_c_thick, temp_c_thick, nb_it)
  -
  -       call second_critical_point(sigma_t_1, sigma_t_0, temp_t_1,&
  +       call first_critical_point(sigma_t_thick, temp_t_thick, index_fcp,sigma_c_thick, temp_c_thick, nb_it)
  +
  +       call second_critical_point(sigma_t_thick, sigma_t_thin, temp_t_thick,&
            index_fcp, index_scp, sigma_c_thin, temp_c_thin, nb_it, eps2)
   
  -       call build_s_curve(sigma_t_1, sigma_t_0, temp_t_1,nb_it, index_scp, sigma_real, temp_real)
  +       call build_s_curve(sigma_t_thick, sigma_t_thin, temp_t_thick, nb_it, index_scp, sigma_real, temp_real)
   
          call display_critical_points(sigma_c_thin, temp_c_thin,sigma_c_thick, temp_c_thick, k)
   
  
positive.code: 
            call variables(temp, sigma, omega, f, optical_depth)
  
            temp_t_0(i)   =  temp
            sigma_t_0(i)  =  sigma
  
  
           ! do l          = 1, nb_it
  
negative.code:     !-------------------------------------------------------------------------
      ! Subroutine in order to find the second critical point
      !-------------------------------------------------------------------------
      subroutine second_critical_point(sigma_real_thick, sigma_real_thin, temp_real_thick,&
           index_fcp, index_scp, sigma_c_thin, temp_c_thin, nb_it, eps2)
      implicit none
      integer,intent(in)                                   :: nb_it
  
      real(kind = x_precision),dimension(nb_it),intent(in) :: sigma_real_thick
      real(kind = x_precision),dimension(nb_it),intent(in) :: temp_real_thick
      real(kind = x_precision),dimension(nb_it),intent(in) :: sigma_real_thin
  
      real(kind = x_precision)                 ,intent(in) :: eps2
  
      integer                                  ,intent(in) :: index_fcp
      integer                                  ,intent(out):: index_scp
  