anchor.diff:      real(kind=x_precision),intent(in)                        :: T_0
       real(kind=x_precision),intent(in)                        :: rho_0
       real(kind=x_precision),intent(in)                        :: rs
  +    integer,intent(in)                                       :: optical_depth
   
       real(kind=x_precision)                                   :: H
       real(kind=x_precision)                                   :: rho
  
positive.code:   ! Dichotomic function in order to determine the change of sign in a given
    ! interval [Smin,Smax] with an epsilon precision
    !-------------------------------------------------------------------------
    real(kind=x_precision) function dichotomy(Smin, Smax, eps, T, omega, sigma_0, Omega_0,rs, T_0, rho_0)
      use mod_read_parameters
      use mod_constants
      use mod_variables
  
negative.code:     dichotomy             = (Smin+Smax)/2.
      j = 0
      call variables(T, Smin, Omega, H, rho, cs, nu, Q_plus, Q_minus, K_ff, K_e,&
           tau_eff, P_rad, P_gaz,E_ff,Fz,f_min,Sigma_0, Omega_0,rs,T_0,rho_0,optical_depth)
  
      call variables(T, Smax, Omega, H, rho, cs, nu, Q_plus, Q_minus, K_ff, K_e, &
           tau_eff, P_rad, P_gaz,E_ff,Fz,f_max,Sigma_0, Omega_0,rs,T_0, rho_0, optical_depth)
  
      ! write(*,*)'fmin = ',f_min
      ! write(*,*)'fmax = ',f_max
  