Temporary header file '/tmp/ivCM4t1qD6/dump1.h' with the following content will be compiled to create GCC translation unit dump:

  // add defines
  #define __STDC_VERSION__ 201710L
#define _GXX_NULLPTR_T
#define CLUTTER_ENABLE_COMPOSITOR_API 1
#define _REGEX_NELTS(n)
#define _Atomic
#define PACKED
#define getaddrinfo_a(a,b,c,d)

  // add includes
  #include "/usr/include/btas/array_adaptor.h"
  #include "/usr/include/btas/btas.h"
  #include "/usr/include/btas/btas_fwd.h"
  #include "/usr/include/btas/corange.h"
  #include "/usr/include/btas/defaults.h"
  #include "/usr/include/btas/error.h"
  #include "/usr/include/btas/features.h"
  #include "/usr/include/btas/fwd.h"
  #include "/usr/include/btas/generic/axpy_impl.h"
  #include "/usr/include/btas/generic/blas_lapack_delegator.h"
  #include "/usr/include/btas/generic/contract.h"
  #include "/usr/include/btas/generic/converge_class.h"
  #include "/usr/include/btas/generic/core_contract.h"
  #include "/usr/include/btas/generic/coupled_cp_als.h"
  #include "/usr/include/btas/generic/cp.h"
  #include "/usr/include/btas/generic/cp_als.h"
  #include "/usr/include/btas/generic/cp_df_als.h"
  #include "/usr/include/btas/generic/cp_rals.h"
  #include "/usr/include/btas/generic/default_random_seed.h"
  #include "/usr/include/btas/generic/dot_impl.h"
  #include "/usr/include/btas/generic/element_wise_contract.h"
  #include "/usr/include/btas/generic/flatten.h"
  #include "/usr/include/btas/generic/gemm_impl.h"
  #include "/usr/include/btas/generic/gemv_impl.h"
  #include "/usr/include/btas/generic/ger_impl.h"
  #include "/usr/include/btas/generic/gesvd_impl.h"
  #include "/usr/include/btas/generic/khatri_rao_product.h"
  #include "/usr/include/btas/generic/lapack_extensions.h"
  #include "/usr/include/btas/generic/linear_algebra.h"
  #include "/usr/include/btas/generic/mkl_extensions.h"
  #include "/usr/include/btas/generic/numeric_type.h"
  #include "/usr/include/btas/generic/permute.h"
  #include "/usr/include/btas/generic/rals_helper.h"
  #include "/usr/include/btas/generic/randomized.h"
  #include "/usr/include/btas/generic/reconstruct.h"
  #include "/usr/include/btas/generic/scal_impl.h"
  #include "/usr/include/btas/generic/swap.h"
  #include "/usr/include/btas/generic/tensor_iterator_wrapper.h"
  #include "/usr/include/btas/generic/transpose.h"
  #include "/usr/include/btas/generic/tuck_cp_als.h"
  #include "/usr/include/btas/generic/tucker.h"
  #include "/usr/include/btas/index_traits.h"
  #include "/usr/include/btas/macros.h"
  #include "/usr/include/btas/optimize/contract.h"
  #include "/usr/include/btas/ordinal.h"
  #include "/usr/include/btas/range.h"
  #include "/usr/include/btas/range_iterator.h"
  #include "/usr/include/btas/range_traits.h"
  #include "/usr/include/btas/serialization.h"
  #include "/usr/include/btas/special/permute.h"
  #include "/usr/include/btas/special/reindex.h"
  #include "/usr/include/btas/storage_traits.h"
  #include "/usr/include/btas/tarray.h"
  #include "/usr/include/btas/tensor.h"
  #include "/usr/include/btas/tensor_func.h"
  #include "/usr/include/btas/tensor_traits.h"
  #include "/usr/include/btas/tensorview.h"
  #include "/usr/include/btas/tensorview_iterator.h"
  #include "/usr/include/btas/type_traits.h"
  #include "/usr/include/btas/types.h"
  #include "/usr/include/btas/util/deprecated.h"
  #include "/usr/include/btas/util/dot.h"
  #include "/usr/include/btas/util/functional.h"
  #include "/usr/include/btas/util/mohndle.h"
  #include "/usr/include/btas/util/optional_ptr.h"
  #include "/usr/include/btas/util/resize.h"
  #include "/usr/include/btas/util/sequence_adaptor.h"
  #include "/usr/include/btas/varray/allocators.h"
  #include "/usr/include/btas/varray/varray.h"
  #include "/usr/include/btas/version.h"

  // add namespaces
  namespace blas{typedef int tmp_add_type_1;}
  blas::tmp_add_type_1 tmp_add_func_1(){return 0;};
  namespace btas{typedef int tmp_add_type_2;}
  btas::tmp_add_type_2 tmp_add_func_2(){return 0;};
  namespace btas{namespace DEFAULT{typedef int tmp_add_type_3;}}
  btas::DEFAULT::tmp_add_type_3 tmp_add_func_3(){return 0;};
  namespace btas{namespace detail{typedef int tmp_add_type_4;}}
  btas::detail::tmp_add_type_4 tmp_add_func_4(){return 0;};
  namespace btas{namespace impl{typedef int tmp_add_type_5;}}
  btas::impl::tmp_add_type_5 tmp_add_func_5(){return 0;};
  namespace lapack{typedef int tmp_add_type_6;}
  lapack::tmp_add_type_6 tmp_add_func_6(){return 0;};
  namespace madness{typedef int tmp_add_type_7;}
  madness::tmp_add_type_7 tmp_add_func_7(){return 0;};
  namespace madness{namespace archive{typedef int tmp_add_type_8;}}
  madness::archive::tmp_add_type_8 tmp_add_func_8(){return 0;};

  // add classes
  _G_fpos64_t* tmp_add_class_0;
  _G_fpos_t* tmp_add_class_1;
  _IO_cookie_io_functions_t* tmp_add_class_2;

The GCC parameters:
  gcc -fdump-lang-raw -fkeep-inline-functions -c -x c++ -fpermissive -w "/tmp/ivCM4t1qD6/dump1.h"

In file included from /usr/include/btas/generic/core_contract.h:5,
                 from /usr/include/btas/generic/cp.h:15,
                 from /usr/include/btas/generic/cp_als.h:8,
                 from /usr/include/btas/btas.h:10,
                 from /tmp/ivCM4t1qD6/dump1.h:13:
/usr/include/btas/range.h:22:2: error: #error "BTAS cannot be used without Boost.Iterator; add Boost dir to the include path"
   22 | #error \
      |  ^~~~~
In file included from /usr/include/btas/btas_fwd.h:12,
                 from /usr/include/btas/fwd.h:8,
                 from /usr/include/btas/varray/varray.h:4,
                 from /usr/include/btas/array_adaptor.h:19,
                 from /tmp/ivCM4t1qD6/dump1.h:12:
/usr/include/btas/defaults.h:38:21: error: ‘varray’ in namespace ‘btas’ does not name a template type
   38 | using index = btas::varray<Integer>;
      |                     ^~~~~~
/usr/include/btas/defaults.h:40:20: error: ‘index’ does not name a type; did you mean ‘is_index’?
   40 | using index_type = index<long>;
      |                    ^~~~~
      |                    is_index
/usr/include/btas/btas_fwd.h:26:46: error: ‘index_type’ in namespace ‘btas::DEFAULT’ does not name a type
   26 |             typename _Index = btas::DEFAULT::index_type
      |                                              ^~~~~~~~~~
/usr/include/btas/btas_fwd.h:37:46: error: ‘index_type’ in namespace ‘btas::DEFAULT’ does not name a type
   37 |             typename _Index = btas::DEFAULT::index_type,
      |                                              ^~~~~~~~~~
/usr/include/btas/btas_fwd.h:49:37: error: template argument 2 is invalid
   49 |         using range = btas::RangeNd<>;
      |                                     ^
/usr/include/btas/btas_fwd.h:49:37: error: template argument 3 is invalid
/usr/include/btas/btas_fwd.h:62:43: error: ‘range’ in namespace ‘btas::DEFAULT’ does not name a type
   62 |             class _Range = btas::DEFAULT::range,
      |                                           ^~~~~
/usr/include/btas/btas_fwd.h:68:43: error: ‘range’ in namespace ‘btas::DEFAULT’ does not name a type
   68 |             class _Range = btas::DEFAULT::range,
      |                                           ^~~~~
