anchor.diff:                  allocate(ccmc_in%secondary_refs(ccmc_in%n_secondary_ref))
                   do i = 1, ccmc_in%n_secondary_ref
                       ! I0 makes sure there are no whitespaces around the number string
  -                    write (string, '(A13,I0)') 'secondary_ref', i ! 72-13=59, 10^59-1 refs now allowed      
  +                    write (string, '(A13,I0)') 'secondary_ref', i ! up to 2.15E9 secondary references can be provided      
                       ! trim makes sure there are no trailing whitespaces 
                       call read_reference_t(lua_state, ccmc_table, ccmc_in%secondary_refs(i), sys, trim(string))
                            if (.not. allocated(ccmc_in%secondary_refs(i)%occ_list0)) then
  
positive.code:                                                                 'full_non_composite', 'linked', 'vary_shift_reference', &
                                                                  'density_matrices', 'density_matrix_file', 'even_selection', &
                                                                  'multiref', 'n_secondary_ref']
          character(72) :: string ! this means 10^59-1 secondary refs now allowed (see below)
          ! secondary_refX keywords are not hardcoded in, so we dynamically add them into the 
          character(16), dimension(:), allocatable :: secondary_ref_keys
          character(28), dimension(:), allocatable :: keys_concat
  
negative.code:         !     even_selection = true/false,
          !     multiref = true/false,
          !     n_secondary_ref = number of additional references,
          !     secondary_ref1,...,secondary_ref999 ={...},
          ! }
  
          ! In/Out:
  