anchor.diff:    implicit none
     private
   
  -  public :: do_timestep_T, do_timestep_S, do_timestep_S_exp
  +  public :: do_timestep_T, do_timestep_S_imp, do_timestep_S_exp
   
   contains
     ! (T(t+dt) - T(t))/dt = f(s, dt)
  
positive.code:   end function f_exp
  
  
    subroutine do_timestep_S (s, dt)
    !process the temporal evolution of S
      implicit none
  
  
negative.code:     if (info /= 0) then
        stop "error in DGTSV call in subroutine do_timestep_S"
      end if
    end subroutine do_timestep_S_imp
  
    subroutine do_timestep_S_exp (states, dt)
      !process the temporal evolution of S with an explicit algorithm
  