/usr/include/btas/array_adaptor.h:363:37: error: ‘boost’ was not declared in this scope
  363 |     struct ArchiveLoadImpl<Archive, boost::container::small_vector<T, N, A>> {
      |                                     ^~~~~
/usr/include/btas/array_adaptor.h:363:75: error: template argument 2 is invalid
  363 |     struct ArchiveLoadImpl<Archive, boost::container::small_vector<T, N, A>> {
      |                                                                           ^~
/usr/include/btas/array_adaptor.h:374:38: error: ‘boost’ was not declared in this scope
  374 |     struct ArchiveStoreImpl<Archive, boost::container::small_vector<T, N, A>> {
      |                                      ^~~~~
/usr/include/btas/array_adaptor.h:374:76: error: template argument 2 is invalid
  374 |     struct ArchiveStoreImpl<Archive, boost::container::small_vector<T, N, A>> {
      |                                                                            ^~
/usr/include/btas/range.h:707:17: error: ‘boost’ in namespace ‘::’ does not name a type
  707 |       typedef ::boost::transform_iterator< btas::second_of_pair<subiter_value_type>,
      |                 ^~~~~
/usr/include/btas/range.h:709:15: error: ‘ordinal_iterator’ does not name a type; did you mean ‘ordinal_subiterator’?
  709 |       typedef ordinal_iterator const_ordinal_iterator; ///< Ordinal interator = Ordinal const_iterator
      |               ^~~~~~~~~~~~~~~~
      |               ordinal_subiterator
/usr/include/btas/range.h: In member function ‘btas::RangeNd<_Order, _Index, _Ordinal> btas::RangeNd<_Order, _Index, _Ordinal>::slice(std::initializer_list<btas::Range1d<T> >) const’:
/usr/include/btas/range.h:1020:24: error: ‘index’ is not a member of ‘btas::DEFAULT’
 1020 |         btas::DEFAULT::index<long> lb(range1s.size());
      |                        ^~~~~
/usr/include/btas/range.h:1020:30: error: expected primary-expression before ‘long’
 1020 |         btas::DEFAULT::index<long> lb(range1s.size());
      |                              ^~~~
/usr/include/btas/range.h:1021:24: error: ‘index’ is not a member of ‘btas::DEFAULT’
 1021 |         btas::DEFAULT::index<long> ub(range1s.size());
      |                        ^~~~~
/usr/include/btas/range.h:1021:30: error: expected primary-expression before ‘long’
 1021 |         btas::DEFAULT::index<long> ub(range1s.size());
      |                              ^~~~
/usr/include/btas/range.h:1024:11: error: ‘lb’ was not declared in this scope
 1024 |           lb[c] = i.lobound();
      |           ^~
/usr/include/btas/range.h:1025:11: error: ‘ub’ was not declared in this scope
 1025 |           ub[c] = i.upbound();
      |           ^~
/usr/include/btas/range.h:1029:34: error: ‘lb’ was not declared in this scope
 1029 |         return RangeNd(std::move(lb), std::move(ub), _Ordinal(this->lobound(), this->upbound(), this->ordinal().stride()));
      |                                  ^~
/usr/include/btas/range.h:1029:49: error: ‘ub’ was not declared in this scope
 1029 |         return RangeNd(std::move(lb), std::move(ub), _Ordinal(this->lobound(), this->upbound(), this->ordinal().stride()));
      |                                                 ^~
/usr/include/btas/range.h: At global scope:
/usr/include/btas/range.h:1087:27: error: template argument 2 is invalid
 1087 |     using Range = RangeNd<>;
      |                           ^
/usr/include/btas/range.h:1087:27: error: template argument 3 is invalid
/usr/include/btas/range.h:1451:21: error: ‘Range’ in namespace ‘btas’ does not name a type; did you mean ‘Range1’?
 1451 | using range = btas::Range;
      |                     ^~~~~
      |                     Range1
/usr/include/btas/generic/core_contract.h: In function ‘void btas::core_contract(Tensor&, const Tensor&, size_t, bool)’:
/usr/include/btas/generic/core_contract.h:25:15: error: ‘Range’ has not been declared in ‘btas’
   25 |   using btas::Range;
      |               ^~~~~
/usr/include/btas/generic/core_contract.h:39:15: error: ‘Range’ was not declared in this scope; did you mean ‘Range1’?
   39 |   Tensor temp(Range{temp_dims});
      |               ^~~~~
      |               Range1
In file included from /usr/include/btas/generic/cp.h:17:
/usr/include/btas/generic/khatri_rao_product.h: In function ‘void btas::khatri_rao_product(const Tensor&, const Tensor&, Tensor&)’:
/usr/include/btas/generic/khatri_rao_product.h:25:11: error: ‘Range’ was not declared in this scope; did you mean ‘Range1’?
   25 |           Range{Range1{A.extent(0) * B.extent(0)}, Range1{A.extent(1)}});
      |           ^~~~~
      |           Range1
In file included from /usr/include/btas/tensor.h:7,
                 from /usr/include/btas/generic/randomized.h:6,
                 from /usr/include/btas/generic/cp.h:18:
/usr/include/btas/tensorview.h: At global scope:
/usr/include/btas/tensorview.h:115:42: error: ‘range’ in namespace ‘btas::DEFAULT’ does not name a type
  115 |            class _Range = btas::DEFAULT::range,
      |                                          ^~~~~
/usr/include/btas/tensorview.h:670:45: error: ‘range’ in namespace ‘btas::DEFAULT’ does not name a type
  670 |             class _Range   = btas::DEFAULT::range,
      |                                             ^~~~~
/usr/include/btas/tensorview.h:678:45: error: ‘range’ in namespace ‘btas::DEFAULT’ does not name a type
  678 |             class _Range   = btas::DEFAULT::range,
      |                                             ^~~~~
/usr/include/btas/tensorview.h:1125:43: error: ‘range’ in namespace ‘btas::DEFAULT’ does not name a type
 1125 |             class _Range = btas::DEFAULT::range>
      |                                           ^~~~~
/usr/include/btas/tensorview.h:1129:43: error: ‘range’ in namespace ‘btas::DEFAULT’ does not name a type
 1129 |             class _Range = btas::DEFAULT::range>
      |                                           ^~~~~
In file included from /usr/include/btas/generic/contract.h:16,
                 from /usr/include/btas/generic/randomized.h:8:
/usr/include/btas/generic/permute.h: In function ‘void btas::permute(const _TensorX&, const _Permutation&, _TensorY&)’:
/usr/include/btas/generic/permute.h:42:35: error: ‘Range’ is not a member of ‘btas’; did you mean ‘range’?
   42 |       do_perm(X, Y, permute(btas::Range(r.lobound(), r.upbound(), r.stride()), p));
      |                                   ^~~~~
      |                                   range
/usr/include/btas/generic/permute.h: In function ‘void btas::permute(const _TensorX&, std::initializer_list<_T>, _TensorY&)’:
/usr/include/btas/generic/permute.h:53:33: error: ‘index’ is not a member of ‘btas::DEFAULT’
   53 |       permute(X, btas::DEFAULT::index<_T>(pi) , Y);
      |                                 ^~~~~
/usr/include/btas/generic/permute.h:53:41: error: expected primary-expression before ‘>’ token
   53 |       permute(X, btas::DEFAULT::index<_T>(pi) , Y);
      |                                         ^
/usr/include/btas/generic/permute.h: In function ‘void btas::permute(const _TensorX&, const _AnnotationX&, _TensorY&, const _AnnotationY&)’:
/usr/include/btas/generic/permute.h:97:19: error: ‘index’ is not a member of ‘btas::DEFAULT’
   97 |    btas::DEFAULT::index<size_t> prm(Xrank);
      |                   ^~~~~
/usr/include/btas/generic/permute.h:97:31: error: expected primary-expression before ‘>’ token
   97 |    btas::DEFAULT::index<size_t> prm(Xrank);
      |                               ^
/usr/include/btas/generic/permute.h:106:7: error: ‘prm’ was not declared in this scope
  106 |       prm[i] = std::distance(first, found);
      |       ^~~
/usr/include/btas/generic/permute.h:110:15: error: ‘prm’ was not declared in this scope
  110 |    permute(X, prm, Y);
      |               ^~~
/usr/include/btas/generic/permute.h: In function ‘void btas::permute(const _TensorX&, std::initializer_list<_T>, _TensorY&, std::initializer_list<_T>)’:
/usr/include/btas/generic/permute.h:121:33: error: ‘index’ is not a member of ‘btas::DEFAULT’
  121 |       permute(X, btas::DEFAULT::index<_T>(aX), Y, btas::varray<_T>(aY));
      |                                 ^~~~~
/usr/include/btas/generic/permute.h:121:41: error: expected primary-expression before ‘>’ token
  121 |       permute(X, btas::DEFAULT::index<_T>(aX), Y, btas::varray<_T>(aY));
      |                                         ^
/usr/include/btas/generic/contract.h: In function ‘void btas::contract(const _T&, const _TensorA&, const _AnnotationA&, const _TensorB&, const _AnnotationB&, const _T&, _TensorC&, const _AnnotationC&)’:
/usr/include/btas/generic/contract.h:76:27: error: ‘index_type’ in namespace ‘btas::DEFAULT’ does not name a type
   76 |    typedef btas::DEFAULT::index_type Permutation;
      |                           ^~~~~~~~~~
/usr/include/btas/generic/contract.h:79:4: error: ‘Permutation’ was not declared in this scope
   79 |    Permutation __permute_indexA;
      |    ^~~~~~~~~~~
/usr/include/btas/generic/contract.h:80:11: error: ‘__permute_indexA’ was not declared in this scope; did you mean ‘__sort_indexA’?
   80 |    resize(__permute_indexA, aA.size());
      |           ^~~~~~~~~~~~~~~~
      |           __sort_indexA
/usr/include/btas/generic/contract.h:83:15: error: expected ‘;’ before ‘__permute_indexB’
   83 |    Permutation __permute_indexB;
      |               ^~~~~~~~~~~~~~~~~
      |               ;
/usr/include/btas/generic/contract.h:84:11: error: ‘__permute_indexB’ was not declared in this scope; did you mean ‘__sort_indexB’?
   84 |    resize(__permute_indexB, aB.size());
      |           ^~~~~~~~~~~~~~~~
      |           __sort_indexB
/usr/include/btas/generic/contract.h:87:15: error: expected ‘;’ before ‘__permute_indexC’
   87 |    Permutation __permute_indexC;
      |               ^~~~~~~~~~~~~~~~~
      |               ;
/usr/include/btas/generic/contract.h:88:11: error: ‘__permute_indexC’ was not declared in this scope; did you mean ‘__sort_indexC’?
   88 |    resize(__permute_indexC, aC.size());
      |           ^~~~~~~~~~~~~~~~
      |           __sort_indexC
/usr/include/btas/generic/contract.h:126:15: error: expected ‘;’ before ‘__sort_permute_indexC’
  126 |    Permutation __sort_permute_indexC(__permute_indexC);
      |               ^~~~~~~~~~~~~~~~~~~~~~
      |               ;
/usr/include/btas/generic/contract.h:127:25: error: ‘__sort_permute_indexC’ was not declared in this scope
  127 |    std::sort(std::begin(__sort_permute_indexC), std::end(__sort_permute_indexC));
      |                         ^~~~~~~~~~~~~~~~~~~~~
/usr/include/btas/generic/contract.h:153:18: error: expected ‘;’ before ‘__zero_shape’
  153 |       Permutation __zero_shape;
      |                  ^~~~~~~~~~~~~
      |                  ;
/usr/include/btas/generic/contract.h:154:14: error: ‘__zero_shape’ was not declared in this scope
  154 |       resize(__zero_shape, m+n);
      |              ^~~~~~~~~~~~
/usr/include/btas/generic/contract.h: In function ‘void btas::contract(const _T&, const _TensorA&, std::initializer_list<_UA>, const _TensorB&, std::initializer_list<_UB>, const _T&, _TensorC&, std::initializer_list<_UC>)’:
/usr/include/btas/generic/contract.h:219:32: error: ‘index’ is not a member of ‘btas::DEFAULT’
  219 |              A, btas::DEFAULT::index<_UA>(aA),
      |                                ^~~~~
/usr/include/btas/generic/contract.h:219:41: error: expected primary-expression before ‘>’ token
  219 |              A, btas::DEFAULT::index<_UA>(aA),
      |                                         ^
/usr/include/btas/generic/contract.h:220:32: error: ‘index’ is not a member of ‘btas::DEFAULT’
  220 |              B, btas::DEFAULT::index<_UB>(aB),
      |                                ^~~~~
/usr/include/btas/generic/contract.h:220:41: error: expected primary-expression before ‘>’ token
  220 |              B, btas::DEFAULT::index<_UB>(aB),
      |                                         ^
/usr/include/btas/generic/contract.h:222:32: error: ‘index’ is not a member of ‘btas::DEFAULT’
  222 |              C, btas::DEFAULT::index<_UC>(aC)
      |                                ^~~~~
/usr/include/btas/generic/contract.h:222:41: error: expected primary-expression before ‘>’ token
  222 |              C, btas::DEFAULT::index<_UC>(aC)
      |                                         ^
/usr/include/btas/generic/randomized.h: In function ‘void btas::randomized_decomposition(Tensor&, std::vector<_T>&, long int, size_t, size_t)’:
/usr/include/btas/generic/randomized.h:98:16: error: ‘Range’ was not declared in this scope; did you mean ‘range’?
   98 |       Y.resize(Range{Range1{An.extent(0)}, Range1{Z.extent(1)}});
      |                ^~~~~
      |                range
/usr/include/btas/generic/randomized.h:131:11: error: ‘Range’ is not a member of ‘btas’; did you mean ‘range’?
  131 |     btas::Range final_range(final_dims);
      |           ^~~~~
      |           range
/usr/include/btas/generic/randomized.h:132:18: error: ‘final_range’ was not declared in this scope; did you mean ‘is_range’?
  132 |     Tensor final(final_range);
      |                  ^~~~~~~~~~~
      |                  is_range
In file included from /usr/include/btas/generic/cp.h:21:
/usr/include/btas/generic/converge_class.h: In member function ‘double btas::CoupledFitCheck<Tensor>::norm(const std::vector<_T>&)’:
/usr/include/btas/generic/converge_class.h:395:19: error: ‘Range’ was not declared in this scope; did you mean ‘range’?
  395 |       temp.resize(Range{Range1{rank}, Range1{1}});
      |                   ^~~~~
      |                   range
/usr/include/btas/generic/cp.h: In member function ‘Tensor btas::CP<Tensor, ConvClass>::generate_KRP(size_t, ind_t, bool)’:
/usr/include/btas/generic/cp.h:482:19: error: ‘Range’ was not declared in this scope; did you mean ‘range’?
  482 |       Tensor temp(Range{Range1{A.at(n).extent(0)}, Range1{rank}});
      |                   ^~~~~
      |                   range
/usr/include/btas/generic/cp.h:483:37: error: expected ‘)’ before ‘{’ token
  483 |       Tensor left_side_product(Range{Range1{rank}, Range1{rank}});
      |                                     ^
/usr/include/btas/generic/cp.h:483:31: note: to match this ‘(’
  483 |       Tensor left_side_product(Range{Range1{rank}, Range1{rank}});
      |                               ^
/usr/include/btas/generic/cp_als.h: In member function ‘double btas::CP_ALS<Tensor, ConvClass>::compute_PALS(std::vector<U>&, double, size_t, int, bool, bool, bool)’:
/usr/include/btas/generic/cp_als.h:175:22: error: ‘Range’ was not declared in this scope; did you mean ‘range’?
  175 |             Tensor b(Range{Range1{A[0].extent(0)}, Range1{rank_new}});
      |                      ^~~~~
      |                      range
/usr/include/btas/generic/cp_als.h:202:29: error: expected ‘)’ before ‘{’ token
  202 |               b.resize(Range{Range1{rank_new}});
      |                             ^
/usr/include/btas/generic/cp_als.h:202:23: note: to match this ‘(’
  202 |               b.resize(Range{Range1{rank_new}});
      |                       ^
/usr/include/btas/generic/cp_als.h: In member function ‘void btas::CP_ALS<Tensor, ConvClass>::build(typename btas::CP<Tensor, ConvClass>::ind_t, ConvClass&, bool, typename btas::CP<Tensor, ConvClass>::ind_t, bool, typename btas::CP<Tensor, ConvClass>::ind_t, double&, bool, typename btas::CP<Tensor, ConvClass>::ind_t, bool&)’:
/usr/include/btas/generic/cp_als.h:441:23: error: ‘Range’ was not declared in this scope; did you mean ‘range’?
  441 |         Tensor lambda(Range{Range1{SVD_rank}});
      |                       ^~~~~
      |                       range
/usr/include/btas/generic/cp_als.h:466:22: error: ‘Range’ was not declared in this scope; did you mean ‘range’?
  466 |             Tensor a(Range{tensor_ref.range().range(j), Range1{rank_new}});
      |                      ^~~~~
      |                      range
/usr/include/btas/generic/cp_als.h:482:22: error: ‘Range’ was not declared in this scope; did you mean ‘range’?
  482 |             Tensor b(Range{A[0].range().range(0), Range1{rank_new}});
      |                      ^~~~~
      |                      range
/usr/include/btas/generic/cp_als.h:512:22: error: ‘Range’ was not declared in this scope; did you mean ‘range’?
  512 |           Tensor lam(Range{Range1{rank_new}});
      |                      ^~~~~
      |                      range
/usr/include/btas/generic/cp_als.h: In member function ‘void btas::CP_ALS<Tensor, ConvClass>::direct(size_t, typename btas::CP<Tensor, ConvClass>::ind_t, bool&, bool&, ConvClass&, double)’:
/usr/include/btas/generic/cp_als.h:772:7: error: ‘Range’ was not declared in this scope; did you mean ‘range’?
  772 |       Range R = tensor_ref.range();
      |       ^~~~~
      |       range
/usr/include/btas/generic/cp_als.h:778:16: error: expected ‘)’ before ‘{’ token
  778 |           Range{Range1{last_dim ? tensor_ref.extent(contract_dim) : size / tensor_ref.extent(contract_dim)},
      |                ^
/usr/include/btas/generic/cp_als.h:777:24: note: to match this ‘(’
  777 |       tensor_ref.resize(
      |                        ^
/usr/include/btas/generic/cp_als.h:786:25: error: ‘R’ was not declared in this scope
  786 |       tensor_ref.resize(R);
      |                         ^
/usr/include/btas/generic/cp_als.h:805:18: error: expected ‘)’ before ‘{’ token
  805 |             Range{Range1{idx1}, Range1{idx2}, Range1{pseudo_rank}});
      |                  ^
/usr/include/btas/generic/cp_als.h:804:20: note: to match this ‘(’
  804 |         temp.resize(
      |                    ^
/usr/include/btas/generic/cp_als.h:844:26: error: expected ‘)’ before ‘{’ token
  844 |         temp.resize(Range{Range1{idx1}, Range1{offset_dim}, Range1{rank}});
      |                          ^
/usr/include/btas/generic/cp_als.h:844:20: note: to match this ‘(’
  844 |         temp.resize(Range{Range1{idx1}, Range1{offset_dim}, Range1{rank}});
      |                    ^
/usr/include/btas/generic/cp_als.h:845:37: error: expected ‘)’ before ‘{’ token
  845 |         Tensor contract_tensor(Range{Range1{offset_dim}, Range1{rank}});
      |                                     ^
/usr/include/btas/generic/cp_als.h:845:31: note: to match this ‘(’
  845 |         Tensor contract_tensor(Range{Range1{offset_dim}, Range1{rank}});
      |                               ^
/usr/include/btas/generic/cp_als.h: In member function ‘void btas::CP_ALS<Tensor, ConvClass>::direct_improved(size_t, typename btas::CP<Tensor, ConvClass>::ind_t, bool&, bool&, ConvClass&)’:
/usr/include/btas/generic/cp_als.h:904:19: error: ‘Range’ was not declared in this scope; did you mean ‘range’?
  904 |         An.resize(Range{Range1{lhs_dim}, Range1{middle_dim}, Range1{rank}});
      |                   ^~~~~
      |                   range
In file included from /usr/include/btas/btas.h:12:
/usr/include/btas/generic/cp_df_als.h: In member function ‘double btas::CP_DF_ALS<Tensor, ConvClass>::compute_PALS(std::vector<U>&, double, size_t, int, bool, bool, bool)’:
/usr/include/btas/generic/cp_df_als.h:194:22: error: ‘Range’ was not declared in this scope; did you mean ‘range’?
  194 |             Tensor b(Range{Range1{A[0].extent(0)}, Range1{rank_new}});
      |                      ^~~~~
      |                      range
/usr/include/btas/generic/cp_df_als.h:221:29: error: expected ‘)’ before ‘{’ token
  221 |               b.resize(Range{Range1{rank_new}});
      |                             ^
/usr/include/btas/generic/cp_df_als.h:221:23: note: to match this ‘(’
  221 |               b.resize(Range{Range1{rank_new}});
      |                       ^
/usr/include/btas/generic/cp_df_als.h: In member function ‘void btas::CP_DF_ALS<Tensor, ConvClass>::build(typename btas::CP<Tensor, ConvClass>::ind_t, ConvClass&, bool, typename btas::CP<Tensor, ConvClass>::ind_t, bool, typename btas::CP<Tensor, ConvClass>::ind_t, double&, bool, typename btas::CP<Tensor, ConvClass>::ind_t, bool&)’:
/usr/include/btas/generic/cp_df_als.h:444:28: error: ‘Range’ was not declared in this scope; did you mean ‘range’?
  444 |                 a = Tensor(Range{tensor_ref_left.range().range(j + 1), Range1{rank_new}});
      |                            ^~~~~
      |                            range
/usr/include/btas/generic/cp_df_als.h:446:28: error: ‘Range’ was not declared in this scope; did you mean ‘range’?
  446 |                 a = Tensor(Range{tensor_ref_right.range().range(j - ndimL + 2), Range1{rank_new}});
      |                            ^~~~~
      |                            range
/usr/include/btas/generic/cp_df_als.h:462:24: error: ‘Range’ was not declared in this scope; did you mean ‘range’?
  462 |               Tensor b(Range{A[0].range().range(0), Range1{rank_new}});
      |                        ^~~~~
      |                        range
/usr/include/btas/generic/cp_df_als.h:491:24: error: ‘Range’ was not declared in this scope; did you mean ‘range’?
  491 |             Tensor lam(Range{Range1{rank_new}});
      |                        ^~~~~
      |                        range
/usr/include/btas/generic/cp_df_als.h: In member function ‘void btas::CP_DF_ALS<Tensor, ConvClass>::make_svd_guess(typename btas::CP<Tensor, ConvClass>::ind_t)’:
/usr/include/btas/generic/cp_df_als.h:646:21: error: ‘Range’ was not declared in this scope; did you mean ‘range’?
  646 |       Tensor lambda(Range{Range1{SVD_rank}});
      |                     ^~~~~
      |                     range
/usr/include/btas/generic/cp_df_als.h: In member function ‘void btas::CP_DF_ALS<Tensor, ConvClass>::build_random(typename btas::CP<Tensor, ConvClass>::ind_t, ConvClass&, bool, typename btas::CP<Tensor, ConvClass>::ind_t, bool, double&, bool&)’:
/usr/include/btas/generic/cp_df_als.h:679:18: error: ‘Range’ was not declared in this scope; did you mean ‘range’?
  679 |         Tensor a(Range{Range1{tensor_ref.extent(i)}, Range1{rank}});
      |                  ^~~~~
      |                  range
/usr/include/btas/generic/cp_df_als.h: In member function ‘void btas::CP_DF_ALS<Tensor, ConvClass>::direct(size_t, typename btas::CP<Tensor, ConvClass>::ind_t, bool&, bool&, ConvClass&)’:
/usr/include/btas/generic/cp_df_als.h:811:29: error: ‘Range’ was not declared in this scope; did you mean ‘range’?
  811 |           tensor_ref.resize(Range{Range1{sizeCurr / contract_size}, Range1{contract_size}});
      |                             ^~~~~
      |                             range
/usr/include/btas/generic/cp_df_als.h:829:41: error: expected ‘)’ before ‘{’ token
  829 |             contract_tensor.resize(Range{Range1{idx1}, Range1{contract_size}, Range1{rank}});
      |                                         ^
/usr/include/btas/generic/cp_df_als.h:829:35: note: to match this ‘(’
  829 |             contract_tensor.resize(Range{Range1{idx1}, Range1{contract_size}, Range1{rank}});
      |                                   ^
/usr/include/btas/generic/cp_df_als.h:863:11: error: ‘Range’ was not declared in this scope; did you mean ‘range’?
  863 |           Range R = tensor_ref.range();
      |           ^~~~~
      |           range
/usr/include/btas/generic/cp_df_als.h:872:34: error: expected ‘)’ before ‘{’ token
  872 |           tensor_ref.resize(Range{Range1{tensor_ref.extent(0)}, Range1{LH_size}});
      |                                  ^
/usr/include/btas/generic/cp_df_als.h:872:28: note: to match this ‘(’
  872 |           tensor_ref.resize(Range{Range1{tensor_ref.extent(0)}, Range1{LH_size}});
      |                            ^
/usr/include/btas/generic/cp_df_als.h:876:29: error: ‘R’ was not declared in this scope
  876 |           tensor_ref.resize(R);
      |                             ^
/usr/include/btas/generic/cp_df_als.h:900:32: error: ‘Range’ was not declared in this scope; did you mean ‘range’?
  900 |         contract_tensor.resize(Range{Range1{LH_size}, Range1{contract_size}, Range1{pseudo_rank}});
      |                                ^~~~~
      |                                range
/usr/include/btas/generic/cp_df_als.h:901:26: error: expected ‘)’ before ‘{’ token
  901 |         Tensor temp(Range{Range1{LH_size}, Range1{pseudo_rank}});
      |                          ^
/usr/include/btas/generic/cp_df_als.h:901:20: note: to match this ‘(’
  901 |         Tensor temp(Range{Range1{LH_size}, Range1{pseudo_rank}});
      |                    ^
/usr/include/btas/generic/cp_df_als.h:964:21: error: ‘Range’ was not declared in this scope; did you mean ‘range’?
  964 |         Tensor temp(Range{Range1{offset}, Range1{rank}});
      |                     ^~~~~
      |                     range
/usr/include/btas/generic/cp_df_als.h:965:37: error: expected ‘)’ before ‘{’ token
  965 |         contract_tensor.resize(Range{Range1{contract_size}, Range1{offset}, Range1{rank}});
      |                                     ^
/usr/include/btas/generic/cp_df_als.h:965:31: note: to match this ‘(’
  965 |         contract_tensor.resize(Range{Range1{contract_size}, Range1{offset}, Range1{rank}});
      |                               ^
In file included from /usr/include/btas/btas.h:13:
/usr/include/btas/generic/tuck_cp_als.h: In member function ‘void btas::TUCKER_CP_ALS<Tensor, ConvClass>::core_ALS_solver(size_t, typename btas::CP_ALS<Tensor, ConvClass>::ind_t, bool&, bool&, ConvClass&, double)’:
/usr/include/btas/generic/tuck_cp_als.h:244:7: error: ‘Range’ was not declared in this scope; did you mean ‘range’?
  244 |       Range R = core_tensor.range();
      |       ^~~~~
      |       range
/usr/include/btas/generic/tuck_cp_als.h:250:16: error: expected ‘)’ before ‘{’ token
  250 |           Range{Range1{last_dim ? core_tensor.extent(contract_dim) : LH_size / core_tensor.extent(contract_dim)},
      |                ^
/usr/include/btas/generic/tuck_cp_als.h:249:25: note: to match this ‘(’
  249 |       core_tensor.resize(
      |                         ^
/usr/include/btas/generic/tuck_cp_als.h:258:26: error: ‘R’ was not declared in this scope
  258 |       core_tensor.resize(R);
      |                          ^
/usr/include/btas/generic/tuck_cp_als.h:277:18: error: expected ‘)’ before ‘{’ token
  277 |             Range{Range1{idx1}, Range1{idx2}, Range1{pseudo_rank}});
      |                  ^
/usr/include/btas/generic/tuck_cp_als.h:276:18: note: to match this ‘(’
  276 |         An.resize(
      |                  ^
/usr/include/btas/generic/tuck_cp_als.h:316:24: error: expected ‘)’ before ‘{’ token
  316 |         An.resize(Range{Range1{idx1}, Range1{offset_dim}, Range1{rank}});
      |                        ^
/usr/include/btas/generic/tuck_cp_als.h:316:18: note: to match this ‘(’
  316 |         An.resize(Range{Range1{idx1}, Range1{offset_dim}, Range1{rank}});
      |                  ^
/usr/include/btas/generic/tuck_cp_als.h:317:37: error: expected ‘)’ before ‘{’ token
  317 |         Tensor contract_tensor(Range{Range1{offset_dim}, Range1{rank}});
      |                                     ^
/usr/include/btas/generic/tuck_cp_als.h:317:31: note: to match this ‘(’
  317 |         Tensor contract_tensor(Range{Range1{offset_dim}, Range1{rank}});
      |                               ^
In file included from /usr/include/btas/btas.h:14:
/usr/include/btas/generic/coupled_cp_als.h: In member function ‘void btas::COUPLED_CP_ALS<Tensor, ConvClass>::build(typename btas::CP<Tensor, ConvClass>::ind_t, ConvClass&, bool, typename btas::CP<Tensor, ConvClass>::ind_t, bool, typename btas::CP<Tensor, ConvClass>::ind_t, double&, bool, typename btas::CP<Tensor, ConvClass>::ind_t, bool&)’:
/usr/include/btas/generic/coupled_cp_als.h:266:23: error: ‘Range’ was not declared in this scope; did you mean ‘range’?
  266 |         Tensor lambda(Range{Range1{SVD_rank}});
      |                       ^~~~~
      |                       range
/usr/include/btas/generic/coupled_cp_als.h:286:22: error: ‘Range’ was not declared in this scope; did you mean ‘range’?
  286 |             Tensor a(Range{tensor_ref.range().range((left ? j : j - ndimL + 1)), Range1{rank_new}});
      |                      ^~~~~
      |                      range
/usr/include/btas/generic/coupled_cp_als.h:297:22: error: ‘Range’ was not declared in this scope; did you mean ‘range’?
  297 |             Tensor b(Range{A[0].range().range(0), Range1{rank_new}});
      |                      ^~~~~
      |                      range
/usr/include/btas/generic/coupled_cp_als.h:326:22: error: ‘Range’ was not declared in this scope; did you mean ‘range’?
  326 |           Tensor lam(Range{Range1{rank_new}});
      |                      ^~~~~
      |                      range
/usr/include/btas/generic/coupled_cp_als.h: In member function ‘void btas::COUPLED_CP_ALS<Tensor, ConvClass>::direct(size_t, typename btas::CP<Tensor, ConvClass>::ind_t, bool&, bool&, ConvClass&)’:
/usr/include/btas/generic/coupled_cp_als.h:444:29: error: ‘Range’ was not declared in this scope; did you mean ‘range’?
  444 |           tensor_ref.resize(Range{Range1{LHSsize}, Range1{contract_size}});
      |                             ^~~~~
      |                             range
/usr/include/btas/generic/coupled_cp_als.h:452:41: error: expected ‘)’ before ‘{’ token
  452 |             contract_tensor.resize(Range{Range1{LHSsize}, Range1{contract_size}, Range1{rank}});
      |                                         ^
/usr/include/btas/generic/coupled_cp_als.h:452:35: note: to match this ‘(’
  452 |             contract_tensor.resize(Range{Range1{LHSsize}, Range1{contract_size}, Range1{rank}});
      |                                   ^
/usr/include/btas/generic/coupled_cp_als.h:510:27: error: ‘Range’ was not declared in this scope; did you mean ‘range’?
  510 |         tensor_ref.resize(Range{Range1{contract_size}, Range1{LHSsize}});
      |                           ^~~~~
      |                           range
/usr/include/btas/generic/coupled_cp_als.h:520:39: error: expected ‘)’ before ‘{’ token
  520 |           contract_tensor.resize(Range{Range1{LHSsize}, Range1{contract_size}, Range1{pseudo_rank}});
      |                                       ^
/usr/include/btas/generic/coupled_cp_als.h:520:33: note: to match this ‘(’
  520 |           contract_tensor.resize(Range{Range1{LHSsize}, Range1{contract_size}, Range1{pseudo_rank}});
      |                                 ^
/usr/include/btas/generic/coupled_cp_als.h:552:37: error: expected ‘)’ before ‘{’ token
  552 |         contract_tensor.resize(Range{Range1{skip_dim}, Range1{rank}});
      |                                     ^
/usr/include/btas/generic/coupled_cp_als.h:552:31: note: to match this ‘(’
  552 |         contract_tensor.resize(Range{Range1{skip_dim}, Range1{rank}});
      |                               ^
In file included from /tmp/ivCM4t1qD6/dump1.h:55:
/usr/include/btas/optimize/contract.h: At global scope:
/usr/include/btas/optimize/contract.h:17:76: error: ‘index’ in namespace ‘btas::DEFAULT’ does not name a template type
   17 | void contract_211(const _T& alpha, const _TensorA& A, const btas::DEFAULT::index<_UA>& aA, const _TensorB& B, const btas::DEFAULT::index<_UB>& aB,
      |                                                                            ^~~~~
/usr/include/btas/optimize/contract.h:17:81: error: expected ‘,’ or ‘...’ before ‘<’ token
   17 | void contract_211(const _T& alpha, const _TensorA& A, const btas::DEFAULT::index<_UA>& aA, const _TensorB& B, const btas::DEFAULT::index<_UB>& aB,
      |                                                                                 ^
In file included from /usr/include/c++/12/cassert:44,
                 from /usr/include/btas/optimize/contract.h:7:
/usr/include/btas/optimize/contract.h: In function ‘void btas::contract_211(const _T&, const _TensorA&, int)’:
/usr/include/btas/optimize/contract.h:19:10: error: ‘aA’ was not declared in this scope; did you mean ‘A’?
   19 |   assert(aA.size() == 2 && aB.size() == 1 && aC.size() == 1);
      |          ^~
/usr/include/btas/optimize/contract.h:19:28: error: ‘aB’ was not declared in this scope
   19 |   assert(aA.size() == 2 && aB.size() == 1 && aC.size() == 1);
      |                            ^~
/usr/include/btas/optimize/contract.h:19:46: error: ‘aC’ was not declared in this scope
   19 |   assert(aA.size() == 2 && aB.size() == 1 && aC.size() == 1);
      |                                              ^~
/usr/include/btas/optimize/contract.h:20:52: error: ‘B’ was not declared in this scope
   20 |   assert(is_contiguous(A.range()) && is_contiguous(B.range()) && is_contiguous(C.range()));
      |                                                    ^
/usr/include/btas/optimize/contract.h:20:80: error: ‘C’ was not declared in this scope
   20 |   assert(is_contiguous(A.range()) && is_contiguous(B.range()) && is_contiguous(C.range()));
      |                                                                                ^
/usr/include/btas/optimize/contract.h:21:7: error: ‘conjgB’ was not declared in this scope
   21 |   if (conjgB) throw std::logic_error("complex conjugation of 1-index tensors is not considered in contract_211");
      |       ^~~~~~
/usr/include/btas/optimize/contract.h:24:18: error: ‘conjgA’ was not declared in this scope
   24 |   if (notrans && conjgA) throw std::logic_error("contract_211 not sure what to do");
      |                  ^~~~~~
/usr/include/btas/optimize/contract.h:26:44: error: ‘conjgA’ was not declared in this scope
   26 |   auto cA = notrans ? blas::Op::NoTrans : (conjgA ? blas::Op::ConjTrans : blas::Op::Trans);
      |                                            ^~~~~~
/usr/include/btas/optimize/contract.h:28:128: error: ‘beta’ was not declared in this scope; did you mean ‘std::beta’?
   28 |   gemv_impl<true>::call(blas::Layout::ColMajor, cA, A.extent(0), A.extent(1), alpha, &*A.begin(), A.extent(0), &*B.begin(), 1, beta, &*C.begin(), 1);
      |                                                                                                                                ^~~~
      |                                                                                                                                std::beta
In file included from /usr/include/c++/12/cmath:1935,
                 from /usr/include/c++/12/complex:44,
                 from /usr/include/btas/type_traits.h:5,
                 from /usr/include/btas/index_traits.h:8,
                 from /usr/include/btas/tensor_traits.h:7,
                 from /usr/include/btas/array_adaptor.h:17:
/usr/include/c++/12/bits/specfun.h:343:5: note: ‘std::beta’ declared here
  343 |     beta(_Tpa __a, _Tpb __b)
      |     ^~~~
/usr/include/btas/optimize/contract.h: At global scope:
/usr/include/btas/optimize/contract.h:35:76: error: ‘index’ in namespace ‘btas::DEFAULT’ does not name a template type
   35 | void contract_222(const _T& alpha, const _TensorA& A, const btas::DEFAULT::index<_UA>& aA, const _TensorB& B, const btas::DEFAULT::index<_UB>& aB,
      |                                                                            ^~~~~
/usr/include/btas/optimize/contract.h:35:81: error: expected ‘,’ or ‘...’ before ‘<’ token
   35 | void contract_222(const _T& alpha, const _TensorA& A, const btas::DEFAULT::index<_UA>& aA, const _TensorB& B, const btas::DEFAULT::index<_UB>& aB,
      |                                                                                 ^
/usr/include/btas/optimize/contract.h: In function ‘void btas::contract_222(const _T&, const _TensorA&, int)’:
/usr/include/btas/optimize/contract.h:38:10: error: ‘aA’ was not declared in this scope; did you mean ‘A’?
   38 |   assert(aA.size() == 2 && aB.size() == 2 && aC.size() == 2);
      |          ^~
/usr/include/btas/optimize/contract.h:38:28: error: ‘aB’ was not declared in this scope
   38 |   assert(aA.size() == 2 && aB.size() == 2 && aC.size() == 2);
      |                            ^~
/usr/include/btas/optimize/contract.h:38:46: error: ‘aC’ was not declared in this scope
   38 |   assert(aA.size() == 2 && aB.size() == 2 && aC.size() == 2);
      |                                              ^~
/usr/include/btas/optimize/contract.h:39:52: error: ‘B’ was not declared in this scope
   39 |   assert(is_contiguous(A.range()) && is_contiguous(B.range()) && is_contiguous(C.range()));
      |                                                    ^
/usr/include/btas/optimize/contract.h:39:80: error: ‘C’ was not declared in this scope
   39 |   assert(is_contiguous(A.range()) && is_contiguous(B.range()) && is_contiguous(C.range()));
      |                                                                                ^
/usr/include/btas/optimize/contract.h:44:21: error: ‘conjgA’ was not declared in this scope
   44 |     if (notransA && conjgA) throw std::logic_error("contract_211 not sure what to do (A)");
      |                     ^~~~~~
/usr/include/btas/optimize/contract.h:45:21: error: ‘conjgB’ was not declared in this scope
   45 |     if (notransB && conjgB) throw std::logic_error("contract_211 not sure what to do (B)");
      |                     ^~~~~~
/usr/include/btas/optimize/contract.h:47:59: error: ‘conjgA’ was not declared in this scope
   47 |     const auto   cA     = notransA ? blas::Op::NoTrans : (conjgA ? blas::Op::ConjTrans : blas::Op::Trans);
      |                                                           ^~~~~~
/usr/include/btas/optimize/contract.h:51:59: error: ‘conjgB’ was not declared in this scope
   51 |     const auto   cB     = notransB ? blas::Op::NoTrans : (conjgB ? blas::Op::ConjTrans : blas::Op::Trans);
      |                                                           ^~~~~~
/usr/include/btas/optimize/contract.h:55:86: error: ‘beta’ was not declared in this scope; did you mean ‘std::beta’?
   55 |                           alpha, &*A.begin(), A.extent(0), &*B.begin(), B.extent(0), beta, &*C.begin(), C.extent(0));
      |                                                                                      ^~~~
      |                                                                                      std::beta
/usr/include/c++/12/bits/specfun.h:343:5: note: ‘std::beta’ declared here
  343 |     beta(_Tpa __a, _Tpb __b)
      |     ^~~~
/usr/include/btas/optimize/contract.h:57:39: error: ‘beta’ was not declared in this scope; did you mean ‘std::beta’?
   57 |     contract_222(alpha, B, aB, A, aA, beta, C, aC, conjgB, conjgA);
      |                                       ^~~~
      |                                       std::beta
/usr/include/c++/12/bits/specfun.h:343:5: note: ‘std::beta’ declared here
  343 |     beta(_Tpa __a, _Tpb __b)
      |     ^~~~
/usr/include/btas/optimize/contract.h:57:52: error: ‘conjgB’ was not declared in this scope
   57 |     contract_222(alpha, B, aB, A, aA, beta, C, aC, conjgB, conjgA);
      |                                                    ^~~~~~
/usr/include/btas/optimize/contract.h:57:60: error: ‘conjgA’ was not declared in this scope
   57 |     contract_222(alpha, B, aB, A, aA, beta, C, aC, conjgB, conjgA);
      |                                                            ^~~~~~
/usr/include/btas/optimize/contract.h: At global scope:
/usr/include/btas/optimize/contract.h:65:76: error: ‘index’ in namespace ‘btas::DEFAULT’ does not name a template type
   65 | void contract_323(const _T& alpha, const _TensorA& A, const btas::DEFAULT::index<_UA>& aA, const _TensorB& B, const btas::DEFAULT::index<_UB>& aB,
      |                                                                            ^~~~~
/usr/include/btas/optimize/contract.h:65:81: error: expected ‘,’ or ‘...’ before ‘<’ token
   65 | void contract_323(const _T& alpha, const _TensorA& A, const btas::DEFAULT::index<_UA>& aA, const _TensorB& B, const btas::DEFAULT::index<_UB>& aB,
      |                                                                                 ^
/usr/include/btas/optimize/contract.h: In function ‘void btas::contract_323(const _T&, const _TensorA&, int)’:
/usr/include/btas/optimize/contract.h:67:10: error: ‘aA’ was not declared in this scope; did you mean ‘A’?
   67 |   assert(aA.size() == 3 && aB.size() == 2 && aC.size() == 3);
      |          ^~
/usr/include/btas/optimize/contract.h:67:28: error: ‘aB’ was not declared in this scope
   67 |   assert(aA.size() == 3 && aB.size() == 2 && aC.size() == 3);
      |                            ^~
/usr/include/btas/optimize/contract.h:67:46: error: ‘aC’ was not declared in this scope
   67 |   assert(aA.size() == 3 && aB.size() == 2 && aC.size() == 3);
      |                                              ^~
/usr/include/btas/optimize/contract.h:68:52: error: ‘B’ was not declared in this scope
   68 |   assert(is_contiguous(A.range()) && is_contiguous(B.range()) && is_contiguous(C.range()));
      |                                                    ^
/usr/include/btas/optimize/contract.h:68:80: error: ‘C’ was not declared in this scope
   68 |   assert(is_contiguous(A.range()) && is_contiguous(B.range()) && is_contiguous(C.range()));
      |                                                                                ^
/usr/include/btas/optimize/contract.h:69:7: error: ‘conjgA’ was not declared in this scope
   69 |   if (conjgA) throw std::logic_error("complex conjugation of 3-index tensors is not considered in contract_323");
      |       ^~~~~~
/usr/include/btas/optimize/contract.h:85:20: error: ‘conjgB’ was not declared in this scope
   85 |     if (notrans && conjgB) throw std::logic_error("contract_323 irot = 0 not sure what to do");
      |                    ^~~~~~
/usr/include/btas/optimize/contract.h:88:52: error: ‘conjgB’ was not declared in this scope
   88 |     const auto cB = notrans ? blas::Op::NoTrans : (conjgB ? blas::Op::ConjTrans : blas::Op::Trans);
      |                                                    ^~~~~~
/usr/include/btas/optimize/contract.h:92:86: error: ‘beta’ was not declared in this scope; did you mean ‘std::beta’?
   92 |                           alpha, &*B.begin(), B.extent(0), &*A.begin(), A.extent(0), beta, &*C.begin(), C.extent(0));
      |                                                                                      ^~~~
      |                                                                                      std::beta
/usr/include/c++/12/bits/specfun.h:343:5: note: ‘std::beta’ declared here
  343 |     beta(_Tpa __a, _Tpb __b)
      |     ^~~~
/usr/include/btas/optimize/contract.h:97:20: error: ‘conjgB’ was not declared in this scope
   97 |     if (notrans && conjgB) throw std::logic_error("contract_323 irot = 1 not sure what to do");
      |                    ^~~~~~
/usr/include/btas/optimize/contract.h:100:52: error: ‘conjgB’ was not declared in this scope
  100 |     const auto cB = notrans ? blas::Op::NoTrans : (conjgB ? blas::Op::ConjTrans : blas::Op::Trans);
      |                                                    ^~~~~~
/usr/include/btas/optimize/contract.h:107:97: error: ‘beta’ was not declared in this scope; did you mean ‘std::beta’?
  107 |                             alpha, &*A.begin()+i*ablock, A.extent(0), &*B.begin(), B.extent(0), beta, &*C.begin()+i*cblock, C.extent(0));
      |                                                                                                 ^~~~
      |                                                                                                 std::beta
/usr/include/c++/12/bits/specfun.h:343:5: note: ‘std::beta’ declared here
  343 |     beta(_Tpa __a, _Tpb __b)
      |     ^~~~
/usr/include/btas/optimize/contract.h:112:20: error: ‘conjgB’ was not declared in this scope
  112 |     if (notrans && conjgB) throw std::logic_error("contract_323 irot = 2 not sure what to do");
      |                    ^~~~~~
/usr/include/btas/optimize/contract.h:115:52: error: ‘conjgB’ was not declared in this scope
  115 |     const auto cB = notrans ? blas::Op::NoTrans : (conjgB ? blas::Op::ConjTrans : blas::Op::Trans);
      |                                                    ^~~~~~
/usr/include/btas/optimize/contract.h:118:98: error: ‘beta’ was not declared in this scope; did you mean ‘std::beta’?
  118 |                           alpha, &*A.begin(), A.extent(0)*A.extent(1), &*B.begin(), B.extent(0), beta, &*C.begin(), C.extent(0)*C.extent(1));
      |                                                                                                  ^~~~
      |                                                                                                  std::beta
/usr/include/c++/12/bits/specfun.h:343:5: note: ‘std::beta’ declared here
  343 |     beta(_Tpa __a, _Tpb __b)
      |     ^~~~
/usr/include/btas/optimize/contract.h: At global scope:
/usr/include/btas/optimize/contract.h:128:76: error: ‘index’ in namespace ‘btas::DEFAULT’ does not name a template type
  128 | void contract_332(const _T& alpha, const _TensorA& A, const btas::DEFAULT::index<_UA>& aA, const _TensorB& B, const btas::DEFAULT::index<_UB>& aB,
      |                                                                            ^~~~~
/usr/include/btas/optimize/contract.h:128:81: error: expected ‘,’ or ‘...’ before ‘<’ token
  128 | void contract_332(const _T& alpha, const _TensorA& A, const btas::DEFAULT::index<_UA>& aA, const _TensorB& B, const btas::DEFAULT::index<_UB>& aB,
      |                                                                                 ^
/usr/include/btas/optimize/contract.h: In function ‘void btas::contract_332(const _T&, const _TensorA&, int)’:
/usr/include/btas/optimize/contract.h:130:10: error: ‘aA’ was not declared in this scope; did you mean ‘A’?
  130 |   assert(aA.size() == 3 && aB.size() == 3 && aC.size() == 2);
      |          ^~
/usr/include/btas/optimize/contract.h:130:28: error: ‘aB’ was not declared in this scope
  130 |   assert(aA.size() == 3 && aB.size() == 3 && aC.size() == 2);
      |                            ^~
/usr/include/btas/optimize/contract.h:130:46: error: ‘aC’ was not declared in this scope
  130 |   assert(aA.size() == 3 && aB.size() == 3 && aC.size() == 2);
      |                                              ^~
/usr/include/btas/optimize/contract.h:131:52: error: ‘B’ was not declared in this scope
  131 |   assert(is_contiguous(A.range()) && is_contiguous(B.range()) && is_contiguous(C.range()));
      |                                                    ^
/usr/include/btas/optimize/contract.h:131:80: error: ‘C’ was not declared in this scope
  131 |   assert(is_contiguous(A.range()) && is_contiguous(B.range()) && is_contiguous(C.range()));
      |                                                                                ^
/usr/include/btas/optimize/contract.h:141:15: error: ‘conjgB’ was not declared in this scope
  141 |       assert(!conjgB);
      |               ^~~~~~
/usr/include/btas/optimize/contract.h:142:53: error: ‘conjgA’ was not declared in this scope
  142 |       gemm_impl<true>::call(blas::Layout::ColMajor, conjgA ? blas::Op::ConjTrans : blas::Op::Trans, blas::Op::NoTrans, C.extent(0), C.extent(1), A.extent(0)*A.extent(1),
      |                                                     ^~~~~~
/usr/include/btas/optimize/contract.h:143:112: error: ‘beta’ was not declared in this scope; did you mean ‘std::beta’?
  143 |                             alpha, &*A.begin(), A.extent(0)*A.extent(1), &*B.begin(), B.extent(0)*B.extent(1), beta, &*C.begin(), C.extent(0));
      |                                                                                                                ^~~~
      |                                                                                                                std::beta
/usr/include/c++/12/bits/specfun.h:343:5: note: ‘std::beta’ declared here
  343 |     beta(_Tpa __a, _Tpb __b)
      |     ^~~~
/usr/include/btas/optimize/contract.h:146:15: error: ‘conjgA’ was not declared in this scope
  146 |       assert(!conjgA);
      |               ^~~~~~
/usr/include/btas/optimize/contract.h:147:53: error: ‘conjgB’ was not declared in this scope
  147 |       gemm_impl<true>::call(blas::Layout::ColMajor, conjgB ? blas::Op::ConjTrans : blas::Op::Trans, blas::Op::NoTrans, C.extent(0), C.extent(1), A.extent(0)*A.extent(1),
      |                                                     ^~~~~~
/usr/include/btas/optimize/contract.h:148:112: error: ‘beta’ was not declared in this scope; did you mean ‘std::beta’?
  148 |                             alpha, &*B.begin(), B.extent(0)*B.extent(1), &*A.begin(), A.extent(0)*A.extent(1), beta, &*C.begin(), C.extent(0));
      |                                                                                                                ^~~~
      |                                                                                                                std::beta
/usr/include/c++/12/bits/specfun.h:343:5: note: ‘std::beta’ declared here
  343 |     beta(_Tpa __a, _Tpb __b)
      |     ^~~~
/usr/include/btas/optimize/contract.h:155:15: error: ‘conjgA’ was not declared in this scope
  155 |       assert(!conjgA);
      |               ^~~~~~
/usr/include/btas/optimize/contract.h:156:72: error: ‘conjgB’ was not declared in this scope
  156 |       gemm_impl<true>::call(blas::Layout::ColMajor, blas::Op::NoTrans, conjgB ? blas::Op::ConjTrans : blas::Op::Trans, C.extent(0), C.extent(1), A.extent(1)*A.extent(2),
      |                                                                        ^~~~~~
/usr/include/btas/optimize/contract.h:157:88: error: ‘beta’ was not declared in this scope; did you mean ‘std::beta’?
  157 |                             alpha, &*A.begin(), A.extent(0), &*B.begin(), B.extent(0), beta, &*C.begin(), C.extent(0));
      |                                                                                        ^~~~
      |                                                                                        std::beta
/usr/include/c++/12/bits/specfun.h:343:5: note: ‘std::beta’ declared here
  343 |     beta(_Tpa __a, _Tpb __b)
      |     ^~~~
/usr/include/btas/optimize/contract.h:160:15: error: ‘conjgB’ was not declared in this scope
  160 |       assert(!conjgB);
      |               ^~~~~~
/usr/include/btas/optimize/contract.h:161:72: error: ‘conjgA’ was not declared in this scope
  161 |       gemm_impl<true>::call(blas::Layout::ColMajor, blas::Op::NoTrans, conjgA ? blas::Op::ConjTrans : blas::Op::Trans, C.extent(0), C.extent(1), A.extent(1)*A.extent(2),
      |                                                                        ^~~~~~
/usr/include/btas/optimize/contract.h:162:88: error: ‘beta’ was not declared in this scope; did you mean ‘std::beta’?
  162 |                             alpha, &*B.begin(), B.extent(0), &*A.begin(), A.extent(0), beta, &*C.begin(), C.extent(0));
      |                                                                                        ^~~~
      |                                                                                        std::beta
/usr/include/c++/12/bits/specfun.h:343:5: note: ‘std::beta’ declared here
  343 |     beta(_Tpa __a, _Tpb __b)
      |     ^~~~
/usr/include/btas/optimize/contract.h:169:20: error: ‘beta’ was not declared in this scope; did you mean ‘std::beta’?
  169 |     scal(C.size(), beta, &*C.begin(), 1);
      |                    ^~~~
      |                    std::beta
/usr/include/c++/12/bits/specfun.h:343:5: note: ‘std::beta’ declared here
  343 |     beta(_Tpa __a, _Tpb __b)
      |     ^~~~
/usr/include/btas/optimize/contract.h:172:15: error: ‘conjgB’ was not declared in this scope
  172 |       assert(!conjgB);
      |               ^~~~~~
/usr/include/btas/optimize/contract.h:174:55: error: ‘conjgA’ was not declared in this scope
  174 |         gemm_impl<true>::call(blas::Layout::ColMajor, conjgA ? blas::Op::ConjTrans : blas::Op::Trans, blas::Op::NoTrans, C.extent(0), C.extent(1), A.extent(0),
      |                                                       ^~~~~~
/usr/include/btas/optimize/contract.h:178:15: error: ‘conjgA’ was not declared in this scope
  178 |       assert(!conjgA);
      |               ^~~~~~
/usr/include/btas/optimize/contract.h:180:55: error: ‘conjgB’ was not declared in this scope
  180 |         gemm_impl<true>::call(blas::Layout::ColMajor, conjgB ? blas::Op::ConjTrans : blas::Op::Trans, blas::Op::NoTrans, C.extent(0), C.extent(1), A.extent(0),
      |                                                       ^~~~~~
/usr/include/btas/optimize/contract.h: At global scope:
/usr/include/btas/optimize/contract.h:207:45: error: ‘index’ in namespace ‘btas::DEFAULT’ does not name a template type
  207 |     const _TensorA& A, const btas::DEFAULT::index<_UA>& aA,
      |                                             ^~~~~
/usr/include/btas/optimize/contract.h:207:50: error: expected ‘,’ or ‘...’ before ‘<’ token
  207 |     const _TensorA& A, const btas::DEFAULT::index<_UA>& aA,
      |                                                  ^
/usr/include/btas/optimize/contract.h: In function ‘void btas::contract(const _T&, const _TensorA&, int)’:
/usr/include/btas/optimize/contract.h:214:22: error: ‘aA’ was not declared in this scope; did you mean ‘A’?
  214 |   assert(A.rank() == aA.size());
      |                      ^~
/usr/include/btas/optimize/contract.h:215:10: error: ‘B’ was not declared in this scope
  215 |   assert(B.rank() == aB.size());
      |          ^
/usr/include/btas/optimize/contract.h:215:22: error: ‘aB’ was not declared in this scope
  215 |   assert(B.rank() == aB.size());
      |                      ^~
/usr/include/btas/optimize/contract.h:216:10: error: ‘C’ was not declared in this scope
  216 |   assert(C.rank() == aC.size());
      |          ^
/usr/include/btas/optimize/contract.h:216:22: error: ‘aC’ was not declared in this scope
  216 |   assert(C.rank() == aC.size());
      |                      ^~
/usr/include/btas/optimize/contract.h:219:39: error: ‘beta’ was not declared in this scope; did you mean ‘std::beta’?
  219 |     contract_211(alpha, A, aA, B, aB, beta, C, aC, conjgA, conjgB);
      |                                       ^~~~
      |                                       std::beta
/usr/include/c++/12/bits/specfun.h:343:5: note: ‘std::beta’ declared here
  343 |     beta(_Tpa __a, _Tpb __b)
      |     ^~~~
/usr/include/btas/optimize/contract.h:219:52: error: ‘conjgA’ was not declared in this scope
  219 |     contract_211(alpha, A, aA, B, aB, beta, C, aC, conjgA, conjgB);
      |                                                    ^~~~~~
/usr/include/btas/optimize/contract.h:219:60: error: ‘conjgB’ was not declared in this scope
  219 |     contract_211(alpha, A, aA, B, aB, beta, C, aC, conjgA, conjgB);
      |                                                            ^~~~~~
/usr/include/btas/optimize/contract.h:221:39: error: ‘beta’ was not declared in this scope; did you mean ‘std::beta’?
  221 |     contract_211(alpha, B, aB, A, aA, beta, C, aC, conjgB, conjgA);
      |                                       ^~~~
      |                                       std::beta
/usr/include/c++/12/bits/specfun.h:343:5: note: ‘std::beta’ declared here
  343 |     beta(_Tpa __a, _Tpb __b)
      |     ^~~~
/usr/include/btas/optimize/contract.h:221:52: error: ‘conjgB’ was not declared in this scope
  221 |     contract_211(alpha, B, aB, A, aA, beta, C, aC, conjgB, conjgA);
      |                                                    ^~~~~~
/usr/include/btas/optimize/contract.h:221:60: error: ‘conjgA’ was not declared in this scope
  221 |     contract_211(alpha, B, aB, A, aA, beta, C, aC, conjgB, conjgA);
      |                                                            ^~~~~~
/usr/include/btas/optimize/contract.h:223:39: error: ‘beta’ was not declared in this scope; did you mean ‘std::beta’?
  223 |     contract_222(alpha, A, aA, B, aB, beta, C, aC, conjgA, conjgB);
      |                                       ^~~~
      |                                       std::beta
/usr/include/c++/12/bits/specfun.h:343:5: note: ‘std::beta’ declared here
  343 |     beta(_Tpa __a, _Tpb __b)
      |     ^~~~
/usr/include/btas/optimize/contract.h:223:52: error: ‘conjgA’ was not declared in this scope
  223 |     contract_222(alpha, A, aA, B, aB, beta, C, aC, conjgA, conjgB);
      |                                                    ^~~~~~
/usr/include/btas/optimize/contract.h:223:60: error: ‘conjgB’ was not declared in this scope
  223 |     contract_222(alpha, A, aA, B, aB, beta, C, aC, conjgA, conjgB);
      |                                                            ^~~~~~
/usr/include/btas/optimize/contract.h:225:39: error: ‘beta’ was not declared in this scope; did you mean ‘std::beta’?
  225 |     contract_323(alpha, A, aA, B, aB, beta, C, aC, conjgA, conjgB);
      |                                       ^~~~
      |                                       std::beta
/usr/include/c++/12/bits/specfun.h:343:5: note: ‘std::beta’ declared here
  343 |     beta(_Tpa __a, _Tpb __b)
      |     ^~~~
/usr/include/btas/optimize/contract.h:225:52: error: ‘conjgA’ was not declared in this scope
  225 |     contract_323(alpha, A, aA, B, aB, beta, C, aC, conjgA, conjgB);
      |                                                    ^~~~~~
/usr/include/btas/optimize/contract.h:225:60: error: ‘conjgB’ was not declared in this scope
  225 |     contract_323(alpha, A, aA, B, aB, beta, C, aC, conjgA, conjgB);
      |                                                            ^~~~~~
/usr/include/btas/optimize/contract.h:227:39: error: ‘beta’ was not declared in this scope; did you mean ‘std::beta’?
  227 |     contract_323(alpha, B, aB, A, aA, beta, C, aC, conjgB, conjgA);
      |                                       ^~~~
      |                                       std::beta
/usr/include/c++/12/bits/specfun.h:343:5: note: ‘std::beta’ declared here
  343 |     beta(_Tpa __a, _Tpb __b)
      |     ^~~~
/usr/include/btas/optimize/contract.h:227:52: error: ‘conjgB’ was not declared in this scope
  227 |     contract_323(alpha, B, aB, A, aA, beta, C, aC, conjgB, conjgA);
      |                                                    ^~~~~~
/usr/include/btas/optimize/contract.h:227:60: error: ‘conjgA’ was not declared in this scope
  227 |     contract_323(alpha, B, aB, A, aA, beta, C, aC, conjgB, conjgA);
      |                                                            ^~~~~~
/usr/include/btas/optimize/contract.h:229:39: error: ‘beta’ was not declared in this scope; did you mean ‘std::beta’?
  229 |     contract_332(alpha, A, aA, B, aB, beta, C, aC, conjgA, conjgB);
      |                                       ^~~~
      |                                       std::beta
/usr/include/c++/12/bits/specfun.h:343:5: note: ‘std::beta’ declared here
  343 |     beta(_Tpa __a, _Tpb __b)
      |     ^~~~
/usr/include/btas/optimize/contract.h:229:52: error: ‘conjgA’ was not declared in this scope
  229 |     contract_332(alpha, A, aA, B, aB, beta, C, aC, conjgA, conjgB);
      |                                                    ^~~~~~
/usr/include/btas/optimize/contract.h:229:60: error: ‘conjgB’ was not declared in this scope
  229 |     contract_332(alpha, A, aA, B, aB, beta, C, aC, conjgA, conjgB);
      |                                                            ^~~~~~
/usr/include/btas/optimize/contract.h: In function ‘void btas::contract(const _T&, const _TensorA&, std::initializer_list<_UA>, const _TensorB&, std::initializer_list<_UB>, const _T&, _TensorC&, std::initializer_list<_UC>, bool, bool)’:
/usr/include/btas/optimize/contract.h:261:44: error: ‘index’ is not a member of ‘btas::DEFAULT’
  261 |   return contract(alpha, A, btas::DEFAULT::index<_UA>{aA},
      |                                            ^~~~~
/usr/include/btas/optimize/contract.h:261:53: error: expected primary-expression before ‘>’ token
  261 |   return contract(alpha, A, btas::DEFAULT::index<_UA>{aA},
      |                                                     ^
/usr/include/btas/optimize/contract.h:261:54: error: expected primary-expression before ‘{’ token
  261 |   return contract(alpha, A, btas::DEFAULT::index<_UA>{aA},
      |                                                      ^
/usr/include/btas/optimize/contract.h:262:44: error: ‘index’ is not a member of ‘btas::DEFAULT’
  262 |                          B, btas::DEFAULT::index<_UB>{aB},
      |                                            ^~~~~
/usr/include/btas/optimize/contract.h:262:53: error: expected primary-expression before ‘>’ token
  262 |                          B, btas::DEFAULT::index<_UB>{aB},
      |                                                     ^
/usr/include/btas/optimize/contract.h:262:54: error: expected primary-expression before ‘{’ token
  262 |                          B, btas::DEFAULT::index<_UB>{aB},
      |                                                      ^
/usr/include/btas/optimize/contract.h:263:44: error: ‘index’ is not a member of ‘btas::DEFAULT’
  263 |                    beta, C, btas::DEFAULT::index<_UC>{aC}, conjgA, conjgB);
      |                                            ^~~~~
/usr/include/btas/optimize/contract.h:263:53: error: expected primary-expression before ‘>’ token
  263 |                    beta, C, btas::DEFAULT::index<_UC>{aC}, conjgA, conjgB);
      |                                                     ^
/usr/include/btas/optimize/contract.h:263:54: error: expected primary-expression before ‘{’ token
  263 |                    beta, C, btas::DEFAULT::index<_UC>{aC}, conjgA, conjgB);
      |                                                      ^
In file included from /tmp/ivCM4t1qD6/dump1.h:75:
/usr/include/btas/util/mohndle.h: In member function ‘void btas::mohndle<Storage, DefaultHandle, <template-parameter-1-3> >::serialize(Archive&, unsigned int)’:
/usr/include/btas/util/mohndle.h:234:50: error: ‘boost’ was not declared in this scope
  234 |       constexpr bool writing = std::is_base_of_v<boost::archive::detail::basic_oarchive, Archive>;
      |                                                  ^~~~~
/usr/include/btas/util/mohndle.h:234:37: error: parse error in template argument list
  234 |       constexpr bool writing = std::is_base_of_v<boost::archive::detail::basic_oarchive, Archive>;
      |                                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
/usr/include/btas/util/mohndle.h: In static member function ‘static Archive& btas::mohndle<Storage, DefaultHandle, <template-parameter-1-3> >::variant_load_impl(Archive&, std::variant<Ts ...>&, std::size_t, std::index_sequence<I0, Is ...>)’:
/usr/include/btas/util/mohndle.h:273:50: error: ‘boost’ was not declared in this scope
  273 |       constexpr bool writing = std::is_base_of_v<boost::archive::detail::basic_oarchive, Archive>;
      |                                                  ^~~~~
/usr/include/btas/util/mohndle.h:273:37: error: parse error in template argument list
  273 |       constexpr bool writing = std::is_base_of_v<boost::archive::detail::basic_oarchive, Archive>;
      |                                     ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

