anchor.diff:      INTEGER, DIMENSION(:), ALLOCATABLE :: local_pivots
       INTEGER :: num_local_pivots
       !! Root Lookups
  -    INTEGER, DIMENSION(:), ALLOCATABLE :: row_root_lookup
       INTEGER, DIMENSION(:), ALLOCATABLE :: col_root_lookup
       !! Temporary Variables
       REAL(NTREAL), DIMENSION(:), ALLOCATABLE :: a_buf
  
positive.code:     INTEGER :: local_pi_i, local_pi_j
      REAL(NTREAL) :: Aval, insert_value, inverse_factor
      REAL(NTREAL), DIMENSION(:), ALLOCATABLE :: dot_values
      INTEGER :: row_root, col_root
  
      !! Optional Parameters
      IF (PRESENT(solver_parameters_in)) THEN
  
negative.code:     CALL ConstructDiag(AMat, dense_a, diag)
  
      !! Root Lookups
      ALLOCATE(col_root_lookup(AMat%logical_matrix_dimension))
      CALL ConstructRankLookup(AMat, col_root_lookup)
  
      !! Allocate space for L
      ALLOCATE(values_per_column_l(sparse_a%columns))
      ALLOCATE(index_l(sparse_a%rows, sparse_a%columns))
      ALLOCATE(values_l(sparse_a%rows, sparse_a%columns))
      values_per_column_l = 0
  
      !! Buffer for fast indexing of A
      ALLOCATE(a_buf(sparse_a%columns))
      a_buf = 0
  
      !! Allocate space for a received column
      ALLOCATE(recv_index(sparse_a%rows))
      ALLOCATE(recv_values(sparse_a%rows))
      ALLOCATE(dot_values(sparse_a%columns))
  
      !! Pregather the full column of A.
      CALL GatherMatrixColumn(sparse_a,acol)
  
      !! Main Loop
      DO JJ = 1, rank_in
  