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
  +    real(kind = x_precision)                                 :: nu_0
  +
       real(kind = x_precision),intent(out)                     :: f 
       integer                                                  :: optical_depth = 0
       !------------------------------------------------------------------------
  
positive.code:                   tau_eff, P_rad, P_gaz,E_ff,Fz,f_min,Sigma_0, Omega_0,rs,T_0, rho_0)
            endif
            
            dichotomy       = (Smin + Smax) / 2._x_precision
  
            call variables(T, dichotomy, Omega, H, rho, cs, nu, Q_plus, Q_minus, K_ff,&
                 K_e, tau_eff, P_rad, P_gaz,E_ff,Fz,f_dichotomy,Sigma_0, Omega_0,rs,T_0, rho_0)
  
negative.code:     integer                                                :: i     = 0
      integer                                                :: j     = 0
      real(kind = x_precision)                               :: temp  = 0.0d0
      real(kind = x_precision), parameter                    :: t_min = 5.715d-4
      real(kind = x_precision), parameter                    :: t_max = 1.815d-6
      integer,                  parameter                    :: nb_it = 200
      real(kind = x_precision)                               :: sigma = 0.0d0
      real(kind = x_precision)                               :: Smin  = 0.0d0
      real(kind = x_precision)                               :: Smax  = 0.0d0
      real(kind = x_precision)                               :: eps   = 1.0d-10
      real(kind = x_precision)                               :: omega = 0.0d0
      real(kind = x_precision)                               :: r     = 0.0d0
      real(kind = x_precision)                               :: H     = 0.0d0    
